Переисользование
Иногда нет смысла писать какие-то свои тулзы и джобы, если можно у кого-то тиснуть какой-то инструмент и допилить под свои нужды, с большой вероятностью это сократит вам 90% времени на написание идеальных пайпланов, и что самое интересное - можно во время "допиливания" дополнить и расширить имеющийся функционал, что собственно я и сделал.
Сгрузил на джуна-падавана все пожары, за пару недель неспеша адаптировал чужое (очень крутое) решение под свои нужды и расширил немного функционал (добавил ещё техстек который собирается), и начал перевод всех сервисов на это решение.
Естественно столкнулся с трудностями в некоторых вопросах и пришлось разгребать завалы в исходниках совместно с разработчиками, проводить оптимизации импортов, добавлять требуемые зависимости (которые потом выстрелят в положительном ключе) и так далее.
С этого момента начался процесс "девопс как сервис" совместно со стандартизацией и шаблонизацией, чтобы отдать разработчикам и инженерам эксплуатации максимально высокоуровневые абстрации для работы.
Шаблон сборочнозависимых конфигов расширился до 5 технических стеков (90% требуемых параметров идентичны для всех, различия только в том ЧТО собирать и КОМАНДЫ на сборку, которая специально вынесена в параметр для разработчика).
Онбординг новых сервисов с нуля сократился с 3-14 дней (зависело от загрузки тикетами девопсов) до 15 минут - зашёл в портал, ввёл что нам нужно знать, выбрал требуемое из выпадающих списков и нажал PLAY: получил настроенный полностью job, репку с конфигами и дополнительные штуки требуемые для автоматизации.
Перевод старых сервисов, которые не были по стандартному уже процессу - так же 15 минут - по сути вся обвязка появляется с нуля и от разработчика нужно потом только запустить джобу которую он получил.
Аналогичный подход и к процессу CD так же применился отлично: стандартизация и шаблонизация. Были разрозненные деплойменты с прибитыми гвоздями значениями, различные сетевые конфигурации такие же - ужасные и не масштабируемые. 1 месяц потребовался для неспешного написания нового хелм чарта с нуля, в котором целая куча условий, хелперов и так далее, но что скрыто от разработчика - разработчику отдан values и инструкция как, что и куда заполнять, чтобы случилась "магия". Неспешно написанный чарт был конечно же крут своей расширенностью, но несколько разных деплойментов под каждый техстек - ну печально выглядело, особенно с учётом возможности переиспользования целых блоков, если это всё объединить. В итоге за неделю был рождён монстр - универсальный деплоймент под все требования и под все техстеки, написание за пару дней, и дней 5 тестов - для каждого техстека - генерировалось всё так же как и было, и доработка была внедрена.
Что год назад получили разработчики: одинаковые конфиги для сборки, одинаковые джобы различающиеся только тем какой сервис собирать, одинаковый лог сборки, в котором в одних и тех же местах любой разработчик может увидеть требуемые вещи которые необходимо пофиксить с его стороны, одинаковые вельюсы (где меняются только CD параметры от стенда к стенду), но есть общий глобал который можно менять и получать дополнительно тот или иной функционал.
Внедрение всего этого с нуля заняло примерно пару месяцев в базе, и 4-5 месяцев до полного перехода на процесс, так же количество тикетов-пожаров аля "всё пропало шеф, у нас все сломалось, надо обновить образ истио, надо обновить базовый образ докера и так далее" упало почти до нуля - 1-2 тикета в неделю-две.
После освобождения практически 90% времени от пожаров, появилось время заняться "девопсиными" делами - автоматизировать то, что лень делать руками, написать свой дополительный портал для разработчиков ("вайбкодинг" привет) и так далее, и соответственно целая куча времени на учёбу, ибо дедушка Ленин завещал: учиться, учиться и ещё раз учиться.
Итогово сейчас у меня на обслуживании примерно 100 микросервисов, и еще 30-40 на подходе, ибо несколько смежных команд решили перейти на наш процесс, и что самое интересное - весь подход масштабируется без моих усилий или усилий моего юного падавана.