Регистрация
Арина Васильева

Автоматизация работы, или DevOps «под ключ»

19 декабря 2016, 12:16 511 1

Культурный сдвиг

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

Как и предсказывали аналитики, 2016 год стал годом активного распространения DevOps-подхода. Сегодня DevOps покинул узкую нишу разработок исключительно для больших облачных компаний и уже 25% организаций из списка The Forbes Global 2000 поддерживают данное направление в работе.

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

 

От философии к практике

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

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

 


DevOps для начинающих и бывалых разработчиков

Подготовка «идеальной» среды для реализации методологии DevOps может быть трудоемкой и длительной задачей для начинающих разработчиков. ICL Services создала сервис по быстрому развертыванию CI/CD среды для непрерывной разработки и тестирования программного обеспечения. Это наиболее доступный способ сразу начать разработку собственного приложения в идеологии DevOps.

Решение работает на связке GitLab + Jenkins, которые, в свою очередь, интегрированы с облачной платформой ICL Cloud OpenStack через RESTful API.  Gitlab интегрируется с Jenkins в полноценную систему разработки и развертывания приложений. Поддержка системы контроля версий Git обеспечивает высокую универсальность Gitlab для разработчиков. Богатство функционала и расширяемость Jenkins оставляет широкий простор для творчества. Однако примечательной чертой данного решения является тот факт, что среда разработки DevOps функционирует на гибридной облачной платформе ICL Cloud, что позволяет использовать возможности REST API OpenStack и VMware vCloud для автоматического развертывания инфраструктуры проекта практически любой сложности.

 

Инфраструктура DevOps для зарубежной торговой сети

Нашей компанией был реализован «под ключ» в частном облаке инструментарий DevOps для автоматизации работы разработчиков и тестировщиков Java-приложений под технологическую платформу Red Hat Middleware для одной из ведущих в Великобритании сети розничных магазинов. Нами выбран бесплатный вариант системы контроля версий Nexus, в связке с популярным средством автоматизации разработки и деплоя — Jenkins. Особенностью данного решения является то, что управление размещением, тестированием и частично, управлением артефактами производится через Jenkins Ansible Plugin. Для справки, Ansible — активно развивающийся проект Red Hat по управлению конфигурациями. Таким образом, при помощи такого подхода мы получаем очень гибкий и богатый по функционалу комплекс CI/CD для разработчиков программного обеспечения.

Для заказчика основными преимуществами внедренного решения с использованием методологии DevOps стали:

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

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

3. Моментальное высвобождение ресурсов, которые прежде долгое время после тестирования и релизов оставались неиспользованными, поскольку удалялись вручную.

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

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

 

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

 

Комментарии (1)

Подписаться на комментарии
Алексей Лобачев
Алексей Лобачев

11 мая 2017 11:25

Арина, а приходите в гости

#

Пожалуйста, авторизуйтесь, чтобы оставить свой комментарий