Александр Сахаров, «Диасофт»: Экосистема low-code разработки Digital Q радикально ускоряет разработку микросервисных приложений
Эффективное использование информационных технологий в крупных организациях — это критически важный фактор успеха бизнеса в целом. Важно, чтобы IT-архитектура была в состоянии обеспечивать готовность компании к росту, изменениям и неожиданностям. Здесь на помощь приходит микросервисная архитектура. Создание микросервисных приложений сопряжено с рядом сложностей, однако с ними позволяют справиться low-code платформы. Подробнее об этом — в интервью Александра Сахарова, директора по работе с партнерами компании «Диасофт».
Какие основные сложности возникают у программистов при разработке микросервисных приложений?
Александр Сахаров: Микросервисная архитектура уже давно доказала свои преимущества перед монолитами благодаря своей гибкости, масштабируемости и удобству модернизации. Однако, несмотря на очевидные плюсы, реализация микросервисов связана с рядом особенностей, которые требуют внимания разработчиков. При разработке микросервисных приложений программисты сталкиваются с рядом сложностей, в том числе для соответствия высоким требованиям по горизонтальной масштабируемости, производительности, отказоустойчивости, согласованности бизнес-процессов, информационной безопасности, ролевой модели, связности и унификации пользовательского опыта, омниканальности и другим важным аспектам внутренней архитектуры. Разделение приложения на множество микросервисов еще более усложняет общую архитектуру, что требует глубокого понимания и контроля взаимодействия между компонентами. Сложности также возникают с согласованностью разных данных, особенно при использовании отдельных баз данных в разных микросервисах. Тестирование множества взаимозависимых сервисов требует особых подходов и инструментов. Более сложная архитектура увеличивает объем возможных уязвимостей.
Что может помочь справиться с этими сложностями?
Александр Сахаров: Справиться с перечисленными сложностями позволяет платформенный подход, в котором платформа берет на себя автоматическую генерацию технического кода и контроль согласованности между собой микросервисов и компонентов, а также контроль соответствия кода архитектурным практикам и правилам. Платформа заставляет работать программистов так, чтобы совместная работа приводила к синхронному правильному результату.
Платформы экосистемы low-code разработки программных продуктов Digital Q представляют собой среду разработки для быстрого создания приложений в микросервисной архитектуре и организации эффективного производства программных продуктов.
Ключевая отличительная особенность экосистемы Digital Q — это создание полностью микросервисного приложения с открытым кодом, который не зависит от платформы и полностью доступен для распространения и использования.
С чем связана популярность low-code платформ при разработке ПО?
Александр Сахаров: В крупных организациях работают сотни и уже часто тысячи программистов, все они должны не противоречить друг другу и соблюдать единые требования к разработке. Low-code платформы позволяют настроить процесс таким образом, что программисты и аналитики решают прикладные задачи, прорабатывают бизнес-требования с точки зрения пользы бизнесу. В то же время технические аспекты не менее важны и должны контролироваться на уровне платформ в автоматическом режиме.
Также использование low-code платформ позволяет снизить риски зависимости от отдельных сотрудников. В случае если меняется команда разработки, новым сотрудникам не придется разбираться в коде — они смогут использовать визуальные инструменты для быстрого погружения и понимания алгоритмов работы системы.
Опыт крупных компаний показывает, что правильное использование low-code платформ сокращает общую трудоемкость разработки в 2-3 раза, это обеспечивает соответствующее повышение скорости, снижение затрат и time-to-market. При этом платформы берут на себя генерацию технического кода и контроль качества на всех уровнях, что радикально сказывается на общей надежности, производительности и защищенности приложений.
Какой должна быть low-code платформа?
Александр Сахаров: Low-code платформа должна включать в себя визуальные инструменты для проектирования логической функциональной модели, а также для разработки бизнес-процессов и пользовательских интерфейсов. Инструменты должны генерировать открытый, доступный для редактирования код и автотесты для контроля качества приложения в целом. Также необходимо обеспечить функционал для непрерывного развертывания и интеграции (CI/CD), включая управление сборками и развертыванием в различных тестовых окружениях, а также проведение регрессионного, нагрузочного и интеграционного тестирования.
К тому же, low-code платформа должна обеспечивать контроль за покрытием юнит-тестами, соответствие архитектурным стандартам, стандартам UX и информационной безопасности, а также управление ролями. Она должна уметь генерировать набор автоматизированных тестов для проверки обратной совместимости и запускать тесты на уязвимость для поддержания информационной безопасности. Все эти функции входят в платформы экосистемы low-code разработки микросервисных программных продуктов Digital Q. Платформы дают возможность контролировать качество разработки не только на стадии проектирования и сопровождения, но и в процессе создания программного обеспечения.
Отдельной важнейшей особенностью экосистемы является единый репозиторий всех создаваемых компонентов, что позволяет реиспользовать готовые компоненты, а на уровне платформ избегать дублирующих затрат на создание схожего функционала.
Какие low-code платформы входят в экосистему Digital Q?
Александр Сахаров: В экосистему Digital Q включено более 30 платформ. Они разделены на четыре типа: технологические, производственные, инфраструктурные и кросс-продуктовые.
Технологические платформы — это low-code платформы для создания архитектуры, бизнес-процессов, пользовательских интерфейсов, они включают готовые шаблоны и компоненты для быстрой разработки приложений и публикации их в цифровых каналах. Снимают с разработчиков рутинные задачи по созданию типового кода.
Low-code платформа Digital Q.Archer предназначена для проектирования функциональности приложений, а также управления логикой и структурой микросервисов и их программных интерфейсов. Компоненты платформы обеспечивают полный цикл разработки цифровых решений: от проектирования бизнес-архитектуры приложений до автоматической генерации готовых микросервисов.
Low-code платформа Digital Q.BPM позволяет проектировать и оптимизировать бизнес-процессы. Проектирование ведется в визуальном интерфейсе в общепризнанных нотациях BPMN 2.0 и DMN. Отличительная особенность платформы — процессы исполняются децентрализованно в отдельных микросервисах, при этом управление процессами и их мониторинг осуществляются централизованно.
Технологическая low-code платформа Digital Q.Palette помогает разрабатывать пользовательские интерфейсы цифровых сервисов. Платформа содержит low-code инструменты для проектирования и создания UI-приложений, обширные библиотеки готовых компонентов интерфейсов, шаблоны для проектирования единого UI/UX-дизайна.
Low-code платформа Digital Q.Sensor предназначена для бизнес-мониторинга, аналитики и визуализации данных. Платформа предоставляет визуальную BI-аналитику, удобные графики и дашборды. Визуализации можно комбинировать, создавая комплексные взаимосвязанные группы дашбордов и ситуационные центры.
Low-code платформа Digital Q.DataFlows создана для управления данными, автоматизирует их сбор, преобразование и контроль качества. Вся информация о данных и их источниках аккумулируется в одном месте: инструменты Digital Q.DataFlows помогут понять потоки данных, проходящие через все информационные системы организации — от учетных систем, «озер» и хранилищ данных до конечных отчетов и витрин данных.
Также к технологическим платформам относятся:
- Промышленная интеграционная платформа Digital Q.Integration.
- Платформа для обеспечения взаимодействия со службами обнаружения сервисов и интеграции с системами распределенного кэширования, файловым и объектным хранилищем Digital Q.Environment.
- Платформа для определения допустимых значений метрик здоровья систем и своевременного реагирования на инциденты Digital Q.Health.
- Платформа для организации событийной модели взаимодействия компонентов между собой, загрузки и выгрузки бизнес-сообщений в требуемых форматах Digital Q.MessageHub.
- Платформа для аутентификации, гибкого управления ролями и политиками доступа пользователей, протоколирования событий информационной безопасности Digital Q.Security.
- Платформа распределенного реестра Digital Q.Blockchain.
Какие еще платформы входят в экосистему Digital Q?
Александр Сахаров: Производственные платформы обеспечивают автоматизацию и эффективную работу команд разработки и сопровождения. В их число входят платформы:
- Для управления проектами, командами и задачами Digital Q.PM, Digital Q.Teams, Digital Q.Tasks, Digital Q.Management.
- Для непрерывного развертывания и интеграции (CI/CD) — Digital Q.DevOps.
- Для управления конфигурациями — Digital Q.CMDB.
- Для управления исходным кодом — Digital Q.VCS.
Инфраструктурные платформы созданы на основе открытого исходного кода, взятого компанией под ответственное владение. Позволяют обеспечить надежную, управляемую и высокопроизводительную работу приложений.
К инфраструктурным платформам относятся:
- Современная гибридная СУБД Digital Q.DataBase.
- Платформа для автоматизации развертывания и масштабирования контейнеризованных приложений Digital Q.Kubernetes.
- Платформа для реализации удобных механизмов логирования и анализа работы приложения Digital Q.ELK.
- Платформа для управления серверами приложений Digital Q.TomEE.
- Платформа для управления обменом сообщениями по всем используемым каналам Digital Q.MessageBroker.
Кросс-продуктовые платформы реализованы для решения конкретных задач:
- Digital Q.ProductFactory предназначена для управления единым каталогом продуктов организации.
- Digital Q.ClientCatalog — для ведения единой централизованной базы данных всех участников бизнес-процессов организации.
- Digital Q.Knowledge — для организации и ведения базы знаний.
- Digital Q.Reference — для ведения справочников в едином пространстве.
Платформ очень много. Каким компаниям и для решения каких задач они подойдут в первую очередь?
Александр Сахаров: Экосистема Digital Q доступна как для IT-компаний, которые ведут разработку собственных продуктов, так и для крупных заказчиков, которые ведут и развивают компетенции по самостоятельной разработке.
На базе платформ экосистемы Digital Q партнеры и заказчики могут создавать свои микросервисные решения — разработку можно вести как самостоятельно, так и создавая совместные центры компетенций с доверенными IT-интеграторами. Готовые решения можно размещать на маркетплейсе готовых решений Digital Q и, таким образом, капитализировать собственные разработки.
Если говорить про задачи, то это, конечно, быстрое импортозамещение, модернизация и создание аналогов «с нуля» по следующим классам систем:
- Системы класса BPM и Workflow Management. Все виды конвейерных решений — производственные, кредитные, документооборот, логистические, импортозамещение таких приложений как LOTUS NOTES и др.
- Системы класса FRONT-END, в которых работают операционисты, приложения операторов телефонного центра, мобильные приложения и другие системы дистанционного обслуживания через открытые АРІ.
- Самописные приложения типа офисного пакета. Практика импортозамещения показывает, что российские офисные пакеты не обладают теми же возможностями, например, у них отсутствуют макросы и другие возможности сложных скриптов.
- Инфраструктура интеграции приложений — в платформах экосистемы Digital Q локализован наиболее современный стек для реализации задач интеграции. Локализация собственными силами практически невозможна в условиях одной организации.
- СУБД, системы DWH, ETL по работе с данными и высоконагруженными транзакционными системами — это платформы Digital Q.DataBase, Digital Q.Dataflows, Digital Q.Sensor, которые собраны на базе open source решений и доработаны для промышленного совместного использования.
Экосистема low-code разработки микросервисных программных продуктов Digital Q — это единые подходы к разработке, единый стек разработки, единые инструменты DevOps, прозрачное управление командами, единые механизмы интеграции и работы с данными, быстрое программирование на базе low-code инструментов. Самый лучший результат получается в случае, когда все эти инструменты начинают использоваться вместе. Это дает радикальные улучшения во всех точках производственного процесса: и в разработке, и в интеграции, и в тестировании, а особенно в прозрачности, и в управляемости, и в архитектуре.
Хорошо, low-code платформа действительно может ускорить разработку микросервисных приложений и повысить их качество, особенно при комплексном внедрении, но сколько финансовых вложений могут потребовать такие системы?
Александр Сахаров: Мы стараемся максимально лояльно относиться к ценообразованию, поскольку считаем, что внедрение наших инструментов должно оплачиваться только по факту успешных запусков. Мы готовы разворачивать всю систему бесплатно и договариваться о финансовых отношениях только по факту успешных внедрений. Мы считаем, что правильно брать деньги за результат.
Экосистему Digital Q мы рассматриваем, в первую очередь, как инструмент для разработчиков и команд разработки. Инструментарий не должен стоить больше, чем 10-15% от общей стоимости проекта.
Если компания хочет оценить Digital Q в работе, то мы предоставляем демо-доступ и подбираем необходимый набор платформ под текущие задачи.