WWWN
IT SOLUTIONSПРОЕКТНОЕ ДЕЛО03 / 05
КОММЕРЧЕСКАЯ ИНФРАСТРУКТУРА
Меньше ручных настроек и повторяющихся сбоев
Автоматизация применения конфигураций интернет-магазина и восстановление стабильной работы сервиса, которым разработчики пользуются для разбора ошибок.
01
Задача
Изменения требовали ручной работы, сбои — вмешательства
Конфигурации инфраструктуры применялись вручную: ошибки приводили к повторным запускам и задержкам. Параллельно сервис сбора ошибок Sentry периодически переставал работать после резервного копирования. Разработчикам приходилось отвлекаться на его восстановление.
02
Решение
Автоматизация настроек и восстановления сервиса
Применение конфигураций перенесено в автоматизированный запуск из GitLab. Для Sentry выявлена связь с блокировкой диска во время бэкапов; настроены восстановление обработчиков, мониторинг и уведомления о сбоях.
03
Как это работает
Штатные изменения запускаются по подготовленному сценарию
Инженеру не нужно вручную воспроизводить каждую настройку. Состояние сервисов отслеживается отдельно, чтобы проблемы не оставались незамеченными.
- 01
Инженер меняет конфигурацию, описанную в коде, и запускает процесс в GitLab.
- 02
Автоматизация применяет настройки вместо последовательности ручных действий.
- 03
Мониторинг отслеживает состояние сервисов; для сбоев обработчиков Sentry настроено восстановление.
Техническая схема и инструменты+
Техническая схемаЛОГИЧЕСКИЕ СВЯЗИ→ действие или передача данных · — функциональная связь. Одинаковые подписи обозначают один и тот же компонент.
Изменения
Конфигурации IaCTerraform · Ansible
Конфигурации
GitLab CI · JenkinsПрименение изменений
Применение
Kubernetes · HelmПриложения и окружения
Образы приложений
HarborПоддержка реестра образов
Образы
KubernetesОбразы приложений
Ошибки приложений
ПриложенияВ Kubernetes
События ошибок
Sentry · SnubaОбработка ошибок
Состояние системы
Приложения и средаВ Kubernetes
Метрики и логи
Grafana · ELKМониторинг, алерты и логи
Секреты и доступ
Vault · LDAPСекреты и доступ
Обеспечение доступа
ПриложенияВ Kubernetes
Sentry/Snuba и Grafana/ELK решают разные задачи наблюдаемости. Они не образуют последовательную цепочку обработки ошибок.
- Terraform · Ansible
- Конфигурации инфраструктуры
- GitLab CI · Jenkins
- Применение изменений
- Kubernetes · Helm
- Приложения и окружения
- Sentry · Snuba
- Обработка ошибок
- Grafana · ELK
- Мониторинг, алерты и логи
- Vault · LDAP
- Секреты и доступ
- Harbor
- Поддержка реестра образов
Terraform · Ansible · GitLab CI · Kubernetes · Helm · Grafana · ELK
04
Результат
Конфигурации применяются примерно в три раза быстрее
Автоматизация заменила ручное применение конфигураций с ошибками и повторными запусками. После исправления сбоев при бэкапах разработчикам больше не приходится вручную восстанавливать Sentry.
- Применение конфигураций запуском из GitLab.
- Автовосстановление обработчиков Sentry вместо ручного вмешательства.
- Мониторинг и алерты для контроля состояния сервисов.