DevOps простыми словами
DevOps (Development (разработка) и Operations (эксплуатация)) – это новая методология разработки, которая подразумевает взаимодействие между IT подразделением и разработчиками, возникшая в 2009 году за рубежом. Политика DevOps не значит, что сисадмины должны кодить, а разработчики – отлаживать работу серверов, но работая сообща, данные группы могут обмениваться опытом и каждая из них будет уверена в том, что работа будет гарантировано выполнена. С помощью DevOps открывается возможность более стремительного выхода на рынок за счет ускорения развертывания, возрастания качества и эффективности работы по причине уменьшения сбоев и увеличения качества продукта. Следует упомянуть технологии, с помощью которых DevOps достигает своих целей.
Технологии DevOps
Инструментарий DevOps включает в себя:
- Selenium – серия программных продуктов (open source).
- Puppet – система управления конфигурациями.
- Chef – служит для автоматизированного управления конфигурацией компьютеров.
- Jenkins – инструмент непрерывной интеграции, который чаще всего используется для разработки программного обеспечения.
- Ansible – программное решение для удаленного управления конфигурациями (open source).
- Docker – открытая платформа для разработки, доставки и эксплуатации приложений.
Agile
Нередко Agile и DevOps многие специалисты считают синонимами, что не совсем так. Agile использует тот же подход что и DevOps, только среди программистов и тестировщиков. Можно сказать, что DevOps это дополнительная переменная, включающая сисадминов в уравнение Agile.
Так какие же проблемы все-таки решает DevOps?
- Gartner утверждает, что 50 процентов успеха DevOps зависит непосредственно от человека, 37 – от процессов и 8 – от технологий. Это подтверждает и практика. Так называемая проблема «поломка не нашей стороне». Системные администраторы утверждают, что проблема с кодом, а программисты в свою очередь жалуются на сервер. Но данная методология уничтожает политику перекладывания проблемы на чужие плечи.
- Скорость решения проблем. Стоит сказать, что при данном подходе снижаются сложности диагностирования различных неполадок и жалоб, поступающих от клиента, так как вся команда в разы быстрее выявляет причину неисправности.
- Быстрый выпуск релизов. Снижается сопротивление сотрудников, отвечающих за выпуск нового функционала, по причине возникновения непредвиденных неполадок, в то время, как разработчики хотят выпускать продукт чаще.
- Эффективность выполнения внеплановой работы. Согласитесь, что внеплановой работе практически всегда никто не рад, и распределить ее по различным подразделениям бывает достаточно сложно. Плюс ко всему это отвлекает специалистов от выполнения текущих задач и негативно влияет на производительность труда. С помощью DevOps IT отдел и разработчики способны оперативнее одалеть непредвиденные трудности, не теряя из кругозора плановые дела.
About The Author
Виктор Карабедянц
ИТ директор (CIO), руководитель нескольких DevOps команд. Профессиональный руководитель проектов по внедрению, поддержке ИТ систем и обслуживанию пользователей.