В следующем году Джесси, Стив Саудерс из компании Yahoo! Энди Орам из O’Reilly Media и Артур Бергман, главный технический директор Wikia, попросили меня о встрече. «Нам нужна площадка, где наша компания могла бы собраться вместе», – сказал мне Джесси. Я с радостью согласился. Мы организовали саммит с лидерами зарождающейся области обслуживания веб-сайтов и вскоре после этого организовали конференцию Velocity для растущего числа профессионалов, работавших за кулисами, заставляя интернет-сайты работать быстрее и эффективнее. На конференции Velocity собралось сообщество, работающее над новой дисциплиной, получившей название DevOps, акроним от англ. development и operations – «разработка и обслуживание программного обеспечения». (Этот термин был придуман через несколько месяцев после первой конференции Velocity Патриком Дебуа и Эндрю «Клей» Шафером, которые провели серию встреч под названием «Дни DevOps» в Бельгии.)
Вот в чем заключается основная идея DevOps. Исторически сложились две отдельные команды, отвечающие за техническую инфраструктуру современных веб-приложений: разработчики, которые создают программное обеспечение, и специалисты по информационно-технологическому обслуживанию, которые управляют серверами и сетевой инфраструктурой. И эти две команды обычно не общались друг с другом, что приводило к непредвиденным проблемам, как только программное обеспечение приобретало действительно широкий масштаб.
DevOps – это способ увидеть весь жизненный цикл программного обеспечения, аналогично процессу «бережливого производства», которое определила для себя корпорация Toyota. DevOps берет жизненный цикл программного обеспечения и процесс работы интернет-приложения и превращает их в процесс работы организации, измеряя показатели, находя слабые места и определяя необходимые средства связи.
В дополнении к учебному пособию по DevOps, написанному в виде романа «Проект Феникс» Джином Кимом, Кевином Бером и Джорджем Спаффордом (изд. «Эксмо», 2015 г. – Прим. ред. ), воздавшему дань уважения знаменитому роману о принципах бережливого производства «Цель» (очевидно, речь о книге Э. М. Голдратт и Дж. Кокс, Альпина Паблишер, 2014 г. – Прим. ред. ), Джин Ким отмечает, что скорость является одним из ключевых конкурентных преимуществ, которые дает организации DevOps. Обычное предприятие может выпускать новое программное обеспечение раз в девять месяцев, а период его освоения может занять от одного до трех месяцев. В таких компаниях, как Amazon и Google, выпускаются тысячи крошечных обновлений, а время их освоения измеряется в минутах. Многие из этих обновлений обладают экспериментальными функциями, которые можно отыграть назад или изменить.
Возможность вернуть что-то на предыдущий уровень с легкостью превращает неудачу в нечто незначительное и стимулирует к принятию решений работников организации, находящихся на более низких должностях.
Большая часть этой работы полностью автоматизирована. Хал Вариан называет это «компьютерным кайдзеном», ссылаясь на японский термин, обозначающий непрерывное совершенствование. «Точно так же как массовое производство изменило метод сборки продукции, непрерывное совершенствование изменило то, как осуществляется производство, – пишет он, – непрерывное экспериментирование… улучшает оптимизацию бизнес-процессов в наших организациях».
Но DevOps также обеспечивает более высокую надежность и более оперативное обслуживание клиентов. Джин Ким так характеризует процессы, происходящие в высокоэффективной организации, использующей DevOps: «Вышестоящие группы развития, вместо того чтобы вызывать хаос в нижестоящих рабочих центрах (например, в службе по обеспечению контроля качества, информационно-технической службе и службе информационной безопасности), тратят 20 процентов своего времени на то, чтобы убедиться, что рабочий процесс протекает плавно на всем потоке создания ценности, на ускорение автоматизированных тестов, улучшение развития инфраструктуры и на то, чтобы убедиться, что все приложения создают телеметрию эффективного производства». Он повторяет, что это не просто техническая, а организационная практика: «Все участники потока создания ценности объединены общей культурой, в которой не только ценится чужое время и вклад в работу, но в которой также неустанно нагнетается давление в рабочую систему для обеспечения организационного обучения и совершенствования».
Практики DevOps продолжают эволюционировать. Google называет свою версию дисциплины «Site Reliability Engineering» (SRE) – инженерно-техническое обеспечение надежности сайта. Как объяснил создатель этого термина Бенджамин Трейнор Слосс: «SRE в основном выполняет работу, которая исторически осуществлялась оперативной группой, но с привлечением инженеров с опытом работы с программным обеспечением, полагаясь на тот факт, что эти инженеры изначально предрасположены и способны и к разработке, и к внедрению автоматизации в программное обеспечение для замены человеческого труда».
Читать дальше