Подходит ли DevOps для вашей компании?

Технологическая отрасль любит "жужжащие слова". Кажется, что каждый день появляется новое "жужжащее" слово, созданное путем смешения двух технологий для решения проблемы, которая может существовать, а может и не существовать. Но некоторые из этих слов как нельзя лучше отражают суть современного технологического ландшафта.
Одним из таких "жужжащих" слов является DevOps, которое захватило мир ИТ. Это слово стало настолько популярным, что большинство компаний (по крайней мере, тех, где есть ИТ-отделы) либо уже внедрили его, либо рассматривают возможность его внедрения в ближайшем будущем.
Но подходит ли DevOps для вашей компании? Это, в конце концов, самый важный вопрос, который следует задать, прежде чем рассматривать возможность его внедрения.

Что такое DevOps?

Проще говоря, DevOps объединяет разработку и эксплуатацию для сокращения жизненного цикла разработки программного обеспечения/систем и обеспечения непрерывной доставки программного обеспечения.
Из этого определения вытекает другой вопрос.

Что такое непрерывная поставка?
Непрерывная поставка - это подход к разработке программного обеспечения, при котором выпуск программ осуществляется короткими циклами, что позволяет обеспечить надежный выпуск программного обеспечения в любое время. Такой подход к жизненному циклу разработки программного обеспечения в значительной степени зависит от автоматизации, поскольку целью должны быть мгновенные и надежные релизы. Без встроенной автоматизации непрерывная доставка была бы невозможна.
Таким образом, уже с первых слов мы видим, что DevOps ориентирован на очень быстрый и надежный цикл выпуска программного обеспечения, для успешной работы которого необходима автоматизация.
Теперь картина должна быть значительно яснее.
Но давайте копать дальше.

Стоимость DevOps

При рассмотрении вопроса о том, подходит ли DevOps для вашей компании, следует помнить о затратах. Да, при внедрении в культуру и системы компании подход DevOps может в конечном итоге сэкономить деньги (поскольку развертывание программного обеспечения становится практически автоматическим и значительно более надежным). Но деньги, которые придется потратить на начальном этапе, могут оказаться значительными.
Почему?
Обучение.
Непрерывную доставку программного обеспечения сложно настроить, правильно настроить и поддерживать. Это означает, что вам потребуется нанять ИТ-персонал, способный реализовать эту новую стратегию. Вам понадобятся разработчики и операционные администраторы, владеющие такими инструментами непрерывной доставки, как Maven, Jenkins, Puppet, Nexus, Fabric, JIRA, Jmeter и git. А поскольку единого инструмента, позволяющего реализовать CD, не существует, это означает, что вам придется собирать воедино несколько наименований программного обеспечения и систем, чтобы они идеально соответствовали вашим потребностям.
Таким образом, необходимо не только иметь персонал, способный внедрить такую систему, но и иметь в штате специалистов, способных ее спланировать и спроектировать. Затраты на это могут быть значительными. Единственным плюсом является то, что большая часть программного обеспечения имеет открытый исходный код, так что в этом случае бюджет не пострадает.
Все дело в том, что необходимо иметь штат сотрудников, способных собрать воедино эту очень сложную систему.

Культура DevOps

Далее мы должны рассмотреть саму культуру DevOps. Идея этого подхода заключается в том, что для его реализации необходимо, чтобы команды разработчиков и операторов успешно сотрудничали друг с другом. Для этого необходимо оценить эти две команды и честно ответить на вопрос: "Могут ли они успешно функционировать вместе?"
Этот вопрос может показаться глупым. В конце концов, эти люди работают в вашей компании, так не должны ли они, по идее, работать вместе? Хотя на первый взгляд может показаться, что да, но стоит копнуть глубже. Эго может помешать успешному внедрению DevOps.
Прежде чем принимать решение о внедрении DevOps, можно сначала протестировать эти отделы на предмет их способности к совместной работе. Попросите их разработать и создать новое приложение или систему. Если они смогут работать слаженно, то вы уже впереди в игре DevOps. Если же тестовый проект не удастся реализовать, то придется либо перестраивать свои команды, либо вообще забыть о DevOps.

Как вы используете программное обеспечение?

Задайте себе такой вопрос: Как вы используете программное обеспечение? Если ваш бизнес полагается на программное обеспечение для инноваций и сохранения конкурентоспособности и гибкости, то DevOps, вероятно, именно то, что вы ищете. Если вы полагаетесь на программное обеспечение для обеспечения своей деятельности и хотите, чтобы оно постоянно обновлялось и было надежным, то, опять же, DevOps может быть лучшим подходом.
Однако если программное обеспечение - это продукт, который вы продаете, и для вашего бизнеса подходит традиционный жизненный цикл разработки, DevOps может и не понадобиться. Если же вы используете для работы только программное обеспечение сторонних производителей, то DevOps, скорее всего, не принесет вам большой пользы.

Заключение

В конечном итоге DevOps помогает предприятиям, зависящим от программного обеспечения, обеспечить скорость, эффективность, надежность, безопасность и гибкость. DevOps позволяет повысить производительность труда, создать пространство для инноваций, повысить удовлетворенность клиентов, улучшить качество используемого программного обеспечения и повысить уровень ИТ-безопасности. Если вы хотите, чтобы ваша компания достигла этих целей, а ее работа уже зависит от программного обеспечения, то, если вы не добавили DevOps в этот процесс, вы не получаете максимального эффекта от жизненного цикла разработки ПО.