Cloud-driven development
Расскажу об одной стремной вещи, которую называю “Cloud-driven development”. Это когда разработчик тестирует код не локально, а в облаке.
Выглядит так: нужно забрать откуда-то данные, переколбасить и сложить в другое место. Программист пишет код, деплоит в свое окружение и дергает апишку. Она падает. Он смотрит логи. Правит код, деплоит, дергает. Намылить, смыть, повторить. На двадцатой итерации работает как надо, и он закрывает задачу.
А потом у него отпуск, и мне говорят: поправь. Нужно взять данные из еще одной апишки и положить во второе место. Тестов либо нет, либо самые поверхностные.
Я как-то пытался играть по этим правилам. Быстро выяснилось, что окружение нужно готовить. Ой, у тебя старые сервисы, задеплой к себе эту фигню и эту тоже. У твоей облачной учетки нет пермишенов? Скажи девопсу Джорджу, чтобы добавил. Он в отпуске? Ну, жди. Потом не хватает каких-то креденшелов, токенов-шмокенов, их нужно откуда-то догонять.
Короче, выясняется: разработчик настроил себе уютненькое окружение и ушел в закат. Чтобы сделать то же самое мне, нужна неделя. А ведь мог же поднять Докер и помочь всем. В конце концов, не знаешь Докер, попроси кого-нибудь помочь, а пока что тестируй на локальной базе, локальном S3 – таких заглушек полно.
Кончается тем, что я пишу и Докер, и интеграционные тесты, которые ходят в локальные сервисы, чтобы приблизить локальную разработку к облачной. Причем зачастую в счет личного времени, потому что давай-давай.
Я уж не говорю о том, что Cloud-driven development страшно не эффективен. Каждый деплой занимает в лучшем случае 10-15 минут, и за это время ты все равно не возьмешься за другую задачу. Разработчик смотрит Ютуб или ходить курить. Вроде работает, а на самом деле решето: сплошная пустота.
Я бы вообще не давал разработчикам окружений. Это дорого и вдобавок развращает. Вот тебе Докер с базой, Редисом и Кафкой, пиши, тестируй. Пока локально не заведется, ни о каких облаках не мечтай.
В качестве побочки всплывают проблемы конфигурации. Выясняется, что ни один
сервис нельзя направить на локалхост: везде захардкожено что-то вроде "aws." +
region + ".amazon.com"
. Лишний день уходит на то, чтобы сделать хосты
конфигурируемыми.
Читали же: “квартирный облачный вопрос только испортил их” (с)…
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter
Дядя Джон, 23rd Apr 2025, link
Ещё больше удивляет засильне облака Amazon. Когда оно только появилось, в качестве причин называлось снижение затрат на хостинг и администрирование.
Когда я с ним столкнулся несколько лет назад, работа сервисов в Amazon стоила гораздо дороже своего железа или любого другого провайдера VDS/VPS, а администрировать приходилось всё равно, только теперь надо было ещё становиться экспертом-телепатом, потому что многие сервисы являются чёрным ящиком, и если что-то идёт не так, то выяснить причину можно лишь поиском (если повезёт найти ответ!) или перебором настроек, какими-либо другими эзотерическими способами.
Я перевёл небольшую компанию с Amazon на более дешёвые VDS и локальную разработку (для тестов), высвободившихся денег хватило бы на найм 3-х фуллтайм сеньоров. И это для крохотной компании!
Глядя на всё это, думаешь, что мир сошёл с ума.
Grishaev Ivan, 23rd Apr 2025, link
Да, и вдобавок дичайший вендор-лок. Первая доза бесплатно, а потом слезть все сложнее и сложнее.