Классические программеры, пишушие код в своей любимой ide-шечке на своем в лучшем случае маке и запихивающие в сборочные скрипты значения по умолчанию с параметрами тестового mysql-сервера со своего домашнего компа, понятия не имеют о том, как их приложение будет развертываться в продакшене, интегрироваться с десятком других приложений и вообще существовать в реальной жизни.
Поэтому нужны люди, которые будут разбираться в коде на уровне достаточном, чтобы вычищать за разработчиками мусор из конфигов, дописывать костыли по необходимости, связывать сервисы воедино, деплоить это добро на тестовые стенды и автоматизировать процессы тестирования, релиза и обновления А Devops - это такое модное название для них.
Это те люди, которые подготавливают окружения для разработки. Соответственно, на их же части автоматизация и прочее.
Иными словами админы, которые работают для разработчиков, а не пользователей.
Пример: Я вчера поднял teamcity/gradle+gitlab и настроил автоматическую выкладку сайта по коммиту в репу на сервер. Вот чем-то таким девопсы и занимаются.
С того что идеальных людей/программистов/технологий/сборочных систем не бывает. И работать приходится с тем и с теми, кто есть рядом, а не с идеальными разработчиками в вакууме.
Ну и с того что оформление процесса развертывания системы - это самостоятельная большая задача. Действительно хороший разработчик конечно может её выполнить, но только тогда он сам станет devops-ом, а не разработчиком. Времени на разработку у него уже не будет.
На самом деле это обычные нормальные инженеры, понимающие что происходит и как делается за пределами узкой области их текущей ответственности.
Само явление растёт от безысходности на фоне массового нежелания недоадминов понимать как пишутся программы и массового нежелания недопрограммистов понимать как их поделия будут жить в реальном мире.
В такой ситуации нормальные инженеры из обоих лагерей, по сути обладающие примерно одинаковым набором навыков, объединяются в некое пересекающееся подмножество с красивым маркетинговым названием что бы дороже продать себя и улучшить жизнь.
Как раз именно для этого и нужно отдельное название devops. Чтобы проще было дистанцироваться и от администратора, и от инженера, и от подразумеваемого под ними эникея.
вот как раз нетворк админство у нас крайне редко. А так да: начиная от тюнинга ядра и заканчивая ковырянием в коде приложений, плюс средства автоматизации деплоймента. И куча геморроя со стейджингами и continuos delivery.
А то как-то и девелопером себя называть стыдно, и уже давно не админ, а класифицировать поверхносные/средние знания «почти» во всем тоже как-то не выходит...
Не уверен что программирование их основаня обязанность.
не основная. но уметь автоматизировать задачи — must have. тут в помощь идут всякие там шеллы, перлы, питоны, паппеты и чифы. так что без этого, devop, не devop :3
Именно, они не пишут код внутри приложения, но действительно часто пишут сами всю обвязку. Грамотный девопс на вес золота и девелопер не всегда его заменит, так как просто не знает хороших практик управления инфраструктурой
Насколько я понимаю, это такие чуваки, которые пишут скрипты для деплоя софта на очень много серверов (используя puppet, salt, ansible, etc...).
Если всё-ещё непонятно, кто это такие: http://devopsreactions.tumblr.com
Не так. То что ты перечислил может делать один разработчик и при этом не быть devops. Т.к. это полные циклы разработки и пусконаладки. Тем не менее, это не сабж. Термин возник из Agile Development, и только в нем он имеет смысл. Следовательно, если на собесе вам скажут что у них нет скрама или аджаила, а какая-то своя несусветная фигня, то и на должности devops вы будуте заниматься ею.
ну набижали адепты скрамна. чуваче, мы говорим о самом явлении, а не о ваших аджаилах, скрамнах и прочих тсп.
основное требование к сферическому разработчику в вакууме — он должен знать свой ЯП и ту среду с которой он должен работать: os, ide. cvs.
собсна, на этом все.
Он не обязан знать как разворачивать опенстак, kvm инфраструктуру, что такое vlan и как организовать кикстарт или загрузку ноды по сети.
Нет, он конечно может это знать и уметь, но если он помимо написания софта еще и занимается выше перечисленным, то о таких людях и грят: девоп, в не зависимости от ваших скрамнов ;3
ну все зависит от приложения. если это софт как раз автоматизации настройки кластера к примеру, то наш девоп быстро и уверенно превращается в бекенд девелопера :3