Найти тему
Галера Морева

Hype Driven Devops — бессмысленно за дорого

С нового года я выполняю обязанности технического директора в одной компании. Когда меня туда подключали, говорили что-то вроде "надо навести порядок". Я многого насмотрелся в плане бардака в мире разработки и не буду говорить о стандартных проблемах вида "задачи не ведутся полноценно" или "бутылочного горлышка в виде одного разраба", т.к. эти проблемы я сам не всегда знаю как решить)

Но вот проблема меня прямо поразила Hype Driven Devops (подключение сервиса для devops на основе хайпа а не здравого смысла). До подключения меня в проекте техлидил обычный разработчик, который принимал решения, опираясь на хайповые технологии. Поэтому в проекте, совершенно неуместно, лежит GraphQL, Chakra, Lerna и тд. Вообще файл package.json представляет из себя пособие по "импульсивному принятию решения о подключения библиотеки". Но даже это меня удивило не так сильно, т.к. это классика при подключении обычного разработчика на позицию лица, принимающего технологические решения.

Меня удивило сколько было подключено разных сервисов по подпискам "потому что оно прямо круто работает автоматически и без нашего участия". В одном проекте использовались Github actions, Gitlab CI, Heroku, Google Cloud, Vercel, Hetzner с десятком разных VPS о которых уже никто не помнит, оплаченное Kubernetes облако в каком то провайдере, Twilio и другие сервисы с забытыми паролями (но не забытыми там подключенными банковскими картами). Общие расходы в месяц превышают зарплату хорошего JS разработчика. И самое прикольное то, что разраб деплоил все руками по 3-4 часа каждый раз (проект же монорепный с микросервисами — там все круто, красиво и платим за devops, но деплоим руками, т.к. на настройку нет времени).

Меня иногда называют жмотом и "не умеющим тратить деньги на бизнес и поэтому ничего не получится", но у меня правило простое — нужно очевидное доказательство того, что сервис действительно нужен и будет использоваться. Я уже, однажды, "натратил на бизнес, чтобы получилось" на более чем 2.5 млн долгов пару лет назад и сейчас это, слава богу, в прошлом.

У нас и наших клиентов много разных ботов, сайтов, CRM и других непростых систем, которые активно деплоятся, обновляются и вообще живут очень активной жизнью. И всегда они начинают крутиться на самой дешевой vds за 3 евро и каждое увеличение постоянных трат (расширение сервера) — это полноценная задача, в которой надо понять проблему, для решения которой требуется увеличение денег. Если причина — рост нагрузки в связи с приходом пользователей или в целом усложнение системы, то это одно. Зачастую, причина в неоптимальных подходах к решению задачи, неоптимизированных запросах и тд.

Таким образом мы экономим себе и клиентам, в сумме, не одну тысячу долларов в месяц!

Если ваш разработчик складно поет вам про важность и необходимость какого-либо платного сервиса, который "все автоматизирует на раз-два", то сначала поинтересуйтесь у него вообще что за процесс он хочет автоматизировать и как задача решается сейчас? Если нет системного процесса (даже ручного), то автоматизировать нечего. А если процесс системный, то проще начать с какого-нибудь bash скрипта, чтобы понять какие требования к автоматизации нужны, а не тянуть все подряд "потому что они крутые".

В проекте, про который я пишу, я с этого и начал "приводить дела в порядок" - bash скрипт, который все деплоит на обычный VDS через docker-compose — огромная экономия денег и, наконец-то, понимание чего реально нужно автоматизировать и к каким сервисам стоит обращаться для этой цели. Сейчас деплой проводится этим скриптом за 10 минут совершенно без участия кого либо и крутится на паре vds в hetzner..

Могу быть в корне не прав и буду рад услышать, отличные от моего, мнения в комментариях.