eXpress 1 октября 2024

Монолит VS микросервисная архитектура: что предпочитают крупные компании

Тенденции российского рынка разработки при выборе из двух противоположных подходов к архитектуре сайта ー монолитной и микросервисной

Игорь Малышев
Управляющий партнер платформы корпоративных коммуникаций и мобильности eXpress

Более 25 лет в ИТ, из них 20+ лет в компаниях-лидерах рынка системной интеграции. Большой опыт создания и развития бизнеса в ИТ и построения эффективных ИТ-команд.

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

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

Для больших предприятий с масштабной ИТ-разработкой, включающей, к примеру, создание новых систем, затраты на организацию микросервисов успешно распределяются по всем продуктам и уже не выглядят такими чувствительными для бизнеса. А ее преимущества, наоборот, выходят на первый план, а именно: масштабируемость, скорость внесения изменений и добавление новых возможностей, быстрая отладка отдельных компонентов и так далее.

Если переходить к российскому ИТ-рынку, то здесь дополнительно становятся ключевыми еще и другие аспекты. Во-первых, безусловно, огромное влияние оказывает та ситуация с санкциями, в которой оказалась наша страна начиная с 2022 года. Традиционные вендоры в одночастье ушли из страны, оставив крупных заказчиков перед необходимостью создавать новые продукты самим или обращаться к российским вендорам — и здесь чаще всего выбирают микросервисы. Потому что мы наблюдаем здесь, скажем так, «гонку за фичами», заказчикам необходима высокая скорость разработки и поставки. Сделать такую скорость выпуска новых новой функциональности в монолите, в сложном комплексном продукте крайне трудно. А микросервисная архитектура позволяет отдельно дорабатывать компоненты новой функциональности параллельно с доработкой ядра продукта и с меньшими временными затратами на отладку взаимоувязки. 

Во-вторых, важную роль играет дефицит кадров. Монолит — это единый подход с точки зрения стека используемых технологий, что ограничивает бизнес в выборе ИТ-кадров. Собрать в одном месте большое количество разработчиков на каком-либо конкретном языке программирования для старта разработки монолита может быть достаточно сложно, ИТ-рынок слишком пестрый. В микросервисной архитектуре можно отдельные компоненты создавать на разных, часто хорошо сочетающихся друг с другом языках и технологиях. Это позволяет гибко наращивать команду и масштабировать ее.