Информация об изменениях

Сообщение Re[3]: О микросервисах от 24.11.2021 22:12

Изменено 24.11.2021 22:15 rosencrantz

Re[3]: О микросервисах
Здравствуйте, Умака Кумакаки, Вы писали:

УК>Здравствуйте, rosencrantz, Вы писали:


R>>Микросервисность — это в первую очередь про изоляцию команд друг от друга.


УК>найти бы того дурачка который это написал изначально, а то в каждом первом топике про микросервисы слышу. Видимо нулевой идиот был менеджером.


Дело в том, что продукт делается не программистами, а кучей разных людей. Насколько часто и хаотично будут появляться новые фичи? Насколько фичи связаны друг с другом? Насколько часто надо релизить? Вся эта ерунда не контролируется программистами. Она контролируется менеджерами. В худшем случае программистам это всё просто навязывается снаружи. В лучшем — программисты органично участвуют в определении стратегии разработки и отстаивают свой "рабочий комфорт".

УК>Микросервисы и команды это перпендикулярные понятия. Всё что нужно для разделения на команды — это чётко очерченые скоупы функциональности и чёткие программные интерфейсы. Да, микросервисы форсят появление чётких скоупов функциональности и уж точно форсят появление чётких программных интерфейсов, но всё это возможно и без микросервисов.


В ваших суждениях вы упускаете важную деталь: система это не только "начинка" (функциональность, интерфейсы — о чём вы пишете), но ещё и её жизненный цикл (о чём вы не пишете): как система появляется, как сопровождается, как ретайрится. Монолитный подход предлагает "систему, состоящую из подсистем" (жизненный цикл подсистем "подчиняется" жизненному циклу системы). Микросервисный подход предлагает "систему систем" (жизненный цикл у каждой системы — свой). Именно из этого отличия вытекает идея "изоляции команд" — у команд появляется возможность самостоятельно решить что, как и когда они будут делать. А так вы правы, да, если жизненные циклы игнорировать, один хрен.

УК>Windows, Linux, Microsoft Office, 1C, и прочие гроамадные продукты делают тысячи, десятки тысяч человек, а это самые что ни на есть монолиты. Поэтому не надо ставить телегу впереди лошади, пожалуйста.


Вот вы когда говорите Windows — вы что конкретно имеете в виду? Если смотреть с точки зрения продукта для конечного пользователя, Windows — это не монолит. Грубо одна команда делает ОС и выпускает когда хочет, другая команда делает Офис и выпускает когда хочет, параллельно с этим есть ещё маленькие команды, которые пилят улучшенный терминал и прочее такое. Люди — разные. Инструменты у них разные. Каденс релизов разный. Слово "микросервисный" тут конечно выглядит несколько не лепо, но вообще чем не микросервисы?
Re[3]: О микросервисах
Здравствуйте, Умака Кумакаки, Вы писали:

УК>Здравствуйте, rosencrantz, Вы писали:


R>>Микросервисность — это в первую очередь про изоляцию команд друг от друга.


УК>найти бы того дурачка который это написал изначально, а то в каждом первом топике про микросервисы слышу. Видимо нулевой идиот был менеджером.


Дело в том, что продукт делается не программистами, а кучей разных людей. Насколько часто и хаотично будут появляться новые фичи? Насколько фичи связаны друг с другом? Насколько часто надо релизить? Вся эта ерунда не контролируется программистами. Она контролируется менеджерами. В худшем случае программистам это всё просто навязывается снаружи. В лучшем — программисты органично участвуют в определении стратегии разработки и отстаивают свой "рабочий комфорт".

УК>Микросервисы и команды это перпендикулярные понятия. Всё что нужно для разделения на команды — это чётко очерченые скоупы функциональности и чёткие программные интерфейсы. Да, микросервисы форсят появление чётких скоупов функциональности и уж точно форсят появление чётких программных интерфейсов, но всё это возможно и без микросервисов.


В ваших суждениях вы упускаете важную деталь: система это не только "начинка" (функциональность, интерфейсы — о чём вы пишете), но ещё и её жизненный цикл (о чём вы не пишете): как система появляется, как сопровождается, как ретайрится. Монолитный подход предлагает "систему, состоящую из подсистем" (жизненный цикл подсистем "подчиняется" жизненному циклу системы). Микросервисный подход предлагает "систему систем" (жизненный цикл у каждой системы — свой). Именно из этого отличия вытекает идея "изоляции команд" — у команд появляется возможность самостоятельно решить что, как и когда они будут делать. А так вы правы, да, если жизненные циклы игнорировать, один хрен.

УК>Windows, Linux, Microsoft Office, 1C, и прочие гроамадные продукты делают тысячи, десятки тысяч человек, а это самые что ни на есть монолиты. Поэтому не надо ставить телегу впереди лошади, пожалуйста.


Вот вы когда говорите Windows — вы что конкретно имеете в виду? Если смотреть с точки зрения продукта для конечного пользователя, Windows — это не монолит. Грубо одна команда делает ОС и выпускает когда хочет, другая команда делает Офис и выпускает когда хочет, параллельно с этим есть ещё маленькие команды, которые пилят улучшенный терминал и прочее такое. Люди — разные. Инструменты у них разные. Каденс релизов разный. Слово "микросервисный" тут конечно выглядит несколько нелепо, но вообще чем не микросервисы?