Пятнадцать лет строю и масштабирую распределённые системы — застал переход индустрии от bare-metal серверов и монолитов к cloud-native, Kubernetes и GitOps. Берусь за то, что команды откладывают: технический долг, CI/CD с нуля и удержание систем в строю.
Десятки микросервисов, у каждого свой самописный пайплайн, давно разошедшийся с соседними. Свёл их к одному шаблону: сервис объявляет свой тип и получает готовую сборку, тесты и выкатку. Релиз перестал быть согласованным событием на несколько дней — теперь это около пятнадцати минут и без простоя.
Стандартизировал поставку для десятков микросервисов, каждый из которых успел отрастить собственный пайплайн. Один шаблон, подключаемый объявлением типа сервиса, заменил набор копий, разошедшихся сразу после дублирования.
Время релиза упало с многодневного согласованного события примерно до пятнадцати минут, выкатка без простоя. Назвать стоит эффект второго порядка: как только релиз стал дёшев, команды начали выпускать меньшие изменения чаще, а именно это снижает количество инцидентов.
Ключевые достижения
Сократил время релиза с дней примерно до пятнадцати минут
Стандартизировал CI/CD для десятков сервисов
Сделал развёртывание без простоя поведением по умолчанию
Добавил сканирование зависимостей и образов в каждый пайплайн
Превратил откат в смену маршрута за девяносто секунд
Технологии
GitLab CI · Jenkins · Docker · Kubernetes · Helm · Ansible · Bash · Linux