Как инженер, у вас уже есть достаточно обязанностей при разработке программного обеспечения. Добавление больше задач-скажем, связанных с DevOps-к вашим рабочим действиям может показаться не очень привлекательным. С DevOps вы не только несете ответственность за производство рабочего программного обеспечения, но теперь вам также необходимо автоматизировать этапы строительства, тестирования и развертывания программного обеспечения. Это много, чтобы позаботиться! Но дополнительная работа в стороне, возможно, вы просто устали от движения DevOps, и вся шумиха, окружающая его, вызывает усталость DevOps.
Как бывший разработчик, я могу идентифицировать себя с таким чувством усталости. Я также видел, как некоторые коллеги достигают определенного уровня разочарования с DevOps. Есть моменты, когда мы совершаем ошибку, взяв все, даже выпуски. Это особенно распространено, если мы перфекционисты и не любим доставлять программное обеспечение с ошибками. Мы могли бы даже добраться до того, чтобы выпустить наш код в производство. (Хотя теперь, когда вы «делаете» DevOps, это может стать вашей ответственностью в любом случае.) В конце концов, если мы кодируем это, мы знаем то, что может пойти не так, и как это исправить, если есть проблемы.
Несмотря на то, что теперь я больше нахожусь в операционной стороне — я взволнован серверами и помогаю компаниям внедрить DevOps — позвольте мне поделиться с вами некоторыми мыслями о том, почему я думаю, что инженеры получают усталость DevOps.
Работать больше, но получить такую же зарплату
Devops перестал быть воспринятыми как только для разработчиков и операторов. Но недостатком этого является то, что некоторые организации перемещают функции DevOps к разработчикам. Застройщики теперь могут почувствовать, что их вынуждены позаботиться о трубопроводе после того, как они закончили свою работу. Для них уже достаточно сложно попытаться создать программное обеспечение без ошибок! Скорее всего, разработчики расстраиваются, потому что они зарабатывают одинаковую заработную плату с большей (и другой) работой.
Как я уже говорил, бывают случаи, когда разработчики чувствуют необходимость делать больше, чем следовало бы. Например, если операциям людям понадобится слишком много времени, чтобы ответить на свои вопросы и запросы, разработчики всегда найдут способ самостоятельно решить любую проблему. Они даже готовы изучать новые вещи, такие как облако и инфраструктура как код. Многие вещи случаются, когда разработчик заканчивает свой код, и он готов к отправке в производство. В этот момент речь идет не только о строительстве, а затем копией/вставке артефактов. Развертывания и релизы могут быть более сложными, и одна команда не может справиться со всем.
Я не вижу, чтобы разработчики делали лишнюю милю как плохую вещь. Но бывают случаи, когда эти новые обязанности принимаются как должное. И вот где проблема с DevOps лежит для инженеров.
Испытывает последствия от потери специализации
Несмотря на то, что инженеры по -прежнему являются программированием, а DevOps способствует обработке инфраструктуры как кода, инженеры теперь должны узнать об инфраструктуре. Нелегко предоставить и настроить сервер без траты ресурсов. Конечно, инженеры -программисты должны убедиться, что их код не генерирует утечки памяти и не использует чрезмерное использование потоков или сети. Но разработчикам знаний нужно будет выполнять эти задачи, недостаточно, чтобы оправдать их экспертов по инфраструктуре.
Необходимость должным образом масштабировать приложение и эксплуатация инфраструктуры может занять некоторое время, чтобы получить правильно. Существует так много вещей, которые должны рассмотреть операцию, например, если серверы работают в Prem или в облачной или гибридной среде. Было бы ложь сказать, что наличия рецепта шеф -повара, шаблона терраформ или Ansible Playbook достаточно. Лучше, если у организации есть эксперт по вопросам, чтобы максимально использовать инфраструктуру и оптимизировать затраты. Ничто не сравнится с опытом.
Опять же, это не плохо, что разработчики знают больше об инфраструктуре и о том, как их код влияет на производственные системы. Но некоторым разработчикам нравится создание кода приложения. Разработчики могут почувствовать, что DevOps определяет их из-за всех остальных вещей, которые им необходимы, чтобы позаботиться о выпуске программного обеспечения.
Практика и инструменты DevOps постоянно растут и развиваются, и то же самое относится и к областям разработчиков. Всегда хорошо работать с экспертами по теме, потому что, когда появляются эти странные проблемы … кого вы позвоните? Конечно, не привидения.
Слышать, как все говорят о DevOps
«Все делают DevOps, как и вы. » Я уверен, что вы слышали сообщение.
Я действительно считаю, что результаты DevOps великолепны, но только тогда, когда вы ранее определили проблему, когда DevOps подходил для решения. Если вы просто реализуете DevOps, потому что это новая тенденция, вы, вероятно, просто отлично с вашим текущим конвейером доставки. Это не очень хорошая идея — особенно с DevOps — попытаться повторить то, что сработало для других; У каждого разные потребности и проблемы.
Мне нравится путь Джин Ким определил DevOps, но я процитирую только предложение, которое имеет отношение к этому посту — я не хочу вносить свой вклад в вашу усталость. Он сказал, что «DevOps не о , но что ты результаты находятся. «Если DevOps — это то, что ваши результаты Возможно, вы уже делаете что -то вдопы и еще не заметили.
Если вы просто устали от всех вещей DevOps, это нормально. Я тоже время от времени получаю эту усталость. В моем случае это потому, что у людей есть неверное понимание DevOps, что заставляет их реализовать вещи, которые начали исправлять движение DevOps — такие, как создание другого силоса, имея отдельную команду или добавляя название «Полное стек» для всех, Что создает идею, которую каждый должен знать обо всем.
Получение большего давления для быстрого обеспечения
Еще один способ, которым люди ошибаются, — это установить ожидание того, что, поскольку они «делают» DevOps сейчас, организация должна делать несколько развертываний в день. Требуется время, чтобы изменить вещи. DevOps подразумевает изменение культуры, и изменение культуры становится сложнее, когда организация большая. Неправильно думать, что вы сможете доставить быстрее в одночасье. Есть так много вещей, о которых вам нужно позаботиться. Некоторые примеры-автоматическая сборка и тесты, производственные среды, управление конфигурацией и так далее.
Есть много нереалистичных ожиданий с DevOps, и несколько развертываний в день являются одним из них. Неудивительно, что многие люди начали слышать об этом, когда Джон Аллепс и Пол Хаммонд от Flickr говорил о том, как делать Десять развертываний в день на конференции . Отчет о состоянии DevOps 2017 Также подтверждает идею о том, что высокие исполнители (такие компании, как Amazon, Netflix, Google и другие «единороги») делают несколько развертываний в день.
Все это привлекательно, поэтому я понимаю, почему некоторые организации хотели бы «делать» DevOps. Но чтобы добиться успеха, вам сначала нужно определить, где находятся ваши проблемы. Есть огромные преимущества от нескольких развертываний в день, но нелегко сделать это правильно. Я написал Пост об этом Некоторое время назад.
Вы не должны давать себе x месяцев, чтобы соответствовать DevOps и поставляться быстрее. Инженеры уже испытывают достаточно давления, чтобы унести сроки, и добавление большего количества ожиданий не приносит пользы.
Результаты — это то, что имеет значение
Позвольте мне повторить цитату Джина еще раз. «DevOps — это не то, что вы делаете , но каковы ваши результаты «Когда вы принимаете эту идею, вы начинаете понимать, что многие вещи, которые вы думаете о DevOps, не имеют смысла. Сметные действия слева в вашем конвейере доставки не означают, что разработчики теперь позаботятся обо всем, или что операции, которые люди будут программировать новые функции в системе. Каждая часть в головоломке имеет свою цель, и заставляя людей добавлять задачи за пределами масштаба своих обязанностей в их рабочей нагрузке, никогда не является хорошей практикой.
Инженеры могут устать от DevOps, потому что они в конечном итоге делают больше работы. Конечно, они изучают новые вещи, но они также де-специализируются в своей области. Или, может быть, руководство повышает давление с нереалистичными ожиданиями, не понимая, что изменения не происходят в одночасье. Но также возможно, что инженеры только что слышали, как все говорят о DevOps.
Если вы или ваша команда получаете усталость DevOps, забудьте об этом на мгновение. Определите, где у вас возникли проблемы при продвижении изменения вашего кода в производство. Причины варьируются, но ваш процесс, инструменты или даже ваши люди могут помешать вам легко выпустить программное обеспечение. Идея DevOps не плохая; Проблема в том, что у каждого есть другое определение DevOps и реализует это по -разному, и это разочаровывает.
Оригинал: «https://dev.to/scalyr/why-are-engineers-getting-devops-fatigue-15hi»