Canary Releases with PrometheusАрхитектура в DevOps, DevOps для CTO
Ведущий инженер-программист в компании Infobip, более 11 лет занимается разработкой приложений на Java в области финансов и телекоммуникаций. Помимо бизнес-проектов, активно участвует в разработке opensource-продуктов, в том числе собственных плагинов для продуктов Atlassian, очень популярных в сообществе. Активный участник Atlassian Community, апологет использования Prometheus, Docker и Redis.
https://ru.linkedin.com/in/andreymarkelov
Рассмотрим пример. В системе огромное количество приложений, которые обновляются не реже одного раза в неделю. Притом производственное окружение невозможно повторить на тестовом окружении, и нет группы тестирования. Можно ли минимизировать ошибки разработки? Можно!
В докладе будет рассказано, как используя метод «canary releases» с реализацией на метриках Prometheus, удалось обезопасить микросервисы от ошибок разработки и архитектуры, каким образом проходило внедрение, а также детали реализации.
Суть метода заключается в следующем. При работе при высокой нагрузке приложение разворачивается на один узел с уменьшенным количеством трафика, а после проверки производится обновление на всех узлах. Сравниваются метрики, полученные с тестового узла с историческими метриками других узлов, и принимается решение о стабильности версии. Это и называется «canary releases».
Также будет рассказано о роли Prometheus и сложностях внедрения.