ORS 2 апреля 2024

Как S7 Airlines и ORS за 13 часов поменяли систему бронирования

Подробная история о том, как готовилась и происходила одна из самых масштабных миграций на отечественную дистрибутивную систему в истории российской авиации

Задача и причина

Задача:

Предоставить пассажирам S7 Airlines тот же уровень комфорта, технологичности, разнообразия сервисов и услуг после перехода на российское ПО

Причина:

Уход с российского рынка западных вендоров и разработчиков

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

Что случилось  

В одночасье с российского рынка ушли крупнейшие западные вендоры авиационного ПО, а предоплаченные авиакомпаниями пакеты приоритетной поддержки превратились в тыкву. IT-специалисты устремились за границу. Комплектующие для серверов пропадали из наличия, едва оказавшись в корзине.

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

То, что для пользователя выглядит как простой модуль бронирования на сайте или в приложении смартфона, внутри представляет сложный механизм. Сюда входит регистрация багажа, проход по посадочному талону через контроль, отслеживание пересадок, уведомления в приложениях, перераспределение людей в случае задержки или отмены рейса и многое другое. К системе подключены партнеры, аэропорты, агенты продаж, представители авиакомпании, борт-проводники, системы учета. Замена подобной системы — это нетривиальная задача, которая влияет на огромное число технологических и бизнес-процессов.

Как S7 Airlines и ORS за 13 часов поменяли систему бронирования

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

Когда команда ORS осознала масштаб работ для успешной миграции S7 Airlines на платформу ORS PSS, выяснилось несколько моментов:

  • Количество вовлеченных людей — аналитиков, руководителей проектов, разработчиков на стороне ORS — должно кратно вырасти
  • Подобный взрывной рост потребует глубинной трансформации процессов внутри компании

Изменения оказались неизбежны. Это касалось почти всех фундаментальных процессов, начиная от управления задачами и планирования и заканчивая управлением стратегической «дорожной картой».

Но у компании ORS не было экспертизы по ведению SDLC и PDLC, а также отсутствовали QA-процессы. Обмен знаниями между сотрудниками осуществлялся неформально, в разговорах. Не было централизованной документации, обучающих материалов, систем метрик и учета. Система управления задачами представляла из себя продукт 15-летней давности. Остро стоял вопрос организации более продвинутой технической поддержки клиентов, потому что существовавший подход предполагал простой обмен письмами с жалобами и звонки. 

Технические вводные 

Стандарты и правила гражданской авиации подчинены глобальным спецификациям консорциума IATA, которые разрабатывались в 70-х годах и кардинально не изменились до сих пор. Например, в протоколах обмена сообщениями между авиалиниями и аэропортами нет всем привычных REST API, JSON и т.д.  

ORS PSS представляет собой классическую трехзвенную архитектуру, с монолитным бэкендом на C++, реляционной базой данных и фронтендной частью, которая за последние годы приобрела более современные черты благодаря vue.js. Мы активно эксплуатировали и другие технологии, такие как K8S, нереляционные БД, Node.js и т.д., но все это надстройки. Ядро и архитектура оставались неизменными.

Мы работали как SAAS, где на нас лежала вся инфраструктура, железо, обслуживание. Наша модель представляла собой физический multi tenancy: у каждого клиента свой изолированный продакшен. Это диктовалось требованиями безопасности и практическими соображениями о полной изоляции клиентов друг от друга во избежание всяческих эксцессов и масштабируемости нагрузки. 

Первые шаги

В условиях иссякающих поставок серверов и постоянно перекраивающегося рынка, нам предстояло:

  • создать гибкую масштабируемую вычислительную среду
  • обеспечить максимальную отказоустойчивость на каждом логическом уровне (хранилище, транспорт, вычисления)
  • минимизировать капитальные и эксплуатационные расходы

Все это наводило на мысль, что полгода, отведенные на миграцию — цейтнот. Нам нужно было время, оборудование и опыт. Было очевидно, что попытки схватиться за все сразу создадут еще больший хаос, поэтому приходилось жестко расставлять приоритеты.

Первое, что мы сделали — перезапустили систему управления задачами, внедрили отчетность и расчеты метрик. Мы трансформировали саму суть работы с задачами: 

  • запустили управление разработкой релиза — фазы, скоуп релиза, вехи
  • внедрили оценки и календарный план
  • начали рассчитывать и обосновывать требуемые ресурсы
  • автоматизировали все, куда дотянулись руки в управлении задачами

За базу взяли концепцию SDLC и кастомизировали инструменты, чтобы автоматизировать рутинные операции проектного управления, согласование требований, учет и контроль прогресса работ. Мы пришли к прогнозируемым релизным циклам. У нас появилась возможность заранее понимать, где мы точно не успеваем. 

Во-вторых, мы начали работу над задачей накопления знаний. Даже если бы мы начали быстро подключать новых разработчиков, это ничего бы не изменило, т.к. за раз мы могли «переварить» одного-двоих. Кривая обучения специфики авиационной отрасли и продукту довольно большая, это сложная область. Чтобы решить проблему, мы начали внедрять корпоративную вики и интегрировать в нее всех участников процессов. Это не произошло быстро, но постепенно программисты начали органично вливаться и создавать все больше полезного контента: требования, техдизайны, гайды для новичков и не только. Поддержка клиентов тоже приобрела совершенно иную форму. Мы построили полноценный, масштабируемый, единый процесс вокруг выбранного сервис-деска, который мы кастомизировали под наши нужды. Мы определили ключевые отслеживаемые метрики и внедрили ITIL-подобный процесс.

Отдельное место в изменении процессов занимал QA, т.к. такого отдела просто не существовало и тестами занимались все, кто мог. Поэтому за доступный нам квартал со старта работ мы выработали QA-стратегию, внедрили TCMS и правила вокруг него, начали переосмыслять и переделывать наш подход к автоматизации тестирования. 

Мы также начали серьезно относиться к области информационной безопасности и сформировали отдел, занимающийся вопросами ИБ. 

За период с июня до октября 2022 года команда ORS выросла более чем в 1.5 раза, со 100 до 160 человек. Все они работали в 22 проектных командах. Помимо основных проектных команд, было еще 20 команд по разнообразным доработкам. И все это в усовиях гео-распределенности: офисы S7 Airlines располагаются в Москве и Новосибирске, а команда ORS — в Москве.

Как S7 Airlines и ORS за 13 часов поменяли систему бронирования

К моменту полноценного перехода в проект было вовлечено более 600 человек с обеих сторон — заказчика и подрядчика. 

Как 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 часов поменяли систему бронирования

Если две профессиональные команды стремятся к одной цели, готовы быстро и гибко адаптироваться и на старте честно воспринимать все проблемы, то реализовать можно проекты любого масштаба.   

Результат

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