Несколько лет назад, если бы вы попросили меня определить DevOps, мой ответ звучал бы что-то вроде «Automation Mumble Automation, Mumble, Automation, Mumble Mumlem, инфраструктура как код, бормотание, стратегия».
Думая, что DevOps приравнивается к автоматизации, в основном связано с тем фактом, что большинство людей DevOps, с которыми я разговаривал, и статьи, которые я читал, действительно говорили только об автоматизации только с косвенными ссылками на что -либо еще.
Реализация автоматизации, безусловно, является частью того, что значит практиковать DevOps, но, возможно, 5-10%.
Причина, по которой так много написано о DevOps, сосредоточена на автоматизации, заключается в том, что легко писать и говорить о инструментах. По сравнению с реализацией истинной практики DevOps, автоматизация является легкой частью.
Что на самом деле представляет DevOps
Я использую определение Гартнера, чтобы обеспечить общую основу:
DevOps Представляет изменение в ИТ -культуре, сосредоточившись на быстрое ИТ -сервис Доставка через принятие гибких, бережливых практик в контексте системный подход. DevOps подчеркивает людей (и культуры) и стремится улучшить сотрудничество между операциями и разработкой команды. Реализации DevOps используют технологии — особенно автоматизация Инструменты, которые могут использовать все более программируемые и динамические Инфраструктура с точки зрения жизненного цикла. — Gartner.com
Обратите внимание, что автоматизация — это последнее упомянутое. Основными компонентами DevOps являются люди и процесс.
Это сложный материал, скучные вещи, то, о чем никто не любит говорить, потому что это включает в себя общение с людьми и управление работой. Но это также то, что делает дерьмо.
Автоматизация-это силовой мультипликатор, рычаг. Это все компьютеры и программное обеспечение в целом — рычаги. Без людей и процесса автоматизация-это просто ржавая гнезда-вы можете использовать его в качестве тупого инструмента, но вы не получите его полную утилиту.
Одна только автоматизация может оказать влияние, но в основном в том, что она позволяет вам быстрее делать глупости.
Люди
В основе успешной практики DevOps лежит культура, которая принимает неудачу, не фокусируется на вине и требует сотрудничества и обмена знаниями.
Если члены вашей команды боятся того, как реагирует их менеджер, когда они совершают ошибку, они не будут пытаться новые способы ведения дел, а команда и бизнес не будут двигаться вперед. Полная остановка Анкет
Обнараживание является необходимой частью обучения и улучшения, но у большинства компаний есть культура, которая не допускает даже незначительных неудач. Я не знаю, сколько раз я слышал, как руководители искренне говорили: «Неудача не вариант». Полностью пропустив, что они водили свою компанию в землю, когда индустрия изменилась, а конкуренты пробежали мимо них, воспринимая неудачу как возможность выучить и сделать что -то новое.
Принятие неудачи не означает, что отсутствие высоких ожиданий или принятия посредственности. Принятие неудачи предотвращает посредственность.
Ожидание для члена команды DevOps должно быть: «Происходят ошибки, не пытайтесь скрыть свои вины. Сообщите, что произошло, работайте над тем, чтобы исправить это, и больше всего … учиться на этом ».
Принятие сбоя непосредственно питается в уменьшении желания обвинить. Беспокойство о последствиях отказа и работе, чтобы отклонить вину, забрать от реальной работы и решить первоначальную проблему, помимо отравления рабочей среды.
Когда коллеги доверяют, что они не будут брошены под автобус, они сотрудничают и более продуктивны. Игра в политику избегания и возмещения вины — это отвлекающие факторы, которые необходимо погасить. Если вы менеджер, и вы позволяете своей команде сидеть вокруг, указывая пальцы друг на друга, позор вам. Если вы поощряете это (и, о, Боже, я встретил этих менеджеров), я надеюсь, что ваш дом вторгся пчелами.
Если ваша цель в реализации DevOps состояла в том, чтобы ускорить доставку и стать более гибкой, вы должны агрессивно удалить контрольно -пропускные пункты. Все, что мешает команде, сотрудничающей с бизнесом, разработчиками и друг с другом, должно быть сбито в бульдозере. Страх, политика, недоверие — исчез.
Это может быть похоже на сохранение класса детского сада, но вы должны заставить свою команду поделиться. Нет такой вещи, как «слишком занят, чтобы тренироваться» или «слишком занято, чтобы документировать». Если только один человек знает, как что -то делать, они становятся узким местом, которое может закрыть вашу фабрику DevOps.
Обмен знаниями должен быть ожиданием. Если в вашей команде есть кто -то, кого нельзя тренировать, чтобы не держать вещи в секрете, им нужно работать где -то еще.
Процесс
Вы можете иметь удивительную автоматизацию и культуру и все еще не практиковать DevOps, потому что практика DevOps почти полностью связана с процессом.
Если вы хотите «делать DevOps», процесс — это то, где вы начинаете, и даст вам гораздо более высокую прибыль от инвестиций, чем следует автоматизация. Без процесса будет слишком много хаоса для поддержания здоровой культуры, и любой инструмент, который вы создаете, скорее всего, решат неправильные проблемы.
Начните с того, чтобы получить видимость работы в работе, которую ваша команда просят выполнить. Это не только для менеджеров, вся команда нуждается в понимании работы по работе, если для ничего другого, кроме как предотвратить дублирование работы («У меня уже есть сценарий для этого») и обеспечить контекст экономики времени («выполнение X X приведет к тому, что Y выходит из строя ».)
Если есть члены команды, которые не будут делиться тем, над чем они работают, или только предлагают смутные детали, это должно закончиться. Позволяя людям проскользнуть с «Я работаю над вещами на сервере…» во время ваших ежедневных выступлений (и да, вы должны делать стояние), не летает. «Я делаю X, Y и Z, сегодня». это ответ, который вы ищете.
Без этой прозрачности работа входит в вихрь соса. Если работа (или нет), команда должна знать, потому что все неизвестные соединения статуса задерживаются, снижают качество и сажают семена недоверия. Успешная практика DevOps требует ответственности, не ради того, чтобы удерживать чьи -то ноги к огню, а просто так, чтобы все знали, что WTF продолжается и может планировать соответствующим образом.
Все это требует приверженности и постоянного подкрепления со стороны товарищей по команде и управления. Нет «мы установили канбан, и никто не использовал его, поэтому мы остановились. «Отказ — это вариант. Не зная, что ответ — это вариант. Работать специально и лениво в процессе-это Не опция.
Подводя итог, если вы не управляете работой гибкой способом, используя Scrum или что -то подобное, вы не практикуете DevOps.
Оказывается, есть много отличных ресурсов на неавтоматических аспектах DevOps. Два хороших местах для начала — Проект Феникса и Эффективные DevOps Анкет Отзывы о эффективных DevOps особенно веселые, потому что большинство жалоб — «автор не говорил об автоматизации», а это значит, что она правильно поняла.
Хитрость, когда вы проводите исследование DevOps, состоит в том, чтобы не искать «DevOps», потому что вы в основном получите 1.) Статьи об автоматизации и 2.) «Devops» публикации работы, которые на самом деле являются просто работой Sysadmin.
Вместо этого читайте о Agile и Lean. Читайте о личном Канбане. Прочитайте вещи, которые делают вас лучше, который может относиться к другим людям с сочувствием. Вот что сделает вас «Devops Ninja». Сосредоточение полностью на автоматизации просто делает вас кодовой обезьяной.
Первоначально опубликовано на chrisdodds.net
Оригинал: «https://dev.to/liquid_chickens/automation-is-not-devops»