Как радикально ускорить разработку микросервисных продуктов c помощью экосистемы Digital Q от компании «Диасофт»
Сократить срок создания программного обеспечения без ущерба для качества позволяет выстраивание разработки по принципу конвейера, каждый этап которого оптимизирован. Особенно это актуально для больших проектов с множеством изменений и различных жизненных циклов разработки. Как получить ускорение на всех этапах создания программного обеспечения (ПО) рассказал Александр Сахаров, директор по работе с партнерами компании «Диасофт».
Содержание |
Платформенный подход
При разработке микросервисных решений неизбежно приходится сталкиваться с одинаковыми задачами, которые необходимо решать каждый раз заново: управление и контроль архитектурных стандартов, обратная совместимость, контроль производительности, горизонтальной масштабируемости, информационной безопасности, управления ролями, логированием, операционным взаимодействием, покрытием тестами и т.д. Все эти рутинные задачи автоматизируют low-code платформы.
Благодаря тому, что всю техническую обвязку обеспечивает платформы, команды фокусируются на создании ценностей для бизнеса заказчика. Это снижает требования к компетенциям разработчиков, но требует высокой слаженности. Без платформ добиться такого уровня координации в работе сотен команд было бы невозможно.
Также low-code платформы позволяют реиспользовать большое количество компонентов, что также ускоряет разработку. Например, раньше разработчик тратил около 15% времени на создание нового кода, остальное время уходило на исправление ошибок, проектирование и доработку существующего кода. Сейчас благодаря платформенному подходу, скорость разработки нового кода значительно возросла: на создание нового функционала уходит примерно 50% времени.
Несмотря на перечисленные преимущества, low-code платформы часто вызывают скепсис. Это связано с тем, что раньше такие платформы разрабатывались в монолитной архитектуре, часто приводили к зависимости от поставщика, были практически не масштабируемы. Сейчас же low-code платформы нового поколения, реализованные в микросервисной архитектуре, решают эти проблемы. Например, к платформам нового поколения относятся платформы экосистемы low-code разработки микросервисных продуктов Digital Q.
Единое пространство для проектирования и разработки
Использование low-code платформ меняет подход к работе аналитиков и их взаимодействию с разработчиками: они объединяют процессы проектирования и написания кода в едином пространстве.
Аналитики занимаются проектированием с помощью визуальных инструментов. Например, на этапе проектирования логической архитектуры создается схема с ключевыми объектами, связями между ними и их типами. На основе этого можно сформировать всю техническую микросервисную обвязку и опубликовать код. Автоматически генерируются документация, описания и контракты, код проверяется юнит-тестами. После этого разработчики могут вносить изменения в сгенерированный код, добавлять уровни сложности и новые функции по мере необходимости. Такой подход значительно экономит время как разработчикам, так и аналитикам.
Далее аналитики работают над бизнес-процессами с помощью визуальных инструментов, которые позволяют быстро вносить изменения, а также оперативно разобраться в чужом коде в случае смены команды.
После завершения разработки начинается этап эксплуатации, который требует постоянного внесения изменений. Визуальные инструменты позволяют аналитикам быстро вносить изменения и запускать A/B-тесты: они могут контролировать сбои, отлаживать код в визуальном режиме и отслеживать процент отладки и тестирования в реальном времени. Работа аналитика и разработчика в визуальной среде позволяет контролировать эффективность программного продукта, выявлять проблемы в бизнес-процессах и улучшать их. Такой подход позволяет создать ситуационный центр для оптимизации процессов, что особенно полезно на операционном уровне.
Автоматическая генерация единообразного фронтенда
После проектирования архитектуры и бизнес-процессов с помощью платформы генерируется фронтенд, который состоит из отдельных микросервисов и написан с использованием популярных в России фреймворков, таких как Angular и React. Благодаря этому фронтенд получается адаптивным под разные экраны, омниканальным и в едином дизайне, что позволяет избежать ситуации, когда разные команды по-разному реализуют UX/UI. Трудоемкость разработки значительно снижается, так как практически не требуется вмешиваться в автогенерацию кода фронтенда.
Выстраивание DevOps конвейера
Контроль автоматических тестов с помощью DevOps pipeline также радикально сокращает трудоемкость. При непрерывном развертывании CI/CD pipeline настраиваются различные функции: оркестрируются сборки, тестовые среды, этапы тестирования, различные контроли кода. DevOps контролирует архитектурные правила и может блокировать развертывание в случае их нарушения.
Контроль трудоемкости команд
В процессе выстраивания конвейера по производству IT-продуктов важно отслеживать эффективность команд разработки. В этом помогает рейтинг и разделение работы на типовые задачи (нормативы). С помощью рейтинга каждая команда может отслеживать ключевые показатели (time-to-market, процент нового кода, скорость выполнения задач и т.д.) и сравнивать свой результат с другими командами. Разделение работ на нормативы позволяет держать объем трудоемкости под контролем.
В компании «Диасофт» рейтинг сделан на базе решений по управлению задачами, командами, проектами, полноценно заменяющих Jira и MS Project — Digital Q.Task&Teams и Digital Q.PM.
Использование больших языковых моделей (LLM)
Задачи, которые раньше поручались junior-разработчикам, senior-разработчики могут решать с помощью больших языковых моделей (LLM), дорабатывая отдельные части вручную. Это увеличивает объем работы, которую может сделать разработчик. По сути, он становится «дирижером»: занимается более сложными задачами, а рутинные операции по кодогенерации делегирует LLM.
При таком подходе важно контролировать качество кода. Для этого необходимо соблюдать множество политик по информационной безопасности, горизонтальной масштабируемости, CRUD-операциям, архитектурные правила для создания и взаимодействия микросервисов и т.д. Все эти необходимые политики встроены в low-code платформы экосистемы Digital Q, что не дает нарушить правила при кодогенерации с помощью LLM. Комбинированная разработка с помощью LLM и low-code платформ сокращает трудоемкость в три раза и повышает качество кода за счет внутренних инструментов контроля.
Заключение
Проектирование, разработка, DevOps и управление командами — это все части конвейера разработки программного обеспечения, на каждом этапе которого возникает существенная экономия времени и ресурсов при использовании low-code платформ. При этом конвейер разработки можно постоянно улучшать, добавляя новые инструменты (искусственный интеллект, ИИ-ассистенты, системы автоматического тестирования и контроля кода и др.) Такой подход к разработке соответствует новым стандартам IT-индустрии и позволяет создавать новые продукты с высочайшим уровнем качества в современной архитектуре.
Конвейер по производству программного обеспечения на базе платформ экосистемы Digital Q полностью отчуждаем, любая IT-компания может им воспользоваться и строить на нем свои системы.


