Let's talk about the types and methods of deployments, the problems faced by engineers and ops during deployments. Possible ways of control and different approaches to it. How to choose metrics that should be monitored during releases.
Using Argo Rollouts as an example, we will analyze cases of monitoring technical and business metrics, forecasting, and rollback automation.
3. Про що це все?
Як ми прийшли до
інкрементальних
ролаутів
Які проблеми хотіли
вирішити
Що вийшло
І що ж там далі?
4. Трошки про нас
Український стартап, нам 1 рік
3500+ клієнтів
Startup of the Year 2023
62 мікросервіса
3500+ деплойментів за рік
PHP/Golang/Typescript
3 EKS кластера
17. Як було
ArgoCD
GitOps
Мерж в мейн -> деплой на всіх
Мерж по 3 апрувах
Ручний автомоніторинг помилок і аномалій після релізу
Ручний відкат за потреби
20. Чому ArgoRollouts?
входить в екосистему (але можна юзати і в
голому кубі)
вбудовані CRD для роботи в kubernetes
система плагінів аналізатора (god bless you)
підтримка різних інгрес-контролерів
Для початку, в нас був ArgoCD =)
22. Доступні аналітики
Prometheus
Datadog / NewRelic / Wavefront
Kubernetes Job (opens a door to heaven!)
Web
CloudWatch
Graphite / InfluxDB
And a lot more (+ plugins!)
24. Що ми використовуємо?
Github actions
Uspacy chat (так, у нас нема слака =)
ArgoCD
ELK (точніше, Opensearch)
Prometheus
Datadog
Custom metrics (про них далі)
26. Правила ролбеків
Загальні (в темплейтах) та посервісні
% зміни error/access логів
сrashloop
кількість 5xx over time
метрики БД сервісу (CPUUtilization, slow queries)
Datadog: anomalies, response time
Бізнес-метрики: кількість нових реєстрацій
29. Проблеми і складності
Виділені Canary-домени – не з коробки
False-positive та false-negative ролаути/ролбеки
Правила можуть сильно різнитися
Бізнес-метрики постійно змінюються
30. Що далі?
Інтеграція argo workflows, argo events, argo cd,
argo rollouts.
Автоматизувати апдейт порогів метрик
Динамічні стейджі
Управління процесом з чату
Дашборд релізів