Сегодня многие компании, ищущие решения своих потребностей в эксплуатации программных решений, размещают вакансии для DevOps (от англ. Development – развитие, Operations — эксплуатация), причем далеко не все специалисты по кадрам понимают, что это такое. Казалось бы все просто: есть программисты на Perl и PHP, значит, по аналогии, есть инженеры, которые знают какую-то там технологию DevOps. Однако, DevOps – это не технология и не язык программирования.
Методология DevOps возникла в 2009 году, но ее составные части известны с 90-х годов и успешно применялись на разных стадиях автоматизации разработки и эксплуатации ИТ-решений. Поскольку это понятие относительно новое, то у нас оно хорошо известно лишь в инженерной среде, а все остальные только примерно понимают, что это такое. Отсюда и возникло неверное представление, что Devоps – это некая суперсовременная технология, за которую надо просить и давать большие деньги. На самом деле DevOps – это методология, которая объединяет в себе управленческие и технические возможности.
Итак, DevOps состоит из четырех основных составных частей, которые должны реализовываться одновременно. Первый называется Culture (Культура — англ.) и подразумевает, что необходимо из двух отделов – развития и эксплуатации сделать единую структуру. При этом надо понимать, что изначально они являются антагонистами: программисты из отдела Development будут по требованию руководства как можно скорее пытаться внедрить новые фичи, а системные инженеры будут грудью вставать за старые разработки, которые имеют высокую отказоустойчивость. Поэтому совместить эти две разнонаправленные тенденции и примирить системных инженеров и программистов – это задача требующая определенных управленческих навыков.
Про Automation (автоматизация – англ.) говорить нет смысла. Она активно применяется в решении практически любых ИТ-задач и для этого необязательно применять упомянутую методологию.