Привет! В продолжение своих статей на тему микросервисов, решил выделить важный вопрос отношений разработки и бизнеса в целом.

Почему важны взаимодействие бизнеса и разработки?

В условиях быстро меняющегося рынка и растущих ожиданий клиентов, успешные (и не только) компании должны стремиться к гибкости и адаптивности. Качественное взаимодействие между бизнесом и разработкой позволяет оперативно реагировать на изменения требований клиентов и рыночные тенденции, что способствует сохранению конкурентоспособности.

Оперативно — часто значит, что мы (бизнес) говорим на одном языке с разработкой.

«Говорить на одном языке» — именно этого очень часто (всегда) не хватает большенству IT структур. Конечно, всех проблем не исправить, ведь продукты в мире IT есть разные, и методологии применяемые в качестве обобщения контекста между бизнесом и разработкой эффективны для одной, но в то же время, не эффективны для другой, хотя продукты из одного IT мира так скажем.

Если отойти немного от темы, хочется сказать, что часто в подобных ситуациях есть цепочка в виде менеджеров которые принимают инфу на языке бизнеса, а выдают инфу к примеру для разработки уже на другом языке, и часто тут выходит сломанный телефон.

Так вот, Микросервисы — конечно не панацея, но решить данную проблему вполне вольна.

Каким образом микросервисы решают данную проблему?

По большому счету, строгость данной архитектуры, позволяет сокращать коммуникационные разрывы между бизнесом и разработкой, поскольку если речь идет о к примеру монолитной архитектуре часто проектирование и разработка происходит по иерархии «мы приняли что нужно делать, мы разработчики, мы делаем» — а когда приходит время задать вопрос от разработки к бизнесу, бизнес говорит что он ничего не понимает, и давайте объясняйте на пальцАх. (не всегда естественно, я не хочу сказать что есть проекты с монолитной архитектурой которые не занимаются подобным, но мы ведь все понимаем что чаще наоборот)

Так вот, в микросервисной архитектуре, чаще иерархия такая что (очень сокращенно, но думаю должно быть понятно)

  1. Топ‑менеджмент передал аналитике необходимые данные для обработки

  2. Аналитика приняла решения и выстроила схему взаимодействий и проработала решения

  3. Передала разработке...

И в данной цепочке, поскольку аналитика говорит с разработкой на одном и том же языке, что и бизнес с аналитикой, есть возможность вверх по этой «пищевой» цепочке от разработки вернуть необходимые данные/вопросы/все что угодно до самого топ менеджмента, без эффекта сломанного телефона.

Естественно, все мы живем в идеальном мире, где все так и происходит =)

Так же, факт того что наше приложение по сути разбито на отдельные бизнес модели (доменные модели, если угодно) и аггрегаторы, и это понимают в первую очередь не только разработчики, это так же решает эту саму проблему. Конечно, по большому счету эту проблему решает не столько микросервисы, сколько решил её дядюшка Эрик Эванс, со своим DDD, но «смешав в стакане эту гремучую смесь, можно получить вполне корректный напиток».

Комментарии (5)


  1. Ainyru
    20.09.2024 03:30
    +8

    Язык бизнеса - это деньги. Бизнесу пофиг какие у вас там микросервисы, ему нужен результат выражаемый в работающем и продаваемом продукте. А как вы этого добиваетесь это сугубо ваше дело.


  1. Dhwtj
    20.09.2024 03:30
    +4

    Озон так вляпался в эти ваши микросервисы что не знаю, стоит ли повторять такое.

    4000 ИТ работников теперь там. И это не rocket science

    Это значит, что производительность труда упала в разы


    1. Gromilo
      20.09.2024 03:30
      +5

      Это может показаться странным, но бизнес может устраивать такое положение дел. Да, производительность труда каждого отдельного программиста снизилась, но они смогли масштабироваться. При монолитном подходе может сложиться ситуация, когда все друг другу наступают на ноги и людей решительно некуда добавлять. Ещё требуется относительно высокая квалификация всех разработчиков, чтобы не сломать решение. А теперь можно докидывать разрабов по мере необходимости и платить им меньше, за счёт относительно более низкой квалификации. Плюс такая толпа разрабов позволяет быстрее получать изменения на проде, т.е. адаптироваться.

      Меня самого корёжит, когда микросервисы пихают во все дырки, да ещё мелко нарезают, чтобы просто было, и команда из 10 человек, вместо того чтобы спокойно пилить фичи, половину времени занимается операционкой.


    1. DenSigma
      20.09.2024 03:30
      +2

      Если в фирме было сто, а стало 4000 тысячи человек, это не показатель, что производительность упала в разы. Скорее, это показатель успешного масштабирования разработки. Надо знать, какие задачи компания не могла решать до внедрения микросервисов (и чего там они внедрили, не знаю) и что она теперь может решать после внедрения.


    1. alpha_man
      20.09.2024 03:30
      +2

      "вляпался" – это вы так решили или официальное заявление озона, что переход на микросервисы был ошибкой?