DevOps

Материал из devopswiki
Перейти к: навигация, поиск

DevOps (слияние англ. слов Development (разработка) и Operations (ИТ-операции)) – это новая методология разработки ПО. Она сосредоточена на коммуникации, сотрудничестве и интеграции между подразделениями разработки и эксплуатации. DevOps – это ответ на взаимную зависимость разработчиков и персонала ИТ-операций. Данная методология помогает организациям ускорить производство программных продуктов и предоставление своих сервисов.

Например, в производственной системе Toyota, роль профессионала DevOps схожа с должностью главного инженера. Этот сотрудник отвечает за успех проекта, но формально не руководит различным командами, задействованными на данном проекте. Деятельность специалиста DevOps требует знания используемых технологий и управленческой модели, чтобы убеждать менеджеров проектов принимать эффективные решения. Этому способствует авторитет «главного инженера», признанный руководством предприятия.

Большинство идей для DevOps взяты из методологии управления системами предприятия и движения Agile (операции и инфраструктура).

Термин "devops" был популяризирован на конференции «Дни DevOps» ("DevOps Days") в 2009 году в Бельгии. После этого «Дни DevOps» проводились в Индии, США, Бразилии, Австралии, Германии и Швеции.

Методологии

Иллюстрация демонстрирует DevOps как пересечение деятельности отделов Разработки, ИТ-операций и Обеспечения качества.

Обычно новые методологии разработки (такие как Agile), внедряются в организациях в рамках отдельных департаментов:

  • Отдел разработки (англ. Devlopment/Software Engineering)
  • Отдел ИТ-операций (англ. Technology Operations)
  • Отдел обеспечения качества (англ. Quality Assurance)

Деятельность по разработке и внедрению ПО ранее не требовала глубокой интеграции между департаментами. Но на сегодняшний день необходимо тесное сотрудничество всех вышеуказанных отделов.

DevOps это нечто большее, чем просто развертывание программного обеспечения - а именно совокупность процессов и методов, поддерживающих связь и сотрудничество между департаментами. Компаниям, которые выпускают релизы очень часто, желательно знать и применять методологию DevOps. Руководство Flickr приняло решение внедрить у себя DevOps для выполнения серьёзного бизнес-требования – 10 развёртываний в день. Этот ежедневный цикл мог бы требовать более частых развертываний в организациях, которые производят многофункциональные приложения с большим количеством модулей. Такой подход схож с методологиями непрерывная интеграция и непрерывная поставка и часто ассоциируется с методологией Lean Startup. Эта тема обсуждается в рабочих группах, профессиональных ассоциация и блогах с 2009 года.

DevOps внедряется с целью повышения надежности, безопасности и ускорения цикла разработки и цикла развертывания. При этом, ключевое значение имеют следующие процессы:

  • поставка продукта
  • тестирование качества
  • добавление нового функционала
  • минорные релизы

Всеобщее признание DevOps обеспечивается за счёт таких факторов:

  1. Использование методологии Agile и связанных с ней процессов разработки
  2. Требование увеличения частоты выпуска релизов от владельцев приложений и бизнесов
  3. Широкое распространение виртуализированной и облачной инфраструктура, предоставляемой внутренними и внешними провайдерами
  4. Распространение автоматизации дата-центров и инструментов конфигурационного управления.

DevOps часто описывается как более сплочённое и продуктивное сотрудничество между разработчиками и ИТ-персоналом. Это улучшение связи и сотрудничества повышает эффективность и снижает производственные риски, связанные с частым изменениям. Некоторые предприятия уже начинают применять показатели для оценки влияния DevOps на ROI и эффективность разработки.

Ссылки

Публикации о DevOps на информационном ресурсе DevOps Hub

Блог о Devops на русском

Блог dev2ops

DevOps в Wikipedia