Ищем оптимальную архитектуру корпоративной интеграции

Автор: Юрий Заболотников, технический директор компании «Инполюс»

Любая крупная организация – будь то промышленное предприятие, банк или торговая сеть – неизбежно сталкивается с необходимостью интеграции множества разнородных систем, сервисов и приложений. Однако выбор правильной архитектуры, способной решить эти задачи с заделом на долгую перспективу, был и остается непростым. Тут применялись разные подходы: от точечных интеграций (напрямую между отдельными системами) до внедрения единой корпоративной сервисной шины (ESB) и микросервисов. Конечно, у каждого пути есть свои преимущества и недостатки. Но опыт предприятий реального сектора по всему миру показывает, что именно ESB остается наиболее удачным выбором, когда речь идет о необходимости заставить слаженно работать все системы и подсистемы, в особенности унаследованные.

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

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

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

Лоскутная интеграция: хаос и сложность

До появления централизованных ESB-шин интеграция во всем мире осуществлялась хаотично: разработчики создавали «самописные» сервисы, используя разные языки, технологии и механизмы взаимодействия. Этот подход был понятен и прост, ведь он не требовал значительных финансовых и интеллектуальных ресурсов и долгие годы осуществлялся по принципу «точка-точка», когда каждая система напрямую взаимодействовала с другой. Но, по мере роста бизнеса, предприятия столкнулись с целым рядом проблем. Прежде всего, возникли сложности поддержки из-за отсутствия единого стандарта (разных форматов данных и протоколов передачи). Далее – проявили себя все «прелести» лоскутной архитектуры, где любое изменение вызывало цепную реакцию сбоев. И все это привело к высокой зависимости от отдельных специалистов, усугублявшейся отсутствием централизованной документации.

Очевидно, что развитие и поддержки таких решений оказывалась крайне сложным и затратным делом. Даже для внесения небольших изменений требовалось много времени, а неполадки в одной системе могли критически сказаться на всей инфраструктуре. Поэтому и индустрия ИТ, и сами заказчики начали искать выход. В начале 2000-х он был окончательно найден – «золотым стандартом» стала архитектура ESB.

ESB: порядок и управляемость

Не будем голословны. Крупнейшие западные разработчики вложили в соответствующие решения десятки и сотни миллионов долларов. Многочисленные внедрения дали рынку best practices. Экономический эффект предприятий от внедрения сервисной шины превзошел ожидания многих заказчиков. А все потому, что именно ESB сумела «разобраться» с такими узкими местами интеграции, которые раньше выглядели непреодолимыми. Так, с помощь ESB-решений удалось действительно унифицировать и ускорить разработку (в том числе, за счет инструментов low-code), стандартизовать интеграционные процессы, обеспечить предсказуемость и управляемость архитектуры, упростить поддержку, предоставив централизованное логирование, аудит и мониторинг.

Однако были и сложности. Перевод старых интеграций на ESB требовал времени и ресурсов. Масштабирование шины на первых этапах также вызывало вопросы, но задача решалась в достаточно короткие сроки посредством анализа потоков и оптимизации настроек инфраструктуры или кода, что также делалось вполне оперативно за счет использования элементов low code.

Микросервисы: не панацея, а новый хаос

Тем не менее, в современном мире, где стремительно растет популярность облачных технологий, внимание заказчиков на какое-то время переключилось на микросервисную архитектуру, реализующую event-driven подход. Это вполне объяснимо, ведь она позволяет масштабировать сервисы независимо, обеспечить изоляцию ресурсов, снижет взаимное влияние сервисов и дает возможность гибко управлять конфигурациями и нагрузкой. А потом начался откат. Дело в том, что микросервисы зачастую могут лишь усугубить интеграционные проблемы, которые сами же пытаются решить. И все это обнаружилось в реальных проектах. Опять все столкнулись с возвращением к «зоопарку»: разработчики снова начали использовать разные языки, фреймворки, механизмы логирования и обработки ошибок. Понятно, что в результате – снова неконтролируемая архитектура, если не принимать достаточно затратные меры по разработке и контролю четких стандартов. Важно, что микросервисы, по сути, не могут дать целостной картины происходящих в компании процессов. А еще и на этом фоне каждая команда разработчиков опять занялась только «своими делами», не вдаваясь в то, как работают бизнес-процессы в масштабах организации. В этом контексте ни о какой прозрачности интеграционных связей говорить не приходилось. Еще одним слабым местом стала и практическая сложность реализации в архитектуре микросервисов полноценного SOA Governance, из-за чего учет и анализ роли каждого сервиса в общем процессе, а также зоны ответственности за обеспечение работоспособности по-прежнему оставались лишь в Excel-таблицах. Наконец, выросли затраты на поддержку (наш анализ показывает, что переход с шины на микросервисы увеличивает время и стоимость диагностики и устранения инцидентов в два-три раза).

Практика: шина против микросервисов

В одном из наших крупных проектов по миграции самописных интеграций сначала на ESB, а затем на микросервисы, был проведен анализ затрат. Выяснилось, что написание кода для каждого сервиса обходится значительно дороже, чем сборка потоков в ESB – часто в разы. Пример другой организации показал, что переход на микросервисы повысил расходы на анализ инцидентов на 200%, а собственно их устранение в такой архитектуре требовало, как минимум, в два раза больше времени. Также добавим, что разработка на шине всегда осуществляется быстрее за счет визуального моделирования и возможности применения типовых базовых сценариев, что является best practice при развертывании ESB. Ну и, конечно, ESB-специалисты всегда обладают лучшим пониманием сквозных процессов и быстрее реагируют на сбои.

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

Оптимальный путь: ESB + микросервисы

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

Скоро: ESB + искусственный интеллект

Современная корпоративная интеграция уже выходит за пределы классических ESB-шин и API-шлюзов, двигаясь в сторону интеллектуальных решений. Искусственный интеллект становится не просто инструментом автоматизации, а ключевым фактором адаптивности, оптимизации и предсказуемости интеграционных процессов. Уже сегодня ведется реальная работа по нескольким направлениям. Первое, это самоадаптивные интеграционные контуры, где вместо жестко запрограммированных маршрутов и правил ИИ-алгоритмы начинают анализировать потоки данных в реальном времени, выявлять аномалии и динамически управлять обменом данными между системами. Второе – генеративный ИИ. Инструменты на основе LLM уже помогают проектировать API, автоматически документировать контракты и даже генерировать код для адаптеров. Это ускоряет разработку и снижает порог вхождения в сложные интеграционные проекты. Третье направление, над которым мы работаем, связано с реализацией интеллектуального мониторинга и предсказательной аналитикой – за счет анализа ML-моделями логов и метрик работы сервисов. И четвертое в этом ряду – автономные децентрализованные интеграционные агенты, умеющие самостоятельно «договариваются» о форматах данных и адаптироваться к изменениям.

Как мы видим, ИИ уже формирует новую парадигму интеграции: от жестких централизованных систем – к самонастраивающимся, самообучающимся и предсказывающим изменения решениям. Главное – найти баланс между гибкостью и контролируемостью, чтобы не утонуть в Харибде хаоса и не застрять в Сцилле устаревших подходов.

1515

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

Предметная область
Отрасль
Управление
Мы используем файлы cookie в аналитических целях и для того, чтобы обеспечить вам наилучшие впечатления от работы с нашим сайтом. Заходя на сайт, вы соглашаетесь с Политикой использования файлов cookie.