Внедрение подхода IaC в сервис бронирования жилья

Freepik

О клиенте
Ведущая компания в сфере туризма, которая развивает собственный ИТ-продукт для бронирования жилья, занимается покупкой и оформлением авиабилетов, а также предоставляет консультации по въезду в зарубежные страны. Среди клиентов: физические и юридические лица, для вторых бизнес предлагает сниженные B2B-тарифы. Услугами организации воспользовались уже более 90 млн пользователей.

О проекте
Сервис онлайн-бронирования отелей, хостелов, апартаментов и гостевых домов. В базе — более 4 млн объектов размещения в России и странах ближнего зарубежья. Благодаря «умному» поиску пользователи могут сравнивать жилье и выбирать наиболее подходящий вариант. Т.к. ИТ-инфраструктура продукта росла, компания нуждалась в автоматизации процесса доставки кода и обеспечении непрерывной работы сервиса.

Описание задачи
Ранее инхаус-команда клиента управляла ИТ-ресурсами вручную, что приводило к непредвиденным сбоям в работе системы и затрудняло масштабирование инфраструктуры. Требовалось внедрить технологии, нацеленные на быструю, гибкую и безошибочную разработку.

Клиент сформулировал следующие задачи:

— Осуществить непрерывное развертывание ПО: автоматизация процессов сборки, тестирования и выхода новых версий программы.
— Улучшить масштабируемость сервиса: увеличение инфраструктуры по мере роста пользовательской базы без ручного вмешательства.
— Повысить надежность ИТ-продукта: обеспечение высокой отказоустойчивости сервиса, возможность откатить кодовую базу к последним известным стабильным файлам конфигурации.

Реализация
Для создания новой ИТ-системы команда RedLab приняла решение использовать подход «инфраструктура как код» (Infrastructure as Code, IaC). Технология позволяет последовательно развертывать одну и ту же структуру в различных средах, управлять как одной, так и 1000 машинами, и сокращать жизненный цикл разработки.

DevOps-инженеры RedLab реализовали ряд задач:

— Написали кастомные дашборды для разработчиков и бизнеса, которые предоставляют возможность отслеживать ключевые метрики проекта в реальном времени и принимать решения на основе данных.
— Организовали непрерывную доставку в GitLab CI. В итоге сборка и тестирование кода происходят в автоматическом режиме, без необходимости вручную настраивать каждый этап.
— Создали конфигурационный файл Dockerfile для каждого микросервиса. Технология определяет окружение и зависимости для контейнеров, что обеспечивает гибкость разработки.
— Подготовили Helm чарты, пакетные менеджеры, которые помогают быстро и удобно управлять жизненным циклом программы.
— Реализовали observability на GAP-стеке (Grafana, Prometheus, Alertmanager) и Istio/Jaeger. Это позволило более точно понимать текущее состояние системы и быстрее реагировать на инциденты.
— Написали инфраструктурный код с помощью систем Ansible и Terraform. Удалось сократить время, затрачиваемое на добавление новых машин в кластеры, и улучшить воспроизводимость всех элементов.
— Организовали переезд с монолитной архитектуры на микросервисную в Kubernetes (K8s). Теперь разработка, тестирование и развертывание отдельных компонентов происходит независимо друг от друга, что облегчает обновление и поддержку программы.

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

Источник: https://redlab.dev/success/vnedrenie-podhoda-iac-v-servis-bronirovanija-zhilja/

Источник: www.it-world.ru

0 0 голоса
Рейтинг новости
12857
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии