Блог

Как S7 Airlines и ORS осуществили миграцию системы бронирования за 13 часов

В 2022 году российскую авиационная индустрия была близка к панике из-за санкций. Одной из самых сложных задач для S7 Airlines в этот период стала необходимость перехода с иностранной IT-системы бронирования на отечественную, и выбор пал на ORS PSS. И хотя сама миграция заняла всего 13 часов, за этим стояли многие месяцы плотной работы команд S7 и ORS. В этом тексте мы расскажем про бэкстейдж одной из крупнейших миграций в истории российской авиации.

Что случилось в 2022 году

В одночасье с российского рынка ушли крупнейшие западные вендоры авиационного ПО. IT-специалисты устремились за границу. Комплектующие для серверов пропадали из наличия, едва оказавшись в корзине. Переход на отечественное ПО, в том числе на новую PSS-платформу, стал неизбежностью для авиакомпании.
Что такое PSS? Это IT-платформа полного цикла, включающая все необходимые компоненты для автоматизации процессов дистрибуции продуктов и услуг авиакомпании.
То, что для пассажира выглядит как простой модуль бронирования на сайте или в приложении смартфона, внутри — сложная комплексная платформа для авиакомпании. Сюда входит регистрация багажа, проход по посадочному талону через контроль, отслеживание пересадок, уведомления в приложениях, перераспределение людей в случае задержки или отмены рейса и многое другое. К системе подключены партнеры, аэропорты, агенты продаж, представители авиакомпании, борт-проводники, системы учета. Замена подобной системы влияет на огромное число технологических и бизнес-процессов.

Осознание масштаба

Когда команда ORS осознала масштаб работ для успешной миграции S7 Airlines на платформу ORS PSS, выяснилось несколько моментов:
  • Количество вовлеченных людей — аналитиков, руководителей проектов, разработчиков на стороне ORS — должно кратно вырасти
  • Подобный взрывной рост потребует глубинной трансформации процессов внутри нашей компании
Изменения были неизбежны. Это касалось почти всех фундаментальных процессов, начиная от управления тактическими задачами и заканчивая управлением стратегической «дорожной картой».
На тот момент у ORS не было экспертизы по ведению SDLC и PDLC, а также отсутствовали QA-процессы. Обмен знаниями между сотрудниками осуществлялся неформально, в разговорах. Не было централизованной документации, обучающих материалов, систем метрик и учета. Система управления задачами представляла из себя продукт многолетней давности. Остро стоял вопрос организации более продвинутой технической поддержки клиентов, потому что существовавший подход предполагал простой обмен письмами с жалобами и звонками.

Смотрите также. Презентация миграции S7 Airlines на ORS PSS на конференции Digital Aviation and Travel Forum 2023

Технический контекст

Стандарты и правила гражданской авиации подчинены глобальным спецификациям консорциума IATA, которые разрабатывались в 70-х годах и кардинально не изменились до сих пор. Например, в протоколах обмена сообщениями между авиалиниями и аэропортами нет теперь привычных REST API, JSON и т.д.
ORS PSS представлял классическую трехзвенную архитектуру, с монолитным бэкендом на C++, реляционной базой данных и фронтендной частью, которая за последние годы приобрела более современные черты благодаря vue.js. Мы активно эксплуатировали и другие технологии, такие как K8S, нереляционные БД, Node.js и т.д., но все это надстройки. Ядро и архитектура оставались неизменными.
Мы работали как SAAS, где на нас лежала вся инфраструктура, железо, обслуживание. Наша модель представляла собой физический multi tenancy: у каждого клиента свой изолированный продакшн. Это диктовалось требованиями безопасности и практическими соображениями о полной изоляции клиентов друг от друга во избежание эксцессов, утечек и масштабируемости нагрузки.

Миссия невыполнима?

В условиях иссякающих поставок серверов и постоянно перекраивающегося рынка, нам предстояло:
  • Ссоздать гибкую масштабируемую вычислительную среду
  • Обеспечить максимальную отказоустойчивость на каждом логическом уровне (хранилище, транспорт, вычисления)
  • Минимизировать капитальные и эксплуатационные расходы
Первое, что мы сделали — перезапустили систему управления задачами, внедрили отчетность и расчеты метрик. Мы трансформировали саму суть работы с задачами:
  • Запустили управление разработкой релиза — фазы, скоуп релиза, вехи
  • Внедрили оценки и календарный план
  • Начали рассчитывать и обосновывать требуемые ресурсы
  • Автоматизировали все процессы в управлении задачами
За базу взяли концепцию SDLC и кастомизировали инструменты, чтобы автоматизировать рутинные операции проектного управления, согласование требований, учет и контроль прогресса работ. Мы пришли к прогнозируемым релизным циклам. У нас появилась возможность заранее понимать, где мы точно не успеваем.
Во-вторых, мы пересмотрели систему накопления знаний. Даже если бы мы начали быстро подключать новых разработчиков, это ничего бы не изменило, т.к. за раз мы могли «переварить» одного-двоих. Чтобы решить проблему, мы начали внедрять корпоративную вики и интегрировать в нее всех участников процессов. Постепенно программисты начали органично вливаться и создавать все больше полезного контента: требования, техдизайны, гайды для новичков и не только.

Поддержка клиентов тоже приобрела совершенно иную форму. Мы построили полноценный, масштабируемый, единый процесс вокруг выбранного сервис-деска, который мы кастомизировали под наши нужды. Мы определили ключевые отслеживаемые метрики и внедрили ITIL-подобный процесс.
Отдельное место в изменении процессов занимало QA-тестирование, т.к. такого отдела просто не существовало и тестами занимались все, кто мог. Поэтому за доступный нам квартал со старта работ мы выработали QA-стратегию, внедрили TCMS и правила вокруг него, начали переосмыслять и переделывать наш подход к автоматизации тестирования.
Мы также начали серьезно относиться к области информационной безопасности и сформировали отдел, занимающийся вопросами ИБ.
Как S7 Airlines и ORS за 13 часов поменяли систему бронирования
За период с июня до октября 2022 года команда ORS выросла более чем в 1.5 раза, со 100 до 160 человек. Все они работали в 22 проектных командах. Помимо основных проектных команд, было еще 20 команд по разнообразным доработкам. И все это в усовиях гео-распределенности: офисы S7 Airlines располагаются в Москве и Новосибирске, а команда ORS — в Москве.
Как S7 Airlines и ORS за 13 часов поменяли систему бронирования
Этот опыт показал, насколько готовность подрядчика гибко менять свои процессы может в корне поменять возможности компании и реализовать проекты такого масштаба, которые изначально представлялись как невыполнимые.

Оборудование

Курс на быстрый, отказоустойчивый сетевой стек был взят задолго до новостей о предстоящей миграции. В условиях неопределенности пришлось импровизировать и реализовывать два плана одновременно:
  • Заказывать однотипное оборудование у разных поставщиков.
  • Высвобождать собственные вычислительные ресурсы (план Б).
Именно сетевая составляющая помогла в реализации плана Б: прямой оптический стык (LAN-to-LAN) позволил перенести в облака те ресурсы, требования к доступности которых не разрешали вынести их в интернет.
Снабдив программистов работоспособным решением, достаточным для отладки функциональности, мы озаботились поиском решения, способного обеспечить безотказную и быструю работу продуктивной среды. Собрав приложение в Helm-шаблон, мы развернули несколько кластеров различной конфигурации.
Под синтетической нагрузкой оценивались важнейшие в повседневной жизни SRE-специалиста аспекты работы: стабильность при отказе компонента, скорость работы с хранилищем, простота восстановления и живучесть системы в целом. Кропотливо законспектировав каждую установку, мы вышли на финишную прямую с целым арсеналом скриптов и плейбуков, сведя к минимуму время развертывания и пресловутый человеческий фактор.

Этапы миграции

Начиная с весны 2022 года мы понимали, что S7 Airlines нужно переходить на резервную PSS, т.к. риски отключения международных систем возрастали экспоненциально. Поэтому, было решено развернуть бэкап в виде резервной PSS с базовой функциональностью на основе решения ORS, которое позволит быстро переключиться и оформлять билеты, регистрировать пассажиров на рейс и т.п., чтобы не останавливать коммерческую деятельность авиакомпании.
Как S7 Airlines и ORS за 13 часов поменяли систему бронирования
Поэтому процесс миграции состоял из двух больших этапов — подготовки и запуска резервной PSS в кратчайшие сроки (2 месяца), а затем полноценной миграции системы к октябрю 2022 года.
Как S7 Airlines и ORS за 13 часов поменяли систему бронирования

Красный день календаря

День перехода был расписан даже не по часам, а по минутам. Для нас это было похоже на запуск космического корабля. Ведь малейшая ошибка или недоработка могли помешать людям вылететь, а это вело к колоссальным репутационным и финансовых последствиям для авиакомпании. Кропотливая подготовка и несколько репетиций позволили совершить переход, к которому мы готовились полгода, всего за 13 часов 24 минуты в важную для нас теперь дату, 26 октября 2022 года.
Как S7 Airlines и ORS за 13 часов поменяли систему бронирования
Заметили ли это путешественники? Да. Невозможно отключить продажи и некоторые системы такой огромной компании, как S7 Airlines, на 13 часов бесследно. Однако переход был организован таким образом, что все сервисы обслуживания пассажиров в аэропорту работали в штатном режиме и никак не повлиял на регулярность полетов. Авиакомпания заранее предупредила пассажиров о миграции. Обе команды круглосуточно собирали и обрабатывали фидбек, оперативно решали возникающие вопросы пассажиров и формировали реестр доработок.
Уже 26 октября 2022 года мы вернули сервисы выбора места, покупки багажа и выбора спецпитания. Через месяц подключили бизнес-залы и Fast track, а к концу года — подарочные сертификаты. В течение короткого времени весь функционал был возвращен «на место».
Как S7 Airlines и ORS за 13 часов поменяли систему бронирования

Жизнь после миграции

Это не вся работа, которую мы делаем после миграции. Точнее, это лишь то, что может увидеть путешественник. Мы развиваем большой набор внутренних решений и модулей для улучшения работы PSS.
Сейчас мы работаем со 160+ аэропортами-партнерами авиакомпании не только в России, но и по всему миру, а также наладили связь с тремя наиболее крупными мировыми системами управления бронированиями. Одним из ключевых приоритетов на данный момент является ре-интеграция авиакомпании S7 Airlines в международную партнерскую сеть, и у нас отлично получается расширять базу интерлайн- и кодшер-договоров авиакомпании.
Как S7 Airlines и ORS за 13 часов поменяли систему бронирования
Если две профессиональные команды стремятся к одной цели, готовы быстро и гибко адаптироваться и на старте честно воспринимать все проблемы, то реализовать можно проекты любого масштаба.