Подходы в работе в ИТ-сфере меняются очень динамично, постоянно появляется что-то новое. Одной из популярных «новинок» в России сегодня становится DevOps-подход. В профессиональный лексикон западных ИТ-компаний это понятие, объединяющее Development и Operations, вошло еще в 2009 году, и с тех пор во многих компаниях взаимодействие между представителями служб оперативной поддержки ИТ-инфраструктуры и разработчиками перешло на новый уровень согласия и слаженного взаимодействия. Как DevOps может применяться в собственных средах компаний, рассказывает Алексей Шипов, руководитель по развитию облачной платформы ICL Cloud компании ICL Services.

- Алексей Иванович, о многих новых технологиях говорят больше, чем об их реальном применении в бизнесе. Насколько в действительности популярен подход DevOps?

Алексей Шипов
Алексей Шипов: «DevOps — это в первую очередь согласованная работа разных ролей и только во вторую — инструменты и технологи»

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

DevOps — это набор лучших практик, которые позволяют обеспечить тесное взаимодействие разработчиков, тестировщиков и системных администраторов, а также автоматизировать процессы разработки, тестирования и эксплуатации программного обеспечения на всем этапе жизненного цикла. Это установка, настройка, функциональное и нагрузочное тестирование, мониторинг производительности, масштабирование, исправление багов, обновление пакетов и библиотек с зависимостями, выпуск новых версий, апгрейд ПО и миграция данных между версиями, деинсталляция. Раньше все эти операции производились по отдельности, без отслеживания связей и влияния каждого изменения на другие операции, что приводило к частым падениям, низкой производительности и разочарованию пользователей.

Подход DevOps не дает уникальных рецептов для достижения полной автоматизации всех задач в ИТ. Есть рекомендации лидеров ИТ-рынка, есть истории успеха мировых компаний — Amazon, Netflix, Ebay, Target. Дальше каждый выбирает для себя наиболее подходящий сценарий внедрения практик DevOps для достижения бизнес-результата.

- Что послужило причиной роста интереса к DevOps? Что в наибольшей мере мешает внедрять этот подход?

Можно уверенно сказать, что самыми существенными факторами роста популярности DevOps являются: взрывной рост мобильных приложений iOS, Android и других, а также появление глобальных публичных облачных платформ, например Amazon Web Services, Azure, Google Cloud Platform. Используя эти две относительно новые технологии, успешные компании стали демонстрировать более частые релизы версий ПО при сохранении или увеличении уровня качества. Рекордсмены делают сотни или даже тысячи мелких изменений в день вместо одного большого релиза ПО в год, то есть фактически сразу исправляя досадные ошибки или удовлетворяя спрос на новую функциональность ПО намного быстрее конкурентов.

Наиболее частые причины неудач при внедрении методологии DevOps связаны в первую очередь с отсутствием процессов или установленных правил для всех ролей, задействованных в цепочке создания и обслуживания ПО. Без них DevOps превращается в «автоматизацию хаоса». Напомню, DevOps — это в первую очередь согласованная работа разных ролей и только во вторую — инструменты и технологии. Отсутствие в компании опыта по инструментам для DevOps может сыграть злую шутку и не дать быстрого и яркого результата, которого ожидает руководство. Специалисты по DevOps пользуются большим спросом на трудовом рынке — не так-то просто найти и удержать квалифицированных сотрудников.

- Когда в ICL Services решили развивать подход DevOps, что к этому подтолкнуло?

Компания ICL Services обладает практически всеми компетенциями по ИТ-инфраструктуре — ЦОД, серверы, СХД, сеть, виртуализация — и разработке ПО. На многих проектах для заказчиков наши разработчики, тестировщики и инженеры уже долгое время используют различные наработки для совместной работы.

Очень эффективным подход DevOps показал себя на проектах по построению собственной облачной инфраструктуры ICL Cloud и сервисов на нем. Лучшие практики вендоров и рекомендации сообщества мы сразу заложили в архитектуру решения при проектировании и внедрении облачной платформы ICL Cloud. Например, кластер OpenStack настроен по принципу непрерывного развертывания и интеграции (CI/CD), так что любое изменение сначала осуществляется в зоне DEV, после успешного коммита в репозиторий Git автоматически разворачивается, тестируется в зоне TEST и только затем переносится в продуктовую зону PROD. Этим обеспечивается высокая скорость внедрения изменений при значительном снижении рисков.

- В чем особенности предложения ICL Services?

Уникальность предложения заключается в том, что у нас в одном месте собраны готовые к работе специалисты, сервисы и инструменты для организации DevOps в короткие сроки. Мы помогаем заказчикам внедрять процессы по разработке и тестированию ПО в соответствии с мировыми стандартами. Заказчики сами выбирают необходимое ПО под свои задачи.

Например, если необходимо запустить DevOps с минимальной первоначальной стоимостью и постепенно развивать, то мы можем предложить пакетированный инструментарий ПО с открытым исходным кодом — GitLab, Jenkins, Nexus, Ansible, ELK, WAF, Zabbix/Nagios/Check_MK.

Если требуется расширенный функционал сразу, то у нас есть и коммерческие средства разработки — TFS, Atlassian, Dynatrace, New Relic. Самое главное, все вопросы интеграции инструментария DevOps с платформой IaaS/PaaS мы берем на себя. Эксперты помогут создать гибридное облако, объединив вычислительные ресурсы заказчика с ICL Cloud и публичными облаками AWS, Azure, GCP, которые поддерживают RESTful API и автоматическое горизонтальное (scale-out) масштабирование.

В целом гибкость предложения позволяет адаптировать платформу под требования и задачи наших клиентов, чего сложно, и порой невозможно добиться в публичных облаках, рассчитанных на массовое использование. Например, вся инфраструктура ICL Cloud размещена на территории России, что позволяет выполнять требования российского законодательства по хранению и защите данных.

- Есть ли уже крупные DevOps-проекты?

Один из последних интересных проектов был проведен для клиента из финсектора, которого мы не можем называть по требованию информационной безопасности. Цель, поставленную перед департаментом ИТ со стороны бизнеса, можно кратко сформулировать так: создать надежную и функциональную облачную платформу для инновационных финансовых сервисов. Перед ИТ встали задачи по выбору платформы виртуализации и поставщика IaaS-услуг для эффективного управления средами разработки и тестирования ПО, которые могут дать больше свободы разработчикам при полном соответствии политикам ИБ. Также необходимо было протестировать работу выбранного инструментария DevOps для автоматизации процессов разработки и тестирования ПО.

ICL Services предоставила в рамках проекта вычислительные ресурсы OpenStack, VMware vCloud и Docker в гибридной облачной платформе ICL Cloud. Используя модуль оркестровки Heat на платформе OpenStack или шаблоны vApp на платформе VMware vCloud, разработчики теперь могут быстро запустить копию среды разработки и начать работать в течение часа. Благодаря заранее собранному пакету DevOps им не нужно тратить время на длительную предварительную настройку проекта разработки/тестирования ПО. Были выполнены все требования по информзащите данных в ICL Cloud с помощью IPSec VPN, VRRF и ряд других мер по ИБ. В итоге ICL Cloud позволил сократить срок подготовки стендов разработки и тестирования ПО с двух-четырех недель до одного часа за счет встроенных инструментов автоматизации и портала самообслуживания. А гибкие ценовые модели с оплатой только за используемые ресурсы дают экономию до 40% стоимости собственной платформы виртуализации.

- Каковы планы по развитию платформы ICL Cloud?

В опытной эксплуатации находится платформа контейнерной виртуализации Docker под управлением Red Hat OpenShift Container Platform. Использование контейнеров дает возможность более эффективно использовать ресурсы и упрощает создание и поддержку приложений с микросервисной архитектурой. Кроме того, планируются к запуску новые сервисы по аварийному восстановлению ЦОД (DRaaS) и информационной защите веб-приложений (SECaaS).