«Ну и заодно дай доступ к CloudSQL.»

«Ну и заодно дай доступ к CloudSQL.» Нашёл базу на $342 в месяц. В dev.

Разработчик попросил настроить CI/CD в GKE. Ну и «заодно». Добрался до CloudSQL - он уже создал инстанс вручную. К счастью, доступ у него только к dev. 250 ГБ - в 25 раз больше нужного. Enterprise Plus - инстанс $342/мес вместо $32 для dev. Публичный IP. В регионе, отличном от кластера - межрегиональный трафик платный, и задержки на каждый запрос.

Дал по рукам. Сделал нормально. (Это включая объяснение как пользоваться bastion host для доступа к CloudSQL без публичной сети.)


В течение следующих двух месяцев периодически: “а надо ещё вот это задеплоить”. Новый пайп, отдельные права в GCP, допресурсы. Постоянно возникали дополнительные требования.

LB для HTTP2/gRPC, но без TLS на поде. Потом внезапно один сервис оказался WebSocket - “а чего он не работает?” Таймаут. Надо нужный ставить, а не дефолтные 30 секунд.

Потом один из сервисов убрали из GKE - “мы перенесли его в Cloud Function”. Ну ок. Как будет готово - допилим IaC.


Вечером в пятницу разработчик объявил: “Я думаю, мы готовы деплоить в прод. Не прям срочно, но хотелось бы как можно скорее.”

И привёл список из 8 пунктов.

Я настраивал 7. Один удалили. Должно быть 6. Это сильно.

Выясняется.

Тот “удалённый” сервис - это “CloudRun Function”. Так Cloud Run или Function? Как деплоили? Тот же репо или отдельный?

8-й пункт - PubSub топик. Тоже создан руками.


Звучит как жалоба на дебилов? Ну есть маленько.

Но есть важный нюанс. Без DevOps этот же разработчик смог бы запустить всё это в прод - и оно бы работало. Некоторое время. Вполне реально.

Вот только вопрос цены. Размер инстансов? Больше чем нужно, или ещё хуже - меньше чем нужно. База в другом регионе - трафик между регионами платный, задержки на каждый запрос. Кривые права - один SA с максимальными правами на всё. Отсутствующая автоматизация и резервирование. Публичный доступ ко всему.

Молодцы, сделали так чтобы работало. Теперь давайте проверим и сделаем так чтобы работало надёжно и за разумные деньги.