17 Июля 2024 RedLab 238 0 В избр. Сохранено Авторизуйтесь Вход с паролем Внедрение подхода IaC в сервис бронирования жилья Компания RedLab приняла участие в реализации проекта по автоматизации развертывания ИТ-инфраструктуры. В этой статье делимся кейсом. Нравится 0 Tweet 0 Send Мнение автора может не совпадать с мнением редакции О клиентеВедущая компания в сфере туризма, которая развивает собственный ИТ-продукт для бронирования жилья, занимается покупкой и оформлением авиабилетов, а также предоставляет консультации по въезду в зарубежные страны. Среди клиентов: физические и юридические лица, для вторых бизнес предлагает сниженные 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 позволило автоматизировать и ускорить процессы развертывания инфраструктуры и программного обеспечения, а также улучшить масштабируемость, надежность и гибкость сервиса.Источник. 0 Авторизуйтесь В избр. Сохранено Авторизуйтесь Вход с паролем Нравится 0 Tweet 0