Архитектура микросервисов связывает современные распределенные гибридные облачные инфраструктуры с локальными многоуровневыми ИТ-инфраструктурами, и многие разработчики рассматривают ее как средство эффективного масштабирования DevOps. Тем не менее, работа по сборке частей приложений может вызвать ряд проблем. Об этом на портале InformationWeek рассуждают технический директор разработчика платформенного ПО Skuid Майк Дуэнсин и CEO Cloud Passage Карсон Свит.

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

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

Более широкое применение микросервисов стало ответом на высокий темп изменений, которым отличается современная конкурентная среда. По мере увеличения числа пользователей ПО команды DevOps начинают сталкиваться с трудностями, разрешить которые поможет облачная платформа для создания корпоративных приложений без необходимости кодирования, например Skuid.

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

Микросервисы гибче традиционных корпоративных архитектур

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

Такая медлительность связана с тем, что доставка обновлений будет осуществляться по каналам MDM (mobile device management) или через собственный маркетплейс. Излишне говорить, что промедление с обновлениями может поставить под угрозу безопасность данных. Микросервисы более гибкие инструменты. «Они позволяют быстро вносить изменения в бэкэнд или оперативно изменять интерфейс мобильного приложения, но при этом вам не требуется полное обновление мобильного приложения или новое развертывание», — сказал Дуэнсин.

Проблемы внедрения микросервисов

Скорость реагирования на конкурентные вызовы, универсальность — это безоговорочные преимущества микросервисов, однако у них имеются некоторые недостатки, которые необходимо учитывать, считает Свит (компания Cloud Passage предоставляет платформу автоматизации как для компаний из списка Fortune 1000, так и стартапов). По его словам, одним из этих недостатков является то, что пока что архитектура микросервисов находится на ранней стадии внедрения — это связано с недостаточным количеством ИТ-специалистов, работающих в этой сфере.

К плюсам микросервисов можно отнести их интероперабельность с унаследованными технологиями, которые включают сервис-ориентированную архитектуру, корпоративную сервисную шину, корпоративные шины обмена сообщениями и архитектуры, ориентированные на обмен сообщениями. Однако несмотря на то, что все они обладают гибкостью, масштабируемостью и независимыми от инфраструктуры компонентами, предприятие сможет обеспечить лишь частичное подключение к ним микрослужб. «Эти технологии появились в середине 2000-х и были тогда очень популярны», — напомнил Свит, добавив, что похожая история может приключиться и с микросервисами.

Что может способствовать более широкому внедрению микросервисов

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

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

Как же им помочь? Эксперт считает, что ситуацию могли бы исправить публикации успешных сценариев внедрения микросервисов в отраслевой прессе. «Мы ощущаем нехватку базовых примеров внедрения с подробностями о том, как избежать подводных камней, какие действия лучше предпринять, чтобы у инженерных команд появились данные, на которые можно ориентироваться, а не заниматься внедрением вслепую», — говорит Свит.

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