Компания работает с несколькими подрядчиками и активно использует передовые цифровые технологии для продвижения продукции и обслуживания клиентов, которые требуют непрерывной разработки и внесения изменений.
Тем не менее, заказчик испытывал ряд проблем:
— отсутствовала единая унифицированная среда разработки для агентств и отсутствовал единый репозиторий кода;
— SLA разнился от сайта к сайту и от агентства к агентству;
— не было возможности предъявлять и контролировать единые требования по безопасности;
— осложнялась поддержка решений, что влекло за собой и ее высокую стоимость.
В связи с этим, компания искала подрядчика, который мог бы взять на себя их решение и унифицировать ИТ-инфраструктуру компании.Задачи
- Развернуть единую мультитенантную платформу размещения приложений подрядчиков на базе Yandex Cloud.
- Унифицировать среду разработки\тестирования\продуктива для различных подрядчиков.
- Упростить поддержку решений за счет унификации, а не множества различных платформ.
- Повысить безопасность решений и пройти внутренний аудит.
- Получить единый SLA для инфраструктурных решений B2C-сайтов и приложений.
Команда ICL Services выполнила внедрение мультитенантной DevOps платформы для размещения приложений подрядчиков на базе Yandex Cloud.
Преимущественно PaaS сервисы используются для платформы (Managed PostgreSQL\MySQL, управляемый OpenSearch, управляемый Kubernetes, Audit Trails, Managed Kafka и т.п.).
Разворачивание инфраструктуры – это автоматический процесс (используется подход IaC и решения Terraform, GitLab, Ansible). При онбоардинге нового агентства запускатеся пайплайн, который через Terraform создает отдельное изолированное облако с необходимым ресурсами – общими для всех сайтов являются среды разработки и тестирования, реестр контейнеров, управляемые СУБД.
При онбординге нового сайта или приложения создаются дополнительные ресурсы:
— изолированные среды для QA и продуктивного контура (Kuberenets кластера управляемые СУБД; реестр контейнеров; Lockbox; и т.п.);
— в GitLab создается выделенные группа, добавляются необходимые шаблоны проектов и CI\CD пайплайнов.
Архитектура сайтов и приложений основывается на микросервисах, поэтому следующие задачи также автоматически выполнялись для каждой новой среды через пайплайн:
— установка Ingress контроллера, helm, S3 CSI драйвера, FluentBit коллектора, Cosign для проверки подписи контейнерных образов;
— интеграция с Lockbox, Container Registry и т.д.
DevSecOps-пайплайн включал реализацию следующих блоков:
— SAST (Static Application Security Testing),
— SCA (Software Composition Analysis),
— DAST (Dynamic Application Security Testing),
— сканирование образов контейнеров на наличие уязвимостей.
Кроме того, выполнялась автоматическая публикация результирующих отчётов безопасности в единую Security Dashboard – инструмент Defect Dojo.
Также в рамках проекта были разработаны Terraform-модули для PaaS сервисов Yandex Cloud (Kafka, Redis, OpenSearch и т.п.) и выполнена настройка Audit Trails.
Публикация приложения в продуктивную среду была возможна только после успешного прохождения каждого этапа сканирования или изучения соответствующих отчётов безопасности.
Результаты
- Платформа реализует стандартизированный подход к разработке, тестированию, внедрению, обеспечению безопасности и мониторингу решений, а также автоматизацию данных процессов.
- Время онбординга нового сайта сократилось с нескольких недель до нескольких часов.
- Сократились затраты на поддержку решения за счет унификации и автоматизации (до 50%).