DevOps
DevOps (слияние англ. слов Development (разработка) и Operations (ИТ-операции)) – это новая методология разработки ПО. Она сосредоточена на коммуникации, сотрудничестве и интеграции между подразделениями разработки и эксплуатации. DevOps – это ответ на взаимную зависимость разработчиков и персонала ИТ-операций. Данная методология помогает организациям ускорить производство программных продуктов и предоставление своих сервисов.
Например, в производственной системе Toyota, роль профессионала DevOps схожа с должностью главного инженера. Этот сотрудник отвечает за успех проекта, но формально не руководит различным командами, задействованными на данном проекте. Деятельность специалиста DevOps требует знания используемых технологий и управленческой модели, чтобы убеждать менеджеров проектов принимать эффективные решения. Этому способствует авторитет «главного инженера», признанный руководством предприятия.
Большинство идей для DevOps взяты из методологии управления системами предприятия и движения Agile (операции и инфраструктура).
Термин "devops" был популяризирован на конференции «Дни DevOps» ("DevOps Days") в 2009 году в Бельгии. После этого «Дни DevOps» проводились в Индии, США, Бразилии, Австралии, Германии и Швеции.
Методологии
Обычно новые методологии разработки (такие как Agile), внедряются в организациях в рамках отдельных департаментов:
- Отдел разработки (англ. Devlopment/Software Engineering)
- Отдел ИТ-операций (англ. Technology Operations)
- Отдел обеспечения качества (англ. Quality Assurance)
Деятельность по разработке и внедрению ПО ранее не требовала глубокой интеграции между департаментами. Но на сегодняшний день необходимо тесное сотрудничество всех вышеуказанных отделов.
DevOps это нечто большее, чем просто развертывание программного обеспечения - а именно совокупность процессов и методов, поддерживающих связь и сотрудничество между департаментами. Компаниям, которые выпускают релизы очень часто, желательно знать и применять методологию DevOps. Руководство Flickr приняло решение внедрить у себя DevOps для выполнения серьёзного бизнес-требования – 10 развёртываний в день. Этот ежедневный цикл мог бы требовать более частых развертываний в организациях, которые производят многофункциональные приложения с большим количеством модулей. Такой подход схож с методологиями непрерывная интеграция и непрерывная поставка и часто ассоциируется с методологией Lean Startup. Эта тема обсуждается в рабочих группах, профессиональных ассоциация и блогах с 2009 года.
DevOps внедряется с целью повышения надежности, безопасности и ускорения цикла разработки и цикла развертывания. При этом, ключевое значение имеют следующие процессы:
- поставка продукта
- тестирование качества
- добавление нового функционала
- минорные релизы
Всеобщее признание DevOps обеспечивается за счёт таких факторов:
- Использование методологии Agile и связанных с ней процессов разработки
- Требование увеличения частоты выпуска релизов от владельцев приложений и бизнесов
- Широкое распространение виртуализированной и облачной инфраструктура, предоставляемой внутренними и внешними провайдерами
- Распространение автоматизации дата-центров и инструментов конфигурационного управления.
DevOps часто описывается как более сплочённое и продуктивное сотрудничество между разработчиками и ИТ-персоналом. Это улучшение связи и сотрудничества повышает эффективность и снижает производственные риски, связанные с частым изменениям. Некоторые предприятия уже начинают применять показатели для оценки влияния DevOps на ROI и эффективность разработки.