Эффективное использование информационных технологий в крупных организациях — это критически важный фактор успеха бизнеса в целом. Важно, чтобы IT-архитектура была в состоянии обеспечивать готовность компании к росту, изменениям и неожиданностям. Здесь на помощь приходит микросервисная архитектура. Создание микросервисных приложений сопряжено с рядом сложностей, однако с ними позволяют справиться low-code платформы. Подробнее об этом — в интервью Александра Сахарова, директора по работе с партнерами компании «Диасофт».
Tadviser: Какие основные сложности возникают у программистов при разработке микросервисных приложений?
Александр Сахаров: Микросервисная архитектура уже давно доказала свои преимущества перед монолитами благодаря своей гибкости, масштабируемости и удобству модернизации. Однако, несмотря на очевидные плюсы, реализация микросервисов связана с рядом особенностей, которые требуют внимания разработчиков. При разработке микросервисных приложений программисты сталкиваются с рядом сложностей, в том числе для соответствия высоким требованиям по горизонтальной масштабируемости, производительности, отказоустойчивости, согласованности бизнес-процессов, информационной безопасности, ролевой модели, связности и унификации пользовательского опыта, омниканальности и другим важным аспектам внутренней архитектуры. Разделение приложения на множество микросервисов еще более усложняет общую архитектуру, что требует глубокого понимания и контроля взаимодействия между компонентами. Сложности также возникают с согласованностью разных данных, особенно при использовании отдельных баз данных в разных микросервисах. Тестирование множества взаимозависимых сервисов требует особых подходов и инструментов. Более сложная архитектура увеличивает объем возможных уязвимостей.
Tadviser: Что может помочь справиться с этими сложностями?
Александр Сахаров: Справиться с перечисленными сложностями позволяет платформенный подход, в котором платформа берет на себя автоматическую генерацию технического кода и контроль согласованности между собой микросервисов и компонентов, а также контроль соответствия кода архитектурным практикам и правилам. Платформа заставляет работать программистов так, чтобы совместная работа приводила к синхронному правильному результату.
Платформы экосистемы low-code разработки программных продуктов Digital Q представляют собой среду разработки для быстрого создания приложений в микросервисной архитектуре и организации эффективного производства программных продуктов.
Ключевая отличительная особенность экосистемы Digital Q — это создание полностью микросервисного приложения с открытым кодом, который не зависит от платформы и полностью доступен для распространения и использования.
Tadviser: С чем связана популярность low-code платформ при разработке ПО?
Александр Сахаров: В крупных организациях работают сотни и уже часто тысячи программистов, все они должны не противоречить друг другу и соблюдать единые требования к разработке. Low-code платформы позволяют настроить процесс таким образом, что программисты и аналитики решают прикладные задачи, прорабатывают бизнес-требования с точки зрения пользы бизнесу. В то же время технические аспекты не менее важны и должны контролироваться на уровне платформ в автоматическом режиме.
Также использование low-code платформ позволяет снизить риски зависимости от отдельных сотрудников. В случае если меняется команда разработки, новым сотрудникам не придется разбираться в коде — они смогут использовать визуальные инструменты для быстрого погружения и понимания алгоритмов работы системы.
Опыт крупных компаний показывает, что правильное использование low-code платформ сокращает общую трудоемкость разработки в 2-3 раза, это обеспечивает соответствующее повышение скорости, снижение затрат и time-to-market. При этом платформы берут на себя генерацию технического кода и контроль качества на всех уровнях, что радикально сказывается на общей надежности, производительности и защищенности приложений.
Tadviser: Какой должна быть low-code платформа?
Александр Сахаров: Low-code платформа должна включать в себя визуальные инструменты для проектирования логической функциональной модели, а также для разработки бизнес-процессов и пользовательских интерфейсов. Инструменты должны генерировать открытый, доступный для редактирования код и автотесты для контроля качества приложения в целом. Также необходимо обеспечить функционал для непрерывного развертывания и интеграции (CI/CD), включая управление сборками и развертыванием в различных тестовых окружениях, а также проведение регрессионного, нагрузочного и интеграционного тестирования.
К тому же, low-code платформа должна обеспечивать контроль за покрытием юнит-тестами, соответствие архитектурным стандартам, стандартам UX и информационной безопасности, а также управление ролями. Она должна уметь генерировать набор автоматизированных тестов для проверки обратной совместимости и запускать тесты на уязвимость для поддержания информационной безопасности. Все эти функции входят в платформы экосистемы low-code разработки микросервисных программных продуктов Digital Q. Платформы дают возможность контролировать качество разработки не только на стадии проектирования и сопровождения, но и в процессе создания программного обеспечения.
Отдельной важнейшей особенностью экосистемы является единый репозиторий всех создаваемых компонентов, что позволяет реиспользовать готовые компоненты, а на уровне платформ избегать дублирующих затрат на создание схожего функционала.
Tadviser: Какие 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 помогут понять потоки данных, проходящие через все информационные системы организации — от учетных систем, «озер» и хранилищ данных до конечных отчетов и витрин данных.
Также к технологическим платформам относятся:
Tadviser: Какие еще платформы входят в экосистему Digital Q?
Александр Сахаров: Производственные платформы обеспечивают автоматизацию и эффективную работу команд разработки и сопровождения. В их число входят платформы:
Инфраструктурные платформы созданы на основе открытого исходного кода, взятого компанией под ответственное владение. Позволяют обеспечить надежную, управляемую и высокопроизводительную работу приложений.
К инфраструктурным платформам относятся:
Кросс-продуктовые платформы реализованы для решения конкретных задач:
Tadviser: Платформ очень много. Каким компаниям и для решения каких задач они подойдут в первую очередь?
Александр Сахаров: Экосистема Digital Q доступна как для IT-компаний, которые ведут разработку собственных продуктов, так и для крупных заказчиков, которые ведут и развивают компетенции по самостоятельной разработке.
На базе платформ экосистемы Digital Q партнеры и заказчики могут создавать свои микросервисные решения — разработку можно вести как самостоятельно, так и создавая совместные центры компетенций с доверенными IT-интеграторами. Готовые решения можно размещать на маркетплейсе готовых решений Digital Q и, таким образом, капитализировать собственные разработки.
Если говорить про задачи, то это, конечно, быстрое импортозамещение, модернизация и создание аналогов «с нуля» по следующим классам систем:
Экосистема low-code разработки микросервисных программных продуктов Digital Q — это единые подходы к разработке, единый стек разработки, единые инструменты DevOps, прозрачное управление командами, единые механизмы интеграции и работы с данными, быстрое программирование на базе low-code инструментов. Самый лучший результат получается в случае, когда все эти инструменты начинают использоваться вместе. Это дает радикальные улучшения во всех точках производственного процесса: и в разработке, и в интеграции, и в тестировании, а особенно в прозрачности, и в управляемости, и в архитектуре.
Tadviser: Хорошо, low-code платформа действительно может ускорить разработку микросервисных приложений и повысить их качество, особенно при комплексном внедрении, но сколько финансовых вложений могут потребовать такие системы?
Александр Сахаров: Мы стараемся максимально лояльно относиться к ценообразованию, поскольку считаем, что внедрение наших инструментов должно оплачиваться только по факту успешных запусков. Мы готовы разворачивать всю систему бесплатно и договариваться о финансовых отношениях только по факту успешных внедрений. Мы считаем, что правильно брать деньги за результат.
Экосистему Digital Q мы рассматриваем, в первую очередь, как инструмент для разработчиков и команд разработки. Инструментарий не должен стоить больше, чем 10-15% от общей стоимости проекта.
Если компания хочет оценить Digital Q в работе, то мы предоставляем демо-доступ и подбираем необходимый набор платформ под текущие задачи.