Уже много написано об IT service management (ITSM) и DevOps. Большая часть статей посвящена противопоставлению ITSM и DevOps или даже тому, как DevOps “убивает” ITSM. К счастью, некоторые ведущие эксперты по DevOps высоко оценивают необходимость в совместной работе ITSM и DevOps, направленной на удовлетворение потребностей бизнеса в инновациях и услугах, основанных на технологиях. Итак, вместо того чтобы сравнивать и противопоставлять DevOps и ITSM, давайте рассмотрим некоторые практические советы по их совместному применению.
“DevOps против ITSM” или “DevOps и ITSM”?
Обычно в компаниях DevOps и ITSM – это две отдельные области со своей внутренней культурой и инструментами, и в которых задействованы разные люди. Тем не менее, их можно заставить работать вместе. Что подтверждается выходом в 2019 году ITIL 4, в котором подчёркивается важность DevOps и Agile для будущего ITSM.
ITSM “вытягивает”(pulls), а DevOps “толкает”(pushes)
Если вы знаете о теории ограничений, или о пути Toyota, или о превосходных книгах “проект Феникс” и “проект Единорог”, то вы знакомы с концепциями “вытягивания” (pull) и “выталкивания” (push). Ниже приведена иллюстрация того, как эти две концепции работают на практике:
С помощью DevOps можно “выталкивать” решения потребителю. Эти решения могут быть как внутренними – например, такие как новая среда разработки, – так и ориентированными на клиента – например, рабочая станция или обновление производственной системы. Механизм “выталкивания” часто представляет собой конвейер непрерывной интеграции/непрерывной доставки (CI/CD), который автоматизирует создание артефактов, перемещение их между системами, тестирование – никаких человеческих рук в этом случае не требуется.
И наоборот, ITSM может “вытягивать” решения, отталкиваясь от потребностей пользователей подобно производственной линии, работающей по принципу “точно в срок”. По сути, это те же самые решения, которые “выталкивает” команда DevOps, но “вытягивающая” система отличается от “выталкивающей”.
Представьте себе нового сотрудника, которому нужен доступ к среде разработки. Система ITSM “вытягивает” решение, сообщая конвейеру DevOps, что необходимо создать новую среду разработки. Но как это происходит на самом деле?
Как два каталога услуг работают вместе
Секрет успешного объединения DevOps и ITSM заключается в связывании их каталогов услуг.
Каталог поддерживающих услуг (в оригинале статьи – AWS Service catalogue) позволяет технологическим командам составлять каталоги, которые могут включать в себя широкий спектр услуг – от развёртывания виртуальных машин, серверов, программного обеспечения и баз данных до формирования многоуровневой архитектуры приложений и комплексных ИТ-сред.
Каталог услуг в ITSM-инструменте предоставляет собой единый источник информации обо всех услугах в эксплуатации и предложениях услуг для всех пользователей организации.
Типовой пример взаимодействия ITSM и DevOps – это заказ сотрудником-программистом новой среды разработки с использованием каталога услуг ITSM. В рамках ITSM-процессов выполняется авторизация, а затем запускается поток создания ценности, который “вытягивает” среду разработки из каталога поддерживающих услуг. Элемент каталога поддерживающих услуг запускает конвейер CI / CD, чтобы “вытолкнуть” новую среду и сообщить “системе ITSM”, когда среда будет готова. Завершение потока создания ценности и выдача разработчику доступа к новой среде осуществляется в рамках ITSM-процессов.
Поток создания ценности, доставляющий продукт или услугу реальному лицу (например, новому разработчику), должен управляться в контексте ITSM. Каталог ITSM-услуг скрывает сложность потока создания ценности от конечного пользователя. А каталог поддерживающих услуг скрывает сложность DevOps от системы ITSM.
Итак, стремитесь к тому, чтобы DevOps и ITSM совместно работали в вашей организации, используя свои сильные стороны на благо всех заинтересованных сторон.
Оригинал статьи доступен по ссылке.
Корней Иванович Чуковский уже давно сформулировал аналогичную концепцию. Он называл её Тянитолкай 🙂