4 подхода к внедрению DevOps от специалистов из IBM
Концепцию взаимодействия разработчиков и операционного персонала (DevOps) используют более 30% компаний по всему миру. В том числе и крупные игроки, ставшие флагманами на рынке IT: ExtraHop, Serena, OpTier, CollabNet, IBM и др. Их опыт может стать очень ценным для компаний, которые только планируют переходить на DevOps. Сегодня мы расскажем, чему можно поучиться у IBM.
IBM и DevOps
IBM – крупнейшая американская компания, специализирующаяся на выпуске программного и аппаратного обеспечения. А еще одна из пяти компаний, которые, по данным Enterprise Management Association, уже используют модель DevOps на всех этапах жизненного цикла приложений. Как видят концепцию DevOps в самой IBM? «Это способность предприятия непрерывно поставлять программное обеспечение, которое позволяет его заказчикам воспользоваться рыночными возможностями и сократить время получения обратной связи от потребителей». Но как организовать работу предприятия таким образом? Специалисты из IBM называют 4 подхода, которые помогут это сделать.
Вождение
В IBM разработку ПО сравнили с вождением автомобиля. У водителя нет четкого плана действий – он составляет его прямо на ходу. Потому что должен постоянно реагировать на дорогу, погоду и других участников движения. Он действует по ситуации. Так же нужно поступать при внедрении DevOps. Вы выбираете работающую методику (машину) и подгоняете ее под конкретные бизнес-процессы (дорожные условия). При этом учитываете, что процессы изменчивы, и методику придется регулярно корректировать. Для начала специалисты из IBM советуют определить текущие ресурсы компании и основные потребности ее клиентов. Проанализировав их, можно выбирать, какие элементы DevOps целесообразно внедрять здесь и сейчас.
Разработка и тестирование
Здесь используется уже 2 методики:
- Коллективная разработка. Над созданием ПО работают специалисты разного профиля: программисты, аналитики, руководители отделений, тестировщики и т.д. Для реализации DevOps им нужно обеспечить непрерывную интеграцию. Разработчики должны интегрировать результаты своего труда с результатами других специалистов, а потом проверять «объединенную» работоспособность. Это не только сплотит изолированных ранее специалистов (чего и добивается DevOps), но и поможет обнаружить слабые места проекта.
- Непрерывное тестирование. Тестировать нужно программный код (сможет ли он работать в разных средах развертывания) и само приложение (корректно ли оно функционирует на разных этапах жизненного цикла). В IBM для тестирования применяют виртуализацию сервисов, которая позволяет создать модель производственной среды и проверять работоспособность отдельных ее элементов.
Развертывание
Логическое продолжение концепции непрерывной интеграции, которое предполагает создание так называемого конвейера поставки. Он включает само приложение, конфигурации среды, связующее ПО и базы данных, за счет чего обеспечивает непрерывную поставку приложения на протяжении всего жизненного цикла. Что такое непрерывная поставка? Это возможность регулярно, эффективно и автоматизировано поставлять приложение конечному потребителю. И это, в общем-то, основная миссия DevOps.
Эксплуатация
Здесь 2 методики:
- Непрерывный мониторинг – дает разработчикам данные о функционировании приложения на всех этапах жизненного цикла. Мониторинг позволяет оценить эффективность релиза и оперативно вносить изменения в бизнес-план.
- Непрерывная обратная связь – показывает, как потребители используют и оценивают приложение. А еще позволяет идентифицировать уязвимости и принять меры по оптимизации приложения.
Надеемся, эти рекомендации будут полезны всем, кто заинтересовался DevOps, но не знал, как подступиться к модной, но еще не до конца понятой концепции.