Микросервисы против монолитного корпоративного софта

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

Научный менеджмент и переход к микросервисам

Инженер-механик Фредерик Тейлор (1856–1915) вдохновил поколения предпринимателей и промышленников своей теорией научного менеджмента. Он доказал, что, разбивая сложные операции на простейшие, основополагающие и дискретные задачи, можно значительно повысить производительность труда. 

Используя эмпирические методы для поиска наиболее экономичных процедур для каждой задачи, экономическая эффективность может достичь совершенно новых высот. Тейлор заложил основы современной науки управления и промышленной инженерии. Считается, что его теории оказали влияние на самого Генри Форда, чья сборочная линия Model T к 1920 году обеспечила 50% доли рынка всего автомобильного рынка США.

Следуя по стопам этих новаторов-промышленников 20-го века, предприятия начала 21-го века разбивают монолиты программного обеспечения на модульные, узкоспециализированные микросервисы. Переход от массивных универсальных программных систем к экономичным, одноцелевым программам, легко связанным через API, наблюдается практически во всех секторах экономики. Использование модульности помогает сократить время вывода продукта на рынок, масштабируемость системы, контроль качества и удобство сопровождения кода.

Монолитные системы

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

Микросервисная архитектура

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

Победители и проигравшие

Многим из тех, кто не принял принципы научного менеджмента в 20 веке, пришлось сменить карьеру. Например, только 8,5% всех производителей автомобилей в США в 1920 году дожили до 1940 года. Всего за 20 лет число автомобильных компаний сократилось с 200 до 17.

Специализация, стандартизация процессов и инновации, такие как сборочная линия, дали таким компаниям, как Ford Motors Company, преимущество, позволяющее выжить и доминировать для будущего поколения.

Катастрофы, связанные с дорогостоящим монолитным программным обеспечением, часто появляются в технологических новостях с начала века. 

В 2000 году, когда Майкл Джордан все еще продолжал свою легендарную карьеру в НБА, Nike решила объединить свои ERP, системы поставок и CRM в одну гигантскую систему. Они хотели лучше прогнозировать спрос на свою продукцию (включая бестселлеры Air Jordan). Однако сбой в программном обеспечении, по словам их вице-президента по глобальным операциям и технологиям Роланда Вольфрама, стоил компании убытков от продаж в 100 миллионов долларов и падения цен на акции на 20%. 

Огромное количество Air Jordans просто не дошло до магазинов. Реализация проекта заняла вдвое больше времени и обошлась на 100 миллионов долларов дороже, чем планировалось.

Другие недавние неудачи, связанные с монолитной системой, включают отмену проекта управления запасами Lidl стоимостью 500 миллионов долларов в 2018 году.

Best Buy и Groupon едва избежали катастрофы благодаря переходу на более развязанную системную архитектуру. В основе Best Buy лежала монолитная, переплетенная база данных Oracle, что затрудняло внедрение исправлений и функций и осложняло конкуренцию с такими игроками, как Amazon и Walmart. Кодовую базу интерфейса Groupon было трудно поддерживать, время загрузки страниц было медленным, а развертывание новых функций занимало много времени.

Напротив, такие компании, как Netflix, основывали свой феноменальный рост на интеллектуальных микросервисных архитектурах. В 2009 году Netflix уже боролась с достижением достаточной доступности и скорости своих потоковых сервисов. В такой ситуации масштабирование до сотни миллионов подписчиков было просто невозможно вообразить.

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

Среди других сторонников микросервисной архитектуры — Amazon, Uber, eBay, Soundcloud. Во многих отношениях Amazon Web Services (AWS) подлила масла в огонь микросервисов, когда они сделали виртуальные вычисления доступными для команд разработчиков любого размера. То, что раньше занимало недели на предоставление ресурсов, теперь занимает максимум пару часов.

Микросервисы против монолитов в мире контент-менеджмента

Во вселенной управления контентом со времен пузыря доткомов доминировали массивные системы на базе .NET, Java, Perl и PHP. Тяжеловесы с открытым исходным кодом WordPress, Joomla и Drupal демократизировали создание более простых веб-сайтов, сделав их доступными даже для нетехнических пользователей. Это было более 15 лет назад. Wordpress был запущен в 2003 году. Для сравнения: в том же году вышли сиквелы фильма «Матрица». Для дальнейшего сравнения: iPhone не будет выпущен еще четыре года.

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

Headless CMS — разделение внешней и внутренней части системы управления контентом является естественным развитием многих проблем, связанных с монолитом в ПО для CMS. Чтобы достичь гибкости в доставке контента, оставьте свою CMS без головы и позвольте контенту отправиться на любой экран через современный стек API (например, API-интерфейсы GraphQL предоставляют доступ к мощному бэкэнду).

Отделив внешний уровень представления от внутреннего уровня администрирования и создания контента, такие компании, как Discovery, Apple и Booking смогли завоевать множество современных каналов доставки контента, таких как Интернет, мобильные устройства и Интернет вещей. Командам фронтенд-разработчиков не обязательно знать неясные секреты сложной серверной системы. Они просто используют технологию, которая им нравится – или, как это произошло в последние годы, javascript-фреймворк, который оказался крутым новичком на рынке.

Микросервисы пожирают корпоративный мир так же, как базовые принципы научного менеджмента поглотили целые отрасли в начале 20-го века. 

И, как мы видели снова и снова, выживание зависит не от того, насколько крупная собака в стае, а от того, насколько хорошо она адаптирована к переменам. 

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

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

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

Оцените автора
Онтограф
Добавить комментарий