Смерть DevOps.

DevOps неполноценен и болен. Никто не может сказать что такое DevOps. Профессия? Нет. Идеология? Возможно, но она не работает.

Я помню как это все задумывалось, как совершенствовалось. Каждый, кто читал про программистов пишущих рецепты в шефе и управляющих своими сервисами, программистов, которые сами настраивают себе мониторинг и чинят свои же сервисы — каждый верил в наступившую эпоху перемен и некое абстрактное счастье, которое как коммунизм вот-вот наступит. Но не наступило. В итоге появилась отдельная профессия DevOps, что чаще всего означало сисадмина, который использовал chef\puppet, мог написать простенький скрипт автоматизации и интересовался новыми технологиями. В голове у людей сложились абстрактные образы: ты девопс если используешь logstash\fluentd, graphite, docker, chef, ruby\python\go\js. И в итоге остались те же ops отделы, с новыми технологиями в руках и те же dev отделы, которые делают то же самое, что и раньше, но используют новые инструменты. И вечно недовнедренный DevOps.

Почему так получилось? Возможно потому что быть сисадмином и рулить инфраструктурой не так то и просто источник не указан 112 дней?. Возможно, новые инструменты которые должны были быть проще чем старые, оказались сложнее?

В своей практике я руководствуюсь принципом отсутсвия серебрянных пуль: если упрощаешь где-то с одной стороны — усложняешь с другой. Если хочешь использовать chef для конфигурации серверов — подумай о идемпотентности, мутабельности. Хочешь конфигурить шефом разные операционыне системы — получи еще пачку проблем с поддержкой этих ос и опять же мутабельностью. Хочешь использовать докер — получи сырую инфраструктуру и самые неожиданные баги альфы. И это все так сложно, так непродуманно, так сыро…

Возможно именно поэтому и не получается внедрить девопсдо конца.

Единственная альтернатива которая есть сейчас это полудевопс\полуопс — команды, отвеающие за инфраструктуру и за управление ей и девелоперы, которые могут эту инфратсруктуру использовать. Аналог хероку, только свой, кастомный, заточенный под конкретные проекты. Возможно так хоть что-то получится. Возможно тогда DevOps будет значить умение сделать docker контейнер или написать скрипт для packer. Что ж, это намного проще чем конфигурить линукс.