Автоматизация DevOps-процессов для контентной платформы авиакомпании
- PM
- Analyst
- Backend
- Frontend
- QA
- DevOps
- Tech support
- Spring
- Kubernetes
- Docker
- Gradle
- SSH-плагин
- TeamCity
- MongoDB
- Redis
У вас есть задача?
Давайте обсудим?
О клиенте
S7 Airlines – крупнейшая российская авиакомпания, осуществляющая внутренние и международные пассажирские авиаперевозки, входит в перечень системообразующих организаций РФ. Маршрутная сеть перевозчика выстроена на базе авиатранспортных узлов, расположенных в аэропортах Домодедово (Москва) и Толмачево (Новосибирск). Также S7 Airlines имеет три дополнительных хаба: Кневичи (Владивосток), Иркутск (Иркутск) и Пулково (Санкт-Петербург).
О проекте
Ежедневно сотрудники S7 Airlines, включая маркетологов компании, используют в работе на российском и международном рынках контентную платформу S7. Выпускают регулярные обновления на сайте, создают отдельные лендинги для публичного доступа. Чтобы специалисты могли работать автономно (без привлечения ИТ-специалистов) и выполнять необходимые задачи, потребовалось максимально автоматизировать процесс DevOps и создать удобный и интуитивно понятный интерфейс web-ресурса.
Описание задачи
Т.к. с интернет-площадкой S7 Airlines работает около сотни сотрудников, которые не являются backend- или DevOps-специалистами, требовалось исключить ряд ошибок, которые возникают при сильной загруженности контентной платформы, и автоматизировать работу платформы для выполнения специалистами множества рутинных рабочих операций, таких как:
- Тестирование лендингов и их функциональных возможностей.
- Публикация контента на официальных ресурсах авиакомпании.
- Запуск в работу высоконагруженных страниц (например, сезонные распродажи билетов), на которые идет трафик со всего мира.
- Обработка параметров страниц и выпуск лендингов в публичный доступ.
Отдельной задачей проекта обозначили автоматизацию компонентов DevOps для работы Интернет-ресурсов S7 в китайском сегменте Сети, учитывающая локальные особенности и нормы.
Реализация
DevOps-платформа, предназначенная для автоматизации всех необходимых процессов, разрабатывалась в режиме реального времени, параллельно с развитием существующего высоконагруженного официального портала S7. При проектировании платформы использовалось следующее ПО для реализации сервисного подхода:
- Фреймворк с открытым исходным кодом для Java-платформы: Spring.
- Системы для управления контейнеризованными рабочими нагрузками и сервисами: Kubernetes, Docker.
- Cистема автоматической сборки: Gradle, SSH-плагин;
- Билд-сервер для обеспечения непрерывной интеграции: TeamCity.
- Документо-ориентированная система управления базами данных: MongoDB.
- Резидентная система управления базами данных класса NoSQL: Redis.
Такая структура позволила разделить все задачи автоматизации на две основные группы: для инженеров и для всех сотрудников.
Также в платформе предусмотрели функционал защиты от несанкционированного выпуска новых лендингов и страниц на официальные ресурсы, что исключает ряд стандартных ошибок, возникающих при оперативной работе. Кроме того, была произведена автоматизация DevOps-процессов для страниц тематическими или сезонными распродажами билетов, благодаря чему сотрудники могут самостоятельно тестировать функционал лендинга еще до релиза. Автоматизацию реализовали как в русскоязычном, так и на международных зеркалах сайта, включая китайский сегмент.
Результат
Созданная DevOps-платформа автоматизировала необходимые процессы по выполнению множества рутинных операций на основном ресурсе S7, работающем на российский и международный рынках, что позволило в 2 раза сократить время выпуска нужных страниц и лендингов в публичный доступ. За 6 месяцев эксплуатации разработанной DevOps-платформы, авиакомпания сэкономила более 100 человеко-часов сотрудников. В настоящий момент осуществляется техническая поддержка и оказывается помощь в решении вопросов, возникающих при эксплуатации системы.