Единая платформа разработки - DevOps-платформа "MOEX DOP"
- Заказчик:
- ПАО Московская Биржа
- Руководитель проекта со стороны заказчика
- Поставщик
- ПАО "Московская Биржа ММВБ-РТС"
- Год завершения проекта
- 2023
- Сроки выполнения проекта
- Январь, 2022 - Ноябрь, 2023
- Масштаб проекта
- 70000 человеко-часов
- Цели
· Ускорить процессы разработки новых цифровых продуктов и сервисов от нескольких публикаций в 2 недели до публикаций по запросу и каждый день;
· Сфокусировать команды на бизнес-задачи и производственные процессы вместо инженерных и инфраструктурных;
· Посредством платформизации и централизации функции, оптимизировать объемы ресурсов “DevOps-команд” с 30-40 инженеров до 10-15;
· Унифицировать и упростить ландшафт производственного процесса и DevOps;
· Повысить видимость и observability всего цикла разработки цифровых продуктов, чтобы ускорить решение инцидентов и проблем конвейера с нескольких дней до одного часа;
· Обеспечить автономность команд, где они могут полностью владеть всеми услугами и продуктами без каких-либо дополнительных расходов. Полный переход к модели самообслуживания и снижение когнитивной нагрузки у продуктовых команд;
· Повысить уровень информационной безопасности производственного процесса и конечных цифровых продуктов посредством увеличения количества security-проверок в конвейере.
- Результаты
Результаты:
1. Ускорили конвейер доставки от 2-3 недель до публикации по требованию и доставки каждого микросервиса по готовности функционала;
2. До платформы в командах было более 40 DevOps-инженеров. Платформа оптимизировала ресурсы с созданием только команды платформы из 10 инженеров;
3. Скорость создания нового базового микросервиса сократился от 3 часов до 1 минуты с подключением всех интеграций;
4. Сократилось время сравнивания окружений с 4 часов до 1 минуты. Портал за считанные секунды выдает отличия и расхождения;
5. Ускорили процесс DevSecOps и работы с внешними библиотеками в 3 раза;
6. Время получения минимальных ресурсов для тестирования гипотез сократили от 3 дней до 3 минут;
7. Внедрение и имплементация CI/CD ускорилось с нескольких месяцев до нескольких дней.
Детали: youtu.be/D5dw08AchLk
Уникальность проекта
Команда DevOps-платформы MOEX одна из первых в индустрии реализовала модель platform engineering на практике и продолжает ее развивать на всю ГК. На платформе уже реализованы такие уникальные сервисы как:
- управление портфелем продуктов
- микросервисы по шаблону с генерацией кода и необходимых CI/CD-интеграций
- расширенная реализация MR approvers для проведения code review
- сравнивание окружений в реальном времени от dev до prod для ускорения процессов тестирования и анализа
- CI/CD как сервис с готовой инфраструктурой
- инженерные/DORA метрики как сервис подключаемые из коробки
- песочница для проверки гипотез
- DevSecOps-сервис проверки и переноса open source во внутренний контур.
Платформенные сервисы DOP MOEX дают возможность продуктовым командам заниматься только бизнес-задачами и с помощью готовых компонентов и услуг самообслуживания ускорять и улучшать цикл производства.
- Проект решает задачи импортозамещения
- Да
- Использованное ПО
Стек:
Golang,
VueJS,
GraphQL,
Clickhouse,
Gitlab, Nexus,
k8s,
TektonCI,
Jira,
ArgoCD,
Vault,
k8s-operators & CRD,
postgresql,
vmware,
Grafana,
Prometheus.- Сложность реализации
Сложности:
1. Создание модели аудита и оценки текущего состояния всех команд, а также сбор их пожеланий по составу будущей платформы. Дополнительную сложность создавала гетерогенность команд, их пожеланий и самого тех.стека;
2. Проектирование архитектуры и интеграций с инструментами разработки. Разнородные интерфейсы интеграций с инструментами наложили дополнительную сложность на создание оптимальной архитектуры;
3. Аналитика бизнес-процессов и пользовательских сценариев разработчиков. Все БП были уникальными и требовали значительных ресурсов на их исследование и проектирование.
- Описание проекта
Платформа DOP – это набор уникальных инженерных сервисов, которые помогают продуктовым командам создавать цифровые продукты и снижать когнитивную нагрузку.
Это единая точка входа команд для организации DevOps-процессов.
Она дает возможность увидеть свои продукты, компоненты и их версии, окружения в реальном времени, артефакты, песочницы и многое другое в едином интерфейсе.
А ролевая модель платформы на базе LDAP дает возможность разграничивать права доступа.
Портал DOP – это простой и user-friendly интерфейс с платформенными сервисами:
- “Управление продуктами”: создание новых продуктов для дальнейшей разработки;
- “Микросервис по кнопке”. За несколько секунд можно создать новый микросервис из готовых шаблонов, при котором они сразу подключаются к CI/CD;
- “CI/CD-aas”: Унифицированные CI/CD-шаблоны для команд, собранные в едином репозитории и дающие возможность командам переиспользовать этапы CI/CD.
- “Сравнивание окружений в реальном времени”.
Можно сравнивать k8s-окружения от dev до prod за считанные секунды и экономить десятки ч/ч инженерам.Портал покажет отличия по версиям образов, деплойментов, helm, конфигураций.
- “Проверка и перенос open source во внутренний контур”. Пользователь в портале выбирает артефакты и запускается процесс их загрузки в карантин. Строится дерево зависимостей, проверяется наличие файлов во внутренних репозиториях, проверяются контрольные суммы. Полученное отправляется на проверку в ИБ.
- “MR approvers”: в портале настраиваются кастомные правила для Merge Request на проект. Правило представляет из себя: ветки, количество «аппрувов» и группу тех, чьи «аппрувы» будут учитываться. На платформу транслируется из Gitlab: статус MR, количество «аппрувов», конфликты, возможность автослияния MR. Gitlab это покажет как дискуссию, блокирующую MR.
- “Инженерные метрики”: в портале можно подключиться к DORA-метрикам;
- “Песочница”: в портале можно за секунды получить инфраструктурные ресурсы (ВМ, k8s) и проверить гипотезу;
- “Запросы к DOP”: позволяет всем внутренним клиентам взаимодействовать с платформой и открывать формализованные тикеты для быстрого их выполнения.- География проекта
- Группа Компаний Московская Биржа
- Дополнительные презентации:
- Global CIO DOP.pdfстатья_хабр1_Ускоряем разработку_ 5 необычных фич DevOps-платформы .pdfстатья_хабр2_гайд_Реальная инженерная трансформация_ от команд и метрик до культуры, конвейеров и инфраструктуры.pdf