Мнение: DevOps — это раковая опухоль

0f9d733ac1202d7fd9db9804c035cc2e

Чтиво на weekend.

Представьте, что вы написали калькулятор, calc.exe. Почему бы не добавить к нему темную тему? Хотя нет, почему тему, путь будет любое количество тем. Мы их будем хранить в файлах .thm. Важно не запутаться, потому что еще мы хотим настраивать расположение клавиш. Просто переключать вид — простой/научный — это слишком просто. Надо ввести понятие layout. Который хранится в файлах *.lyt.

Так, теперь логично написать редактор layouts, который, разумеется, будет больше первоначального калькулятора. И делать bundles .thm+lyt, и… о да, конечно! Marketplace! Создаем сайт, поиск, free/paid, система обновлений… На чем бы все то писать? Что в этом месяце популярно среди front end?

К этому моменту первоначальная идея о том, что калькулятор нужен для того, чтобы считать, давно забыта. Нас утащила в облака идея ползучего улучшательства.

Конечно, по молодости каждый делал такие ошибки. Но DevOps — это то, что описано выше — только масштабировано на уровень фирмы.

Git, Nexus, Jenkins, Ansible, Octopus, Jira… Я как то писал jobs для Jenkins. Они вызывали скрипты на PowerShell. Но DevOps говорят — нет, это слишком просто! Пусть в самом начале каждой Jenkins job curl вытягивает с Nexus последнюю версию скриптов, и только потом уже ее выполняет. Мы получаем версионирование скриптов! Круто же! Никого не интересует, удобно ли это, важно, что это круто и хитро… Ну вы поняли.

Правда, все это крутилось на Linux, а отлаживать это можно было только вживую, поэтому при отладке (изменив одну строчку в скрипте) мне приходилось делать git add ., git commit и push, делать merge, потом запускать Jenkins job, которая паблишила это в Nexus, и где-то спустя пять минут ручной работы я мог проверить новую версию скрипта. Но мне не привыкать — я работал и на перфокартах c одним прогоном в день.

Но вы никогда не задумывались, что DevOps существуют для того, чтобы облегчать жизнь, а не усложнять? Что если появились инструкции на 40 пунктов и 50 yaml файлов — то значит, что что-то пошло не так? У знакомой три девелопера и три человека в отделе DevOps. Ребята, а вы точно экономите деньги?

Вы никогда не задумывались, что net effect от всех действий DevOps — это перенос файлов из одного места в другое (иногда в несколько мест). То есть команда copy (cp) с рядом условий?

Извините, я забыл про облака. Там Terraform, Chef, файлы их конфигураций, а раз файлы, то снова версионность, Git, Nexus, Jenkins… А вы думали, сколько новому человеку во всю эту кухню вникать? Сорри, я забыл, что это не плохо, а наоборот, хорошо, и называется job security.

Во всем этом обилие технологий забыт главный принцип… KISS… Мне кажетcя, современный DevOps превратился в вещь для себя, самосбывающееся пророчество, которое потребляет все больше и больше ресурсов, раскручиваясь как спираль…

P.S. Наверное, Jenkins надо поместить в Docker, а сверху шлифануть Kubernetes…

© Habrahabr.ru