|
|
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Тема не совсем про Java, но мне почему то все равно хочется задать его в этой ветке. Допустим мы все нижесказанное будет относиться к кровавому java энтерпрайзу. В последние годы наблюдаю несколько трендов, которые по ощущениям даже немного противоречат друг другу. Первый из них это выделение фронт-энд в целую отдельную нишу со своим стеком технологий и т.д., второй тренд это стремление к различным микросервисам, где вроде как наоборот пропагандируются кросс-функциональные компетенции. Интересует мнение, кто какой вариант считает более верным? Наиболее подходящим для энтерпрайз проектов? Или возможно я что то не верно понимаю? Интересует в том плане в каком направлении развиваться самому / развивать проект (как следствие развивать команду)? Универсальные бойцы или узкие специализации front/server/db? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 13:57 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
just_vladimirИнтересует в том плане в каком направлении развиваться самому / развивать проект (как следствие развивать команду)? Универсальные бойцы или узкие специализации front/server/db? Я всегда за специалистов широкого спектра. Я несколько раз наблюдал команды со строгим разделением ролей. И, когда, 5 человек пилит каждую фичу, это жопа. Вася запилил морду и ждет Петю, который должен написать сервис, Ване некогда добавить поле в таблицу, он занят. И все друг на друга показывают пальцем в случае чего. А когда Ваня уходит в отпуск, то всё, приплыли. Нужно уговаривать кого-то написать SQL скрипт. В своей команде я всегда назначал фичу на человека целиком. В результате человек разбирался во всём проекте. Конечно, со временем возникает некоторая специализация, и кто-то в большей степени отвечает за UI чем за SQL. Но специализация должна быть размытой, а ответственность за фичу - конкретной. В противном случае, может оказаться что ответственность размыта, в специализация очень конкретная и, посему, узкая. И в этом нет ничего хорошего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 14:06 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, если это стек технологий в стиле UI на JSF или GWT или что-нибудь не очень хитрое на базе пары jQuery компонент, нехитрый серверный код (без заморочек на j/u/c) + работа с базой через JPA, то вопросов нет. А если будет стек технологий, когда одновременно лабают UI на TypeScript+Angular 2, но при этом если что нужно и подправить PL/SQL процедурку на сотню-другую строчек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 14:35 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Узкие и широкие . Что касается технологий, то с моей кочки зрения, наблюдается некий "кризис жанра" - все пытаются бежать ещё быстрее, чтобы только остаться на месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 14:41 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
just_vladimirесли это стек технологий в стиле UI на JSF или GWT или что-нибудь не очень хитрое на базе пары jQuery компонент, нехитрый серверный код (без заморочек на j/u/c) + работа с базой через JPA, то вопросов нет. А если будет стек технологий, когда одновременно лабают UI на TypeScript+Angular 2, но при этом если что нужно и подправить PL/SQL процедурку на сотню-другую строчек? Мысль верная, но пример, конечно, так себе. Я, например, и на Flex/ActionScript писал. И на T-SQL ваял хранимки на несколько экранов. И TypeScript не без удовольствия попробовал бы. Нужды не было. Из коллег Java-программистов почти никто iOS/Android/Angular не чурается. А некоторые даже получили сертификат Oracle DBA. Но, конечно, UX эксперт или дизайнер и DBA это очень слабо коррелирующие специализации. Но и к программированию они относятся мало. Поэтому, если оставаться в рамках программирования, то я не вижу никаких ограничений в широкой специализации. А вот если выйти за рамки программирования, на весь IT и дальше, то очевидно, что у ширины специализации всегда есть предел. У кого-то он меньше, у кого-то больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 15:26 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 15:27 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Доказательство требует очень чёткой организации команды и некоторых доп.условий. Обычно, проще иметь группу "умеренно широких" специалистов, чем пытаться создать идеально сыгранный оркестр из узких. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 15:30 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovДоказательство требует очень чёткой организации команды и некоторых доп.условий. Обычно, проще иметь группу "умеренно широких" специалистов, чем пытаться создать идеально сыгранный оркестр из узких. То есть, если команда широких специалистов способна к некоторой самоорганизации, то для орекстрирования узкими специалистами нужны дополнительные затраты на менеджмент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 15:34 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Не только - в вашем же примере, узкий SQL-специалист, прежде чем создать таблицу, обязан поинтересоваться: какая, собственно, задача решается. По результатам обсуждения может быть предложен более эффективный вариант. А может и не быть. Я бы сказал, что это часть более общей проблемы: надо ли изначально закладывать затраты на "эффективную разработку", если, обычно, "и так сойдёт". Причём - неплохо сойдёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 15:47 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
У нас микросервисы и специализация. По сути система из 3х основных сервисов-слоев, каждую фичу пилит 3 человека. Нас это мало волнует, потому что мы никуда не спешим. Я думаю сильно зависит от системы. На мой взгляд, оптимальный вариант, это когда специализация есть и не вызывает проблем. Обычно для этого требуется, чтобы сервис имел целостный АПИ и его можно было переиспользовать для разных будующих кейсов без необходимости постоянно вносить изменения в сервис. Если любая фича требует внесения изменений во все существующие сервисы, то возможно это никакие не сервисы, а просто систему попилили на связанные части (на практике обычно так и есть :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 15:57 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
just_vladimirУниверсальные бойцы или узкие специализации front/server/db? не в той плоскости вопрос. Управление проектом это одно. А архитектура это другое. Скажу больше по архитектуре, а не по людям). ... Сейчас IMHO фреймворк определяет как мы пишем. А вот если мы сами пишем свой фреймворк (изобретаем "микросервисы") то я их нигде не видел. Вроде обычные у всех решения. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 22:02 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
just_vladimirВ последние годы наблюдаю несколько трендов, которые по ощущениям даже немного противоречат друг другу. Первый из них это выделение фронт-энд в целую отдельную нишу со своим стеком технологий и т.д., второй тренд это стремление к различным микросервисам, где вроде как наоборот пропагандируются кросс-функциональные компетенции. Вот хоть убей не вижу противоречия. Наоборот эти вещи неразрывно связаны. Грубо говоря back-end`щик пишет микросервис на своем любимом ЯП. Создает API (например REST API) для взаимодействия с микросеврсом. А front-end`щик на своем любимом JS-фреймворке рисует "морду" к данному микросервису. Все довольный. Никто ни от кого сильно не зависит. Тесты те же писать одно удовольствие. back-end рисует свои тесты, для проверки правильности работы API, а front-end свои. Засада, как обычно в "деталях". Спроектировать API взаимодействия front-end и back-end не совсем тривиальная задача. Особенно когда бизнес-логика не тривиальная. Вот тогда начинается "футбол" м/у front-end и back-end, за то кто и где будет писать эту логику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 06:40 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
И все забыли про первое сообщение "... где вроде как наоборот пропагандируются кросс-функциональные компетенции." Т.е. всё логично- вот мы пилим дополнение к большой системе. Там, как принято, веб-UI на javascript. Отдельные микросервисы на java. Вот и получается- что да, мы хорошо отделены от остальной части, общаемся только через rest-api, у себя моки, заглушки и т.п. Но веб-морда - всё пишет отдельный человек. Он может у нас что-то править, а вот мы у него- не можем. И дело даже не в том, что javascript для всех видится невнятной кашей букв, но и в том, что веб-морда по сути один большой кусок... кода. И править его никто из нас не готов. Становится js-разработчиками желания нет- хватает своих обязанностей и нужных знаний. Так что получается такая забавная структура- каждая команда делает кусок бэкенда, а отдельная команда- весь UI. Потому что пользователю пофиг, где у нас там стыки микросервисов- он хочет видить один сайт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 11:11 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazguljust_vladimirВ последние годы наблюдаю несколько трендов, которые по ощущениям даже немного противоречат друг другу. Первый из них это выделение фронт-энд в целую отдельную нишу со своим стеком технологий и т.д., второй тренд это стремление к различным микросервисам, где вроде как наоборот пропагандируются кросс-функциональные компетенции. Вот хоть убей не вижу противоречия. Наоборот эти вещи неразрывно связаны. He вот читаю я статью Фаулера (умный мужик говорят, обычно знает что пишет): http://martinfowler.com/articles/microservices.html Organized around Business Capabilities When looking to split a large application into parts, often management focuses on the technology layer, leading to UI teams, server-side logic teams, and database teams. When teams are separated along these lines, even simple changes can lead to a cross-team project taking time and budgetary approval. A smart team will optimise around this and plump for the lesser of two evils - just force the logic into whichever application they have access to. Logic everywhere in other words. This is an example of Conway's Law[5] in action. Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. -- Melvyn Conway, 1967 Figure 2 Figure 2: Conway's Law in action The microservice approach to division is different, splitting up into services organized around business capability. Such services take a broad-stack implementation of software for that business area, including user-interface, persistant storage, and any external collaborations. Consequently the teams are cross-functional, including the full range of skills required for the development: user-experience, database, and project management. Может конечно у меня с английским как то не очень? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 11:33 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Alexey TominИ все забыли про первое сообщение "... где вроде как наоборот пропагандируются кросс-функциональные компетенции." Т.е. всё логично- вот мы пилим дополнение к большой системе. Там, как принято, веб-UI на javascript. Отдельные микросервисы на java. Вот и получается- что да, мы хорошо отделены от остальной части, общаемся только через rest-api, у себя моки, заглушки и т.п. Но веб-морда - всё пишет отдельный человек. Он может у нас что-то править, а вот мы у него- не можем. И дело даже не в том, что javascript для всех видится невнятной кашей букв, но и в том, что веб-морда по сути один большой кусок... кода. И править его никто из нас не готов. Становится js-разработчиками желания нет- хватает своих обязанностей и нужных знаний. Так что получается такая забавная структура- каждая команда делает кусок бэкенда, а отдельная команда- весь UI. Потому что пользователю пофиг, где у нас там стыки микросервисов- он хочет видить один сайт. Все верно, об этом и речь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 11:35 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Petro123Управление проектом это одно. А архитектура это другое. Скажу больше по архитектуре, а не по людям) Не верите в закон Конвея? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 11:39 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazgulВот тогда начинается "футбол" м/у front-end и back-end, за то кто и где будет писать эту логику. А это решается просто- за каждую фичу есть один ответственный, который распределяет задачи. Если начинается футбол, то пас даёт ответственный без права перепаса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 11:56 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
just_vladimirmad_nazgulпропущено... Вот хоть убей не вижу противоречия. Наоборот эти вещи неразрывно связаны. He вот читаю я статью Фаулера (умный мужик говорят, обычно знает что пишет): ... Может конечно у меня с английским как то не очень? Правильно пишет. Но это если кто-то пишет один микросервис. То да, он и швец, и жнец, и на дуде игрец. Но если использовать микросервисную архитектуру, то разработка не вполне может свестись к тому что вы привели в первом абзаце. Кто-то делает микросервисы, а кто-то рисует к ним GUI. Так что микросервисная архитектура все равно подвержена закону Конвея ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 13:06 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Alexey Tominmad_nazgulВот тогда начинается "футбол" м/у front-end и back-end, за то кто и где будет писать эту логику. А это решается просто- за каждую фичу есть один ответственный, который распределяет задачи. Если начинается футбол, то пас даёт ответственный без права перепаса Ну сам не сталкивался, но коллеги имели много проблем. Бак-енд написал несколько сервисов (услуги) Фронт-енд нарисовал к ним GUI (с валидацией, аутентифкацией и пр). Потом пришло ТЗ сделать услугу, которая является композицией нескольких услуг. Т.к. почти все услуги асинхронные, и должны выполнятся в определенном порядке, причем время отклика некоторых услуг могла исчисляться днями. То тут началось веселье. По идее сервисы для всех услуг есть. Но использовать их в композиции напрямую нельзя, т.к. важно состояние. Поначалу был "футбол", потом когда разобрались, пришлось потеть всем и back-end`у и front-end`у. В общем микросервисы это хорошо. Но они не "серебрянная пуля". Т.к. взаимодействие м/у микросервисами может вызвать "комбинаторный взрыв". И да, теперь я с опаской отношусь к асинхронному взаимодействию. Т.к. он усложняет задачу как минимум в два раза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 13:19 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazgulИ да, теперь я с опаской отношусь к асинхронному взаимодействию. Самое веселое это отладка, когда у тебя на один use case более трех асинхронных методов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 13:21 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
just_vladimirНе верите в закон Конвея? дак всё таки вопрос в управлении проектами? Есть более простой аналог Конвея - фраза: "Пишите на том что знаете". Эту фразу все программисты знают. С другой стороны, я верю в личность Архитектора или руководителя проектов. Если они - личность и рулят проектом, то и микросервисы будут положительные. Если нет, то красивое слово микросервисы только угробят проект. Раньше вместо микросервисов можно было сказать что слабая связанность модулей угробила проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 23:22 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazgulПравильно пишет. Но это если кто-то пишет один микросервис. То да, он и швец, и жнец, и на дуде игрец. Но если использовать микросервисную архитектуру, то разработка не вполне может свестись к тому что вы привели в первом абзаце. Кто-то делает микросервисы, а кто-то рисует к ним GUI. Так что микросервисная архитектура все равно подвержена закону Конвея ;-) Я-бы проголосовал ЗА микросервисную архитектуру т.к. я в ней вижу возможности условного разнесения логики на отдельные независимые части (акторы) и выделение каналов микросервисов - как потоков месседжей между акторами. Про классической (монолитной) архитектуре когда ПО разрабатывается так что оно работает либо на кластере (со всеми вытекающими - штормы событий, жесткие требования по идентичности конфигураций, сложные и неоднозначные механизмы синхронизации общей памяти, split-brain, и невозможность включать или исключать узлы на ходу) либо на просто очень мощной и дорогой железке которая тоже имеет естесвтенные (природные ограничения) по частоте тактового генератора. Монолитное ПО обычно обновляется единоразово с остановом сервиса. Оно - критично. Его нельзя трогать. Над ним трясутся. И сдувают пыль. Микросервисное ПО (я надеюсь) будет не только синхронным но и асинхронным что открывает новые возможности по организации процессов обработки данных. А само по себе ТЗ которое требует единой точки входа и единого "дирижера" вроде механизма транзакций и требований по ACID нужно просто пересматривать с точки зрения законов развития естественого мира. Под развитием я подразумеваю сроки порядка 10-100 лет. Никто не сможет построить полностью синхронное ПО в условиях коммуникации нескольких планет солнечной системы. У нас нет физических сред где можно генерировать такты. Мы сможем строить только потоки данных. Причем односторонние. Разумеется я не говорю что обычные архитектуры будут не нужны. Они нужны. Просто их надо пересмотреть с точки зрения ближнего и далекого будущего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 23:56 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
maytonmad_nazgulПравильно пишет. Но это если кто-то пишет один микросервис. То да, он и швец, и жнец, и на дуде игрец. Но если использовать микросервисную архитектуру, то разработка не вполне может свестись к тому что вы привели в первом абзаце. Кто-то делает микросервисы, а кто-то рисует к ним GUI. Так что микросервисная архитектура все равно подвержена закону Конвея ;-) Я-бы проголосовал ЗА микросервисную архитектуру т.к. я в ней вижу возможности условного разнесения логики на отдельные независимые части (акторы) и выделение каналов микросервисов - как потоков месседжей между акторами. Я тоже за "микросервисную" архитектуру, т.к. она позволяет собрать сложную систему из не сложных компонентов. Но проблема в том, что сложность никуда не девается. Она переходит во взаимодействие м/у компонентами. Что налагает большую ответственность на разработку API микросервисов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2016, 06:37 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
just_vladimirТема не совсем про Java, но мне почему то все равно хочется задать его в этой ветке. Допустим мы все нижесказанное будет относиться к кровавому java энтерпрайзу. В последние годы наблюдаю несколько трендов, которые по ощущениям даже немного противоречат друг другу. Первый из них это выделение фронт-энд в целую отдельную нишу со своим стеком технологий и т.д., второй тренд это стремление к различным микросервисам, где вроде как наоборот пропагандируются кросс-функциональные компетенции. Интересует мнение, кто какой вариант считает более верным? Наиболее подходящим для энтерпрайз проектов? Или возможно я что то не верно понимаю? Интересует в том плане в каком направлении развиваться самому / развивать проект (как следствие развивать команду)? Универсальные бойцы или узкие специализации front/server/db? Вообще сейчас явно наметился тренд Cloud + Machine Learning - все остальное по баблу резко уступает здесь в Долине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2016, 06:46 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazgulmaytonпропущено... Я-бы проголосовал ЗА микросервисную архитектуру т.к. я в ней вижу возможности условного разнесения логики на отдельные независимые части (акторы) и выделение каналов микросервисов - как потоков месседжей между акторами. Я тоже за "микросервисную" архитектуру, т.к. она позволяет собрать сложную систему из не сложных компонентов. Но проблема в том, что сложность никуда не девается. Она переходит во взаимодействие м/у компонентами. Что налагает большую ответственность на разработку API микросервисов. Верная мысль насчет сложности. Мне пришлось работать как-то в проекте из 50 чел. Разработка была разбита на команды по 5-7 чел. Работали по Ajile. Времени на освоение кода почти не было. (знакомая ситуация) Шла разведка боем. До этого. Я заметил что возникает miss comunications и одна команда не знает чем занята другая. Разумеется борды с тикетами публиковались но очевидно этого было недостаточно. Формат митингов не позволял собрать все 50 чел. Кроме того часть людей были в другом часовом поясе. Вобщем к чему я это все. Разделение проекта на независимые части и выделение интерфейса между ними как единого протокола связи - неизбежное явление. Если проект одномодульный и связи в нем - как спагетти то этот код неизбежно будет утерян к осмыслению. Не будет на проекте ни одного гуру или знатока который знает все. И если тренд на микро-сервисность помогает переосмыслить важность и значимость интрефейсов (один пункт в философии SOLID) то я еще раз голосую +1 за микросервисность. Кстати в тему сложности на хабре лежит новая статья. https://habrahabr.ru/post/310782/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2016, 08:52 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazgulПо идее сервисы для всех услуг есть. Но использовать их в композиции напрямую нельзя, т.к. важно состояние. Поначалу был "футбол", потом когда разобрались, пришлось потеть всем и back-end`у и front-end`у. Ещё раз- ответственный за фичу. Он решает, он отвечает. Но исполнитель должен иметь возможность объяснить проблему (качество кадров). mad_nazgulИ да, теперь я с опаской отношусь к асинхронному взаимодействию. Т.к. он усложняет задачу как минимум в два раза. Асинхронное взаимодействие и микросервисы- вещи перпендикулярные. Много мучаюсь с асинхронными вызовами в монолитной команде и при этом отлично использую синхронные rest-вызовы между микросервисами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2016, 11:04 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Alexey TominЕщё раз- ответственный за фичу. Он решает, он отвечает. Но исполнитель должен иметь возможность объяснить проблему (качество кадров). "У семи нянек дитя без глазу" Ответственный был ПМ. По отдельности все работало. А вот все вместе привело к исправлению во всех причастных сервисах. Alexey Tominmad_nazgulИ да, теперь я с опаской отношусь к асинхронному взаимодействию. Т.к. он усложняет задачу как минимум в два раза. Асинхронное взаимодействие и микросервисы- вещи перпендикулярные. Много мучаюсь с асинхронными вызовами в монолитной команде и при этом отлично использую синхронные rest-вызовы между микросервисами. Ну как бы да. Но если нам нужно асинхронное взаимодействие, при работе с микросервисами :-) Вот тут начинается вся радость. А если есть еще сложный бизнес-процесс причем зависящий от пользователя. То вообще увлекательное приключение. ИМХО микросервисы налагают большую отвественность на архитектуру приложения, особенно на API-микросервисов. Но зато сами микросервисы писать просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2016, 12:52 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
перестал заниматься фронтом и перекрестился. ну его нафиг. он а) навороченный б) очень навороченный. и я тупо просто не смогу даже его адекватно поддерживать. зато фронтовики смогут. а зачем залезать туда где есть специалисты лучше меня? мне кажется фронт-бэк это такой чувак который нифига не фронт и нифига не бэк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2016, 22:19 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, с микросервисами проблема в том что иногда очень сложно решить дилемму - что делать? расширять существующий мс. или запиливать новый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2016, 22:22 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
maytonМонолитное ПО обычно обновляется единоразово с остановом сервиса. Оно - критично. Его нельзя трогать. Над ним трясутся. И сдувают пыль. Микросервисное ПО (я надеюсь) будет не только синхронным но и асинхронным что открывает новые возможности по организации процессов обработки данных.Не надейтесь. Микросервисность - попытка разменять сложность кода на сложность взаимодействия. Я бы сказал, что хрен редьки не слаще. С учётом накладных расходов - вообще не слаще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2016, 22:41 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
maytonКстати в тему сложности на хабре лежит новая статья. https://habrahabr.ru/post/310782/ "Мы считаем, что небольшой процент исходного кода редактируется не просто так". Завтра этот небольшой процент станет редактироваться ещё чаще, потому что не просто же так мы его вчера редактировали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2016, 22:43 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
А что подразумевает уважаемая публика когда говорят микросервис? Просто даже интересно в какой среде разработки народ варится создавая микросервисы. Я довольно много пишу по подходу в своем блоге вот одна из первых статей про симулятор Парикмахерской из задачи Дейкстры - "Спящий Парикмахер" https://vyatkins.wordpress.com/2015/11/11/cloud-foundry-barber-shop-simulator-using-rabbitmq-service/ В сложном варианте я подогнал три сервиса - БД, Очередь и Редис для кеш манеджера не забыл https://github.com/PredixDev/predix-rdbr-cf Ну так чтоб не было скучно кто хочет поизучать чего нибудь новенькое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2016, 04:55 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
natanabrahamjrmad_nazgul, с микросервисами проблема в том что иногда очень сложно решить дилемму - что делать? расширять существующий мс. или запиливать новый. ИМХО тут проблемы вообще нет. В общем случае - запилить новый. Но в конкретном случае может быть выгоднее расширить старый. Т.е. если вопрос возник расширить или новый, то однозначно выбираем "создать новый" :-) В противном случае, вы знаете что вам нужно. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2016, 07:39 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
У микросервисов есть только одна существенная проблема - это когда ты зависишь от команды идиотов, всё остальное мелочи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2016, 12:05 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovМикросервисность - попытка разменять сложность кода на сложность взаимодействия.+100500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2016, 12:33 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
UsmanBasil A. SidorovМикросервисность - попытка разменять сложность кода на сложность взаимодействия.+100500 +1 Отсюда выходит, что тема Сервисы+УправлениеПроектами должна быть в разделе ПТ т.к. философская. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2016, 12:49 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazgulnatanabrahamjrmad_nazgul, с микросервисами проблема в том что иногда очень сложно решить дилемму - что делать? расширять существующий мс. или запиливать новый. ИМХО тут проблемы вообще нет. В общем случае - запилить новый. Но в конкретном случае может быть выгоднее расширить старый. Т.е. если вопрос возник расширить или новый, то однозначно выбираем "создать новый" :-) В противном случае, вы знаете что вам нужно. ;-) ...и у тебя появляются два сервиса с удивительно похожим функционалом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2016, 13:21 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Petro123Usmanпропущено... +100500 +1 Отсюда выходит, что тема Сервисы+УправлениеПроектами должна быть в разделе ПТ т.к. философская. P.S. Предлагаю создать Курилку в Java-форуме! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2016, 13:41 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
natanabrahamjr...и у тебя появляются два сервиса с удивительно похожим функционалом. Ну и что?! Вот есть например KFC и Burger King. У этих "сервисов" функционал удивительно похож. Но вы же не начнете требовать, чтобы остался только один "универсальный сервис" для Fast food'а. Если приводить пример из ИТ. Например почтовые сервисы. Есть куча почтовых серверов, есть куча почтовых сервисов. И никого это не смущает. Наоборот радует. Ибо "свобода". Так что куча одинаковых по функциональности сервисов это не страшно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2016, 06:42 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
SergunkaА что подразумевает уважаемая публика когда говорят микросервис? ... В сложном варианте я подогнал три сервиса - БД, Очередь и Редис для кеш манеджера не забыл Не то. Вот есть некий сайт. На нём есть ОСНОВНАЯ ФУНКЦИОНАЛЬНОСТЬ. Тут решают- давайте запилим некую фичу Х, для неё надо добавить тут поле ввода, тут копочки, тут вывести результаты. И сложная логика расчёта этих результатов. И делать это будут люди в другой стране. Как результат- да, в исходном коде сайта добавляются UI-элементы, которые будут взаимодействовать с новым сервисом Y. UI поправили быстро, а мы теперь делаем этот Y, который стоит на отдельном сервере, дежит нужные данные в свой БД (вообще другой), общается с существующиеми сервисамы по rest-api и сам его же предоставляет. Т.е. мы получили полную свободу разработки- свой git, свои технологии, своё хранилще артефактов, свой механиз деплоя и т.п. Просто потому, что мы это лучше знаем чем то, что используется в основном приложении. И при этом наш сервис я уже примерно знаю как и где будет разделён на 3 (минимум) сервиса со своей функциональностью (в первую очередь исходя из рисков падения и последствий этого падения). А слои это другое. Вообще никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2016, 09:56 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Alexey TominUI поправили быстро, а мы теперь делаем этот Y, который стоит на отдельном сервере, дежит нужные данные в свой БД (вообще другой), общается с существующиеми сервисамы по rest-api и сам его же предоставляет. это если опустить как на зоне фронт и возвысить бэкенд) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2016, 11:11 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazgulТак что куча одинаковых по функциональности сервисов это не страшно... пока не возникнет вопрос: "А что это у нас делает вся это туева хуча микросервисов? Почему они столько ресурсов жрут?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2016, 15:23 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovпока не возникнет вопрос: На смом деле вопрос уже много лет звучит как: Райкин- Ребята, кто сшил костюм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2016, 15:39 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
mad_nazgulnatanabrahamjr...и у тебя появляются два сервиса с удивительно похожим функционалом. Ну и что?! Вот есть например KFC и Burger King. У этих "сервисов" функционал удивительно похож. Но вы же не начнете требовать, чтобы остался только один "универсальный сервис" для Fast food'а. Если приводить пример из ИТ. Например почтовые сервисы. Есть куча почтовых серверов, есть куча почтовых сервисов. И никого это не смущает. Наоборот радует. Ибо "свобода". Так что куча одинаковых по функциональности сервисов это не страшно. да а потом вдруг выясняется что этот функционал из мс1 частично нужен в мс2 и начинается контрл-с контрл-в :) знаем. проходили. но тут всё же согласен сильвер булет нету. или наоборот растянул один сервис а потом начинаешь понимать что это было ошибкой и лучше два. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2016, 20:15 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovmad_nazgulТак что куча одинаковых по функциональности сервисов это не страшно... пока не возникнет вопрос: "А что это у нас делает вся это туева хуча микросервисов? Почему они столько ресурсов жрут?" Смотрим в Task Manager Windows и восхищаемся. Можно посмотреть запущенные приложения и тоже восхищаемся. У меня, например, открыты браузеры firefox и chrome. И это как-то не напрягает. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2016, 06:12 |
|
||
|
Оффтоп на тему микросервисы/фронтэнд/закон Конвея
|
|||
|---|---|---|---|
|
#18+
natanabrahamjrда а потом вдруг выясняется что этот функционал из мс1 частично нужен в мс2 и начинается контрл-с контрл-в :) знаем. проходили. Так почти такую ситуацию я уже описывал. Только там надо было "собрать" один сервис из нескольких, с небольшими особенностями. Потом выяснились, что эти особенности сильно портят "идеальную картину мира" :-) По хорошему, это все же новый сервис. Возможно, что можно использовать кодовую базу мс1 и мс2. Но это зависит от "внутренней архитектуры" мс1 и мс2. natanabrahamjrно тут всё же согласен сильвер булет нету. или наоборот растянул один сервис а потом начинаешь понимать что это было ошибкой и лучше два. )) Точно так же, как с написанием программы. То ли все в одном классе делать, то ли в двух... Что дает микросервисная архитектура, так это разбиения задачи на подзадачи, которые могут быть выполнены в гарантированные сроки не большой командой. Но зато налагает большую ответственность на того, кто проектирует API микросервисов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2016, 06:23 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2123675]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
110ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 397ms |

| 0 / 0 |
