Просматривая гартнеровские отчеты относительно DevOps в Bimodal IT, я с удивлением обнаружил, что эта уважаемая компания взяла на себя труд систематизировать принципы и практики DevOps:
В отличии от ITIL и других операционных frameworks, DevOps не имеет какой-либо организации, отвечающей за разработку единой таксономии… Не существует единого каталога практик. Поэтому каждая организация должна не только определить для себя что такое DevOps, но и сформулировать перечень активностей, на которых следует сфокусироваться. Рисунок 1 (см. ниже) является первой попыткой компании Gartner дать ответ на вопрос из чего состоит DevOps
Principles and Practices of DevOps 12 March 2015 G00272990
Я собрал ниже несколько определений из этой и других работ, в частности из DevOps Is the Bimodal Bridge 03 April 2015 G00276470
Human by Exception. Широкое использование автоматизации — начиная от автоматизации тестирования до автоматизации выпуска приложений и многих других операций — это отличительная черта подхода DevOps. Цель такой автоматизации состоит в устранении ограничений, например из-за чрезмерно сложных процессов, что должно привести к увеличению скорости поставки релизов. С другой стороны автоматизация операций позволяет снизить количество человеческих ошибок, неизбежных в ходе эксплуатации информационных систем. Люди непосредственно не осуществляют процессы, которые являются полностью автоматизированными, но обрабатывают возникающие в этих процессах исключения.
Preapproved Changes. Стандартные или «предварительно одобренные» изменения, а так же другие легковесные модели согласования изменений приводят к уменьшению бюрократии в процессе Change Management. Традиционный процесс управления изменениям можно существенно упростить, учитывая такие свойства изменения, как среда, в которой будет реализовано изменение, влияние изменения и пр. Разработка списка «предварительно одобренных» изменений закладывает прочный фундамент для последующей автоматизации, осуществляемых в ходе внесения изменений операций.
ChatOps. Истоки это подхода относятся к GitHub. ChatOps – это модель автоматизации операционных задач посредством команд, отдаваемых живущему в чате роботу(или «боту»). Участник команды может, например, инициировать процесс развертывания через Internet Relay Chat (IRC), отправив боту специальную команду, которая затем исполняется с помощью заранее разработанных скриптов. Такой подход позволяет команде сотрудничать в реальном времени и гарантирует, что все участники команды в курсе осуществляемых в настоящий момент операций.
Canary rollouts. Этот подход к развертыванию программного обеспечения, использует идиому «канарейки в угольной шахте». Для своевременно выявления выброса вредных газов, таких как метан, шахтеры раньше брали с собой в забой клетку с канарейкой. При росте в атмосфере уровня опасных газов канарейка умирала, но у шахтеров оставалось время эвакуироваться. По сути, Canary rollout – это развертывание релиза для ограниченной группы пользователей с целью проверки правильности его функционирования в реальных условиях. Цель состоит в том, чтобы определить потенциальную проблему как можно раньше, ограничить количество клиентов, на которых она окажет негативное влияние. Кроме того, эта практика потенциально позволяет осуществить более легкое восстановление или возврат к предыдущей версии при наличии такой необходимости.
Failing forward. Стандартный подход решения проблем с вновь установленным релизом, заключается в откате до предыдущего стабильного состояния. Это может оказаться достаточно сложной операцией, так как редко какая система находится в состояниях такого рода. В любых системах изменения происходят непрерывным потоком. Стратегия Failing forward заключается в создании рядом с основной продуктивной средой её «клона» в котором и осуществляется развертывание модифицированной версии системы. Далее, используя паттерн «канарейка в угольной шахте» ограниченный набор пользователей постепенно переводится в эту копию среды. При возникновении проблем пользователи возвращаются на соседний стабильный экземпляр приложения.
Другие принципы и практики DevOps приведены на рисунке ниже
Похожие материалы:
Оказывается, тема сейчас активно дискутируется Робом Ингландом (it sceptic). Несколько ссылок:
https://www.youtube.com/watch?v=zpGGZftSbmA
http://www.slideshare.net/twohills/how-devops-messes-with-your-head?ref=http://www.itskeptic.org/content/how-devops-messes-your-head
http://www.itskeptic.org/content/how-devops-messes-your-head
Максим, Devops в Телеком! Похоже, там будет первый прорыв..
Д