Многие ИТ-системы, особенно обеспечивающие критические бизнес-процессы, по прежнему создаются и развиваются в классической парадигме, когда во главу угла ставится надежность и безопасность.
Однако растет и популярность альтернативного подхода, связанного с использованием средств быстрой разработки. Особенно это касается разработчиков мобильных приложений — для них Agile-методики — единственная возможность не дать обойти себя многочисленным конкурентам.
Этот дуализм отметил Андрей Кутуков, директор HP Software в России, представляя 22 июля стратегию своей компании в сфере управления ИТ.
Однако разработать — даже не полдела. Новые релизы надо протестировать на соответствие требованиям заказчика, «ресурсоемкость» (приложение, за полчаса «сажающее» батарею, вряд ли будет востребовано, независимо от своей функциональности), безопасность, а затем еще и развернуть на всех серверах.
Как полагает Артур Гиоев, технический директор российского HP Software, единственный выход для разработчиков — использовать методологию DevOps.
DevOps (от Development и Operations) — методология разработки программного обеспечения, появившаяся в 2009 году. Ее основная черта — тесное и постоянное взаимодействие специалистов по разработке, тестированию и внедрению. Все эти процессы идут не последовательно, как в классическом случае, а почти параллельно. Продукт создается непрерывно, в каждом новом релизе добавляется одна-две функции, постоянно тестируется и развертывается у заказчика или отгружается в магазины приложений.
Кроме методологии необходимы, разумеется и программные средства, автоматизирующие процессы «сборки» ПО из кода, его тестирования, загрузки.
Как и во многих других случаях, внедрение DevOps — это, особенно на первом этапе, скорее организационно-методическая задача по выстраиванию взаимодействий между различными частями проектной команды.
HP, как крупный разработчик программного обеспечения, активно использует подход DevOps при разработке и выводе на рынок собственных продуктов; несмотря на то, что они достаточно «крупные», промежуточные релизы выходят каждую ночь. В компании готовы делиться этим подходом с клиентами.
«С одной стороны, мы имеем большой опыт в создании ПО, мы знаем современные подходы и методологии, — говорит Гиоев. — С другой, много работая с заказчиками, мы умеем выстраивать процессы так, как это нужно именно им, поможем подобрать оптимальные варианты процессного и организационного взаимодействия».
Есть у HP и различные инструменты, в том числе инструменты тестирования — на безопасность, на качество, на нагрузку. Но особо Гиоев отметил Codar, решение для автоматизации развертывания сложных приложений и управления ими в течение всего жизненного цикла, от тестирования до внедрения в программную архитектуру предприятия, которое позволяет сократить время между разработкой и внедрением. В процессе разработки архитектуры ПО и последующей ее реализации создается описание, которые содержит в себе все требования к инфраструктуре. Codar позволяет создать и поддерживать такое описание на основе сервисно-ресурсной модели либо, получив на «входе» файл с описанием, создает для приложения инфраструктуру.
В мире методология DevOps уже достаточно популярна, в России же она появилась недавно, и, считает Гиоев, вряд ли есть организация, которая может похвастаться тем, что полностью ее внедрила. Но довольно многие уже сделали шаги в этом направлении. Специалисты HP проводят среди потенциальных заказчиков просветительскую работу, определяют вместе со специалистами клиентов текущее положение вещей, находят проблемные зоны, создают «дорожные карты» на несколько лет вперед, поскольку внедрение методологии, как уже говорилось, процесс достаточно длительный.
Разумеется, в соответствии с идеей DevOps этот процесс разбит на стадии, в конце каждой из которых заказчику обещан определенный результат. «Иначе невозможно, — настаивает Гиоев, — судьба длительных проектов слабо предсказуема, бизнес требует быстрых результатов в нашем часто меняющемся мире». Вот почему обычно дорожная карта разбивается на четыре части. Первые результаты должны быть видны через три месяца — так называемые быстрые победы, следующая контрольная точка — полгода, потом год, а далее должны быть видны результаты стратегических инициатив. «Соответственно мы прописываем, какие продукты должны быть готовы к тому или иному сроку, какие процессы и методологии должны быть освоены. Дальше мы действуем в соответствии с картой, контролируем процессы».
Как особо отметил Гиоев, важно понимать: внедрение DevOps — процесс непрерывный и взаимоувязанный. Нельзя его бросать на полдороге и снова начинать, нельзя осуществлять лишь часть намеченного — иначе все придется потом переделывать. «Очень важна системность», — говорит он.
Есть ли у DevOps ограничения по применимости, например, по количеству задействованных в проекте разработчиков? Гиоев полагает, что нет. Возможно ли использование технологий быстрой разработки и методологии DevOps для совершенствования классических ИТ-систем? Нет ничего невозможного, считает Гиоев, однако подходить к применимости таких подходов в случае крупных систем с длинной историей необходимо крайне обдуманно. Примеры многомиллионных, но непродуманных инвестиций в некоторые проекты, обернувшиеся еще большими убытками, наглядно подтверждают этот принцип.