По мере того как автоматизация добавляется в разные части среды, обнаруживаются новые шаблоны. Благодаря автоматизации инфраструктуры не столь важно придерживаться одной версии операционной системы. С точки зрения обеспечения безопасности больше пользы приносит развертывание нового экземпляра системы, включающего обновленные пакеты.
Благодаря непрерывной доставке и непрерывному развертыванию люди могут сосредоточиться на том, что действительно важно. Использование автоматизированных укороченных циклов обратной связи за счет автоматизации сборок дает нам дополнительную уверенность и понимание сути систем.
По мере адаптирования системы разработки приложений к критериям повышения эффективности продолжает развиваться экосистема инструментов. Если вы начнете перечислять вручную 12 факторов[43], участвующих в разработке приложения, это будет то же самое, что и ручная настройка конфигурации серверов. Если будут стандартизованы и автоматизированы рабочие требования, сотрудники получат свободу выбора языка и рабочего шаблона.
Описанные выше тенденции позволяют концентрироваться на инструментах, которые подчеркивают превосходство «мы» над «я», формировать взаимопонимание между командами и поощрять затраты времени на получение ценных результатов.
В этой главе был выполнен обзор текущей экосистемы инструментов. В то время как эти инструменты являются важной частью devops-среды, важно подчеркнуть, что они усиливают межличностные и культурные аспекты этой среды, но никогда не смогут заменить их. Порядок использования инструментов, а также простота их использования влияют на принятие и распространение специфических аспектов культуры. Когда мы говорим о devops-инструментах, мы подразумеваем как сами инструменты, так и порядок их использования, а не только основные характеристики этих инструментов.
Культура devops является одной из разновидностей сотрудничества между командами, организациями и отраслями. В процессе разработки решений важно представлять степень их влияния на команды и организации, а не только на отдельных сотрудников. Иногда это означает коррекцию ожиданий в сторону блага для организации, работу в целях поиска решений, пригодных для всех, кто не является «рок-звездами» организации, кто имеет решающий голос и может оказать положительное влияние на организацию в целом.
Инструменты devops подчеркивают преимущество «мы» над «я», позволяя группам и организациям формировать взаимопонимание, необходимое для выполнения работы. Выбор инструментов, по сути, является выбором общего языка. Приносит этот язык пользу организации в целом или подгруппам, входящим в состав определенных команд? Порой из-за отсутствия хорошо сбалансированного инструмента выбор должен быть сделан в пользу команды, имеющей большую когнитивную ценность. Будьте осведомлены о ценности и чуткости к воздействиям со стороны вовлеченных команд.
Глава 12. Инструменты: акселераторы культуры
Инструменты служат акселераторами, увеличивающими скорость изменений текущей культуры организации. Если же мы не осознаем наше текущее положение либо направление движения, ускорение может привести к неожиданным последствиям с потенциально негативным воздействием.
Мир стремительно изменяется, поэтому для достижения успеха нужно оперативно реагировать на вызовы. Требуется время, чтобы осознать наше текущее положение, наши отношения с другими командами, организациями, конкурентами и миром в целом. И помочь нам в этом может «стоп-кадр», который выявляет, над чем мы должны работать, что нужно отложить, а что исключить из нашей среды.
В этой главе мы выйдем за рамки нашего исследования текущей экосистемы инструментов и рассмотрим примеры из реальной жизни, иллюстрирующие взаимное влияние и воздействие друг на друга инструментов и культуры. Эти исследования представлены не в виде конкретных инструкций, а скорее в качестве иллюстрации различных способов, с помощью которых организации оценивают, выбирают и используют инструменты в своих средах. Расценивайте результаты этих исследований как рекомендации по выбору инструментов, а не как требования по использованию одного-единственного инструмента в качестве универсального средства удовлетворения всех потребностей devops.
Использование инструментов для повышения эффективности работы имеет длинную историю. Например, переход от пишущих машинок на текстовые процессоры позволил снизить стоимость исправления ошибок. Переход от перфокарт и языков ассемблера к языкам более высокого уровня привел к улучшению понимания кода.