Спецпроекты

ПО Бизнес Цифровизация Импортонезависимость

Композитная архитектура — стратегия, которую выбирают лидеры

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

ИТ-компания «Диасофт» с 1991 года автоматизирует финансовые организации и является экспертом не только в разработке финансового программного обеспечения (далее — ПО), но и запуска эффективного ИТ-производства у клиентов крупного и среднего бизнеса.

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

Этими требованиями (стандартами) мы руководствуемся сами, внедряем у наших заказчиков и предлагаем технологическим партнерам. В результате они могут разрабатывать и внедрять собственные продукты на базе повторно используемых компонентов и готовых API. Это позволяет не только, как минимум, в четыре раза снизить время и затраты на разработку, но и радикально повысить ее качество.

Встав несколько лет назад на путь композитной архитектуры, компания «Диасофт», с опорой на исследования Gartner и собственный опыт, собрала практические рекомендации к организации композитного подхода в разработке ПО.

Что такое композитный подход?

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

Основные свойства композитной архитектуры:

  • Модульность: разделение крупных систем на небольшие компоненты, которые легко обновлять и заменять.
  • Автономность: минимизация взаимозависимости между компонентами.
  • Открытость: легкость интеграции новых решений и технологий, включая сторонние сервисы и приложения.
  • Управляемость: централизованный контроль изменений, упрощающий обновления и оптимизацию.
  • Устойчивость к сбоям: автономность модулей минимизирует влияние ошибок одного компонента на всю систему, обеспечивая более высокий уровень отказоустойчивости.
  • Снижение технического долга: композитная архитектура упрощает управление системами и их обновление. Это устраняет проблемы, связанные с разрастанием и устареванием монолитных приложений.
  • Ускорение разработки: использование API и готовых «строительных» блоков сокращает время на проектирование и тестирование новых решений, а кросс-функциональные команды разрабатывают приложения быстрее, чем традиционные.

В каких сферах используется композитный подход?

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

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

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

Композитный подход в действии

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

Мы в «Диасофт» выделяем три принципа ускорения разработки.

Во-первых, правильная гранулярность. Критически важно выбрать правильный размер устанавливаемого компонента, чтобы он был полезен, ускорял производство продуктов, а также вести их параллельную разработку, что в целом реализуется через микросервисный подход. Но сам по себе микросервис — сугубо техническое понятие. А для заказчика важен бизнес-смысл. Поэтому компоненты мы рассматриваем как упакованные бизнес-возможности (Packaged Business Capabilities, PBC).

Это достаточно крупные блоки, которые состоят из микросервисов и несут в себе бизнес-ценность. Создание, развитие и поддержка PBC ведет одна команда, это позволяет независимо обновлять функционал компонентов. PBC могут работать самостоятельно и использоваться конечным пользователем, так как имеют визуальный интерфейс — это не только бэкенд, как у микросервисов. Они являются «строительными» блоками для создания цифрового двойника бизнеса и связаны между собой через АPІ и события. PBC может быть реализован не только в микросервисной архитектуре, но и в сервис-ориентированной или клиент-серверной.

Таким образом, PBC характеризуются:

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

Проект разработки ПО для заказчика длится довольно долго (иногда до года). Как правило, в проекте участвуют несколько команд, каждая из которых отвечает за разработку своего бизнес-компонента (PBC). Результатом проекта является сборка всех необходимых PBC в готовое ИТ-решение.

Во-вторых, использование low-сode для автоматизации на всех этапах разработки. Подход low-code позволяет, используя визуальные инструменты, проектировать бизнес-процессы, интерфейсы, логическую архитектуру. Нажатием кнопки генерируется весь технический код. Программисту нужно только добавить код в определенных местах. Система автоматически документируется и выдает независимый полноценный Java-код в микросервисной архитектуре.

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

Если брать соотношение сгенерированного технического кода к написанному программистами — это 80% к 20%. Мы считаем, что программисты не должны тратить время на эти 80% рутинного кода, который лучше сгенерировать, используя low-code платформы, например, платформы экосистемы Digital Q компании «Диасофт».

Платформы экосистемы Digital Q

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

Если разработчики создают, правят или тестируют код в каком-то контуре на своем стенде, то команда внедрения получает от них изменения в другом контуре на отдельном стенде. Безопасность проверяет это все в третьем месте, а в продакшн это приходит совершенно в другой контур — на стенд, к которому никто физически доступа не имеет.

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

Еще 10 лет назад мы делали до 10 сборок продукта в квартал, пять лет назад — до нескольких десятков сборок. Автоматизированный конвейер позволяет нам делать до четырех тысяч сборок ежедневно.

Реализовывать композитный подход помогают low-code платформы, которые обогащают проектируемые PBC своим функционалом, т.е. у каждой из платформ есть дизайнер, где можно настроить необходимый функционал, и потом забрать себе готовый код в необходимом формате.

Платформы экосистемы Digital Q покрывают полный жизненный цикл разработки. Это и есть принципиальное отличие экосистемы от множества других платформ на рынке. Полный цикл подразумевает и управление командами, и управление задачами, и управление проектами. А также наличие процесса CD/CI для обеспечения постоянных обновлений, что очень важно для крупных высоконагруженных систем.

Партнерства с интеграторами и заказчиками как стратегия развития

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

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

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

Отдельный вид технологических партнеров — заказчики. Известно, что многие крупные компании занимаются собственной разработкой и нанимают много программистов. Команды разработки в таких компаниях не могут эффективно работать без единой платформы разработки.

Уже есть первые примеры, когда благодаря использованию платформ экосистемы Digital Q технологические партнеры не просто ускоряли разработку, но и использовали высвободившиеся ресурсы для выхода на новые сегменты клиентов и запуска новых продуктов. Готовые решения можно размещать в маркетплейсе экосистемы Digital Q и, таким образом, капитализировать собственные разработки. Важно отметить, что доступ к платформе для разработчиков предоставляется бесплатно, а монетизация осуществляется по факту использования готовых приложений.

Заключение

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

Короткая ссылка