Композитная архитектура – как она позволяет организациям быть готовыми к постоянным изменениям и эффективно внедрять инновации
Задачи импортозамещения и цифровой трансформации, быстрое внедрение новых технологий и возросшая конкуренция требуют от бизнеса высокой гибкости и скорости.
Композитный (или композиционный) подход предлагает концепцию, которая позволяет организациям быть готовыми к постоянным изменениям и эффективно внедрять инновации.
Используя композитный подход, компания «Диасофт» формализовала обязательные требования к функционалу, архитектуре, технологиям, организации производства программных продуктов, информационной безопасности, импортозамещению, ведению проектов и сопровождению. Этими требованиями (стандартами) мы руководствуемся сами, внедряем у наших заказчиков и предлагаем технологическим партнерам.
Что такое композитный подход?
Принципы композитных технологий помогают преобразовать бизнес-архитектуру из монолитной статичной модели в гибкую легко адаптируемую систему.
Основные свойства композитной архитектуры:
■ Модульность: разделение крупных систем на небольшие компоненты, которые легко обновлять и заменять.
■ Автономность: минимизация взаимозависимости между компонентами.
■ Открытость: легкость интеграции новых решений и технологий, включая сторонние сервисы и приложения.
■ Управляемость: централизованный контроль изменений, упрощающий обновления и оптимизацию.
■ Устойчивость к сбоям: автономность модулей минимизирует влияние ошибок одного компонента на всю систему, обеспечивая более высокий уровень отказоустойчивости.
■ Снижение технического долга: композитная архитектура упрощает управление системами и их обновление. Это устраняет проблемы, связанные с разрастанием и устареванием монолитных приложений.
■ Ускорение разработки: использование API и готовых «строительных» блоков сокращает время на проектирование и тестирование новых решений, а кросс-функциональные команды разрабатывают приложения быстрее, чем традиционные.
Композитный подход в действии
В инновационной среде цифровой трансформации важно выстроить непрерывное производство программного обеспечения (ПО). «Диасофт» выделяет три принципа ускорения разработки.
Принцип № 1: правильная гранулярность. Важно выбрать правильный размер устанавливаемого компонента, чтобы он был полезен и ускорял производство продуктов, а также вести их параллельную разработку, что в целом реализуется через микросервисный подход. Но сам по себе микросервис – техническое понятие. Для заказчика важен бизнес-смысл. Поэтому компоненты мы рассматриваем как упакованные бизнес-возможности (Packaged Business Capabilities, PBC).
Эти достаточно крупные блоки состоят из микросервисов и несут в себе бизнес-ценность. PBC являются «строительными» блоками для создания цифрового двойника бизнеса и связаны между собой через АPІ и события. PBC может быть реализован не только в микросервисной архитектуре, но и в сервис-ориентированной или клиент-серверной.
Проект разработки ПО для заказчика длится довольно долго (иногда до года). Как правило, в проекте участвуют несколько команд, каждая из которых отвечает за разработку своего бизнес-компонента (PBC). Результатом проекта является сборка всех необходимых PBC в готовое ИТ-решение.
Принцип № 2: использование low-сode для автоматизации на всех этапах разработки. Подход low-code позволяет, используя визуальные инструменты, проектировать бизнес-процессы, интерфейсы, логическую архитектуру. Нажатием кнопки генерируется весь технический код. Программисту нужно только добавить код в определенных местах. Система автоматически документируется и выдает независимый полноценный Java-код в микросервисной архитектуре.
Технический код существенно сокращает количество ошибок и обеспечивает информационную безопасность, омниканальность, горизонтальную масштабируемость, правильную архитектуру, контроль качества, автоматическое тестирование, покрытие юнит-тестами, корректные процессы непрерывного развертывания и непрерывной интеграции и т.д.
Если брать соотношение сгенерированного технического кода к написанному программистами – это 80% к 20%. Мы считаем, что программисты не должны тратить время на эти 80% рутинного кода, который лучше сгенерировать, используя low-code платформы.
Принцип № 3: контейнеризация. Программные артефакты легко упаковываются, быстро доставляются и развертываются на целевых стендах заказчика. Ведь «выкатывать» и развертывать продукт теперь приходится чуть ли не несколько раз в день.
Если разработчики создают, правят или тестируют код в каком-то контуре на своем стенде, то команда внедрения получает от них изменения в другом контуре на отдельном стенде. Безопасность проверяет это все в третьем месте, а в продакшн это приходит совершенно в другой контур — на стенд, к которому никто физически доступа не имеет. И всего этого без контейнеризации и пайплайнов не сделать.
Платформы экосистемы low-code разработки микросервисных программных продуктов Digital Q от «Диасофт» покрывают полный жизненный цикл разработки. Это и есть принципиальное отличие экосистемы от множества других платформ на рынке. Полный цикл подразумевает и управление командами, и управление задачами, и управление проектами. А также наличие процесса CD/CI для обеспечения постоянных обновлений, что очень важно для крупных высоконагруженных систем.
Партнерства с интеграторами и заказчиками как стратегия развития
На базе экосистемы Digital Q строится партнерская сеть «Диасофт» с крупными и средними системными интеграторами, которые хорошо погружены в определенную отрасль. С партнерами мы делимся необходимым ноу-хау, чтобы они могли радикально сокращать время вывода продукта на рынок.
Отдельный вид технологических партнеров – заказчики. Многие крупные компании занимаются собственной разработкой и нанимают много программистов. Команды разработки в таких компаниях не могут эффективно работать без единой платформы разработки.
Уже есть примеры, когда благодаря использованию платформ экосистемы Digital Q технологические партнеры не просто ускоряли разработку, но и использовали высвободившиеся ресурсы для выхода на новые сегменты клиентов и запуска новых продуктов.
Композитный подход – это не просто технологическая стратегия, а ключ к трансформации бизнеса, позволяющий организациям быстро адаптироваться к изменениям, снижать технический долг и обеспечивать устойчивое развитие, в том числе, в рамках партнерств. Для директоров по ИТ и по цифровой трансформации, а также для разработчиков ПО композитная архитектура открывает возможности построения гибких инновационных решений, которые соответствуют современным вызовам.