23 июля 2018
Кейсы
Развернули онлайн-систему учета продаж авиакомпании S7 на платформе Kubernetes
Система учета доходов обрабатывает более 50 тысяч транзакций в час, анализируя и сверяя данные с миллионами транзакций за предыдущие периоды. От 20 до 70 сотрудников авиакомпании постоянно работают с системой, а также система поставляет данные по корпоративной шине данных для других потребителей. Каждые две недели мы планово обновляем продукт, также бывают и более срочные релизы.
Онлайн-система учёта доходов изначально разрабатывалась на микросервисной архитектуре. Мы имели возможность обновлять одну часть системы, не затрагивая другие. Но обновления выводили из работы часть функционала и требовали останавливать работу системы на некоторое время от 10 минут до 1 часа. После перехода на Kubernetes обновления не затрагивают работоспособность системы и могут проводиться в любое удобное для разработчиков время.
Платформа Kubernetes – отраслевой стандарт в управлении системами, которые требуют высокой доступности. Kubernetes упрощает облегчает управление решением, развертывание и обновление, мониторинг работы и отладку при сбоях.
Благодаря переходу на Kubernetes заказчики и мы как разработчики получили следующие результаты:
- Все операции — от исходного кода системы до релиза в продуктовую среду — проходят в автоматическом режиме.
- Система может быть размещена у любого облачного провайдера, например, Amazon или Azure.
- Мы обеспечиваем любой уровень производительности и отказоустойчивости за счет масштабирования кластера или кластеров.
- Решение не требует инструкций. Оно самодокументировано и уже сразу автоматически упаковано в единицу использования — контейнер.
- Изменился процесс разработки и тестирования решения. Мы как разработчики можем по требованию создавать окружения, идентичные продуктовым, для автоматизированного тестирования.
Сам процесс перехода к автоматизированному обновлению в нашем случае выглядел следующим образом:
- Упаковали все 15 компонентов системы в изолированные контейнеры.
- Подобрали железо, настройки кластера Kubernetes и версии операционных систем, которые обеспечивали нам максимально отказоустойчивую конфигурацию.
- За неделю до миграции мы развернули Kubernetes на тестовом окружении, проверили корректность работы системы и настроили автоматические скрипты для конфигурации и развертывания боевого кластера.
- Для боевой миграции выбрали время с минимальной нагрузкой системы. В результате простой системы составил около часа и практически не затронул пользователей.