Заимствование инструментов, используемых в успешных компаниях, не обязательно обернется успехом для вашей организации. Сосредоточьтесь на процессе, а не на результате. Если технология X успешно используется в вашей среде, не отказывайтесь от нее.
Наличие конкретного инструмента или технологии не означает, что вы не можете развернуть успешную инициативу devops. Использование каналов IRC вместо Slack или Hipchat, запуск и выполнение серверов на физическом сервере вместо «облака» либо использование монолита PHP вместо микросервисов Go не исключает использования идей devops. Суть движения devops заключается в культуре производства и в организации совместной работы, а не в применении самых современных инструментов. Качество общения не зависит от того, какую программу чата вы используете, – современную или двадцатилетней давности.
Использование технологии X эквивалентно внедрению devops
Существуют определенные группы или типы инструментов и технологий, которые могут существенно помочь с внедрением инициатив devops. В качестве основных примеров приводились система контроля версий и автоматизация инфраструктуры. Важно понять, почему эти примеры столь ценны и каким образом эта ценность влияет на человеческий фактор при создании программного обеспечения.
Например, автоматизация инфраструктуры позволяет сотрудникам вносить изменения более непосредственным и надежным способом, уменьшая риск и «трения», связанные с изменениями.
Без учета воздействия вышеописанных факторов на «человеческий аспект» воздействие технологий будет в значительной степени нивелировано. Если вы, например, начнете использовать автоматизацию инфраструктуры, но при этом продолжите поддерживать прежние процессы контроля изменений, которые являлись «болевыми точками» для разработчиков, вряд ли вы ощутите реальные преимущества от автоматизации инфраструктуры. Ни один инструмент сам по себе не способен исправить разрушенную культуру. Чтобы использовать инструменты более эффективно, нужно обратить внимание на то,
Простое добавление в среду Chef, Docker, Slack или любого другого инструмента, часто упоминаемого в связи с devops, вовсе не означает, что вы «сделали devops». На самом деле набор инструментов – это лишь одно из условий организации совместной работы. Не наличие или отсутствие инструмента приводит к формированию или разрушению инициативы devops. Инструменты могут лишь помогать или мешать формированию культуры, основанной на devops.
Мы должны убедиться в том, что не выбрали некорректный инструмент
Некоторые люди опасаются, что выбор «некорректного» инструмента будет иметь пагубные последствия как для проекта, так и для организации в целом. Эти опасения могут еще больше раздуваться поставщиками, утверждающими, что вы «должны» использовать именно их продукты и решения, чтобы внедрить devops. Естественно, сначала нужно убедиться в том, что ваши решения не приведут к серьезным негативным последствиям.
Не следует акцентировать внимание на особенностях отдельных инструментов. Лучше сосредоточьтесь на способах использования инструментов на всех уровнях организации, а также уроках, которые можно извлечь из позитивных и негативных аспектов, связанных с использованием этих инструментов. Выбор некорректного инструмента не так страшен, как неправильный метод выбора инструментов.
Например, когда идет речь об автоматизации инфраструктуры, выбор инструмента Chef вместо Puppet (или наоборот) вряд ли окажет существенное влияние на успех или неудачу этого проекта. Конечно, от используемого инструмента зависят детали реализации либо определенные варианты использования автоматизации инфраструктуры. Если же идет речь о влиянии на глобальном уровне, то более важно,