Являетесь ли вы инженером DevOps, если вы не пишете код?

«DevOps» — один из самых непонятных терминов в индустрии разработки программного обеспечения. Для ясности, я не являюсь арбитром истины, когда речь идет об определении слов. Тем не менее, я хочу сказать две вещи:

  1. Пионеры движения DevOps имели в виду конкретное значение, когда вводили этот термин, и это значение в большинстве случаев понимается неправильно.
  2. За последние 10 лет мы многое узнали о DevOps. Лично я использую этот термин для описания того, что, по моему мнению, является лучшей практикой в настоящее время в соответствии с первоначальным значением.

Одна из вещей, которая меня больше всего беспокоит в индустрии «DevOps», заключается в том, что руководители среднего звена во многих компаниях, похоже, заинтересованы в ребрендинге своего отдела эксплуатации в отдел «DevOps» без внесения каких-либо позитивных изменений.

DevOps — это не просто операционная деятельность в облаке.

Замечание по поводу определений

Я люблю хорошие разговоры, но ничто так не убивает хорошие разговоры, как использование двумя людьми одного и того же слова в разных значениях.

В слове «DevOps» или любом другом слове нет ничего волшебного. Если вы хотите сказать мне, что у вас другое определение этого слова, это прекрасно. Это может запутать в зависимости от того, насколько отличается ваше определение, но мы можем с этим работать. Тем не менее, вы должны четко понимать, что вы имеете в виду, когда говорите о DevOps — особенно если вы используете необычное определение этого термина.

Следуя собственному совету, я собираюсь определить часть того, чем, по моему мнению, является «DevOps». Это то, что в хороших организациях DevOps очень мало ИТ-специалистов, которые не пишут код.

  • Я интерпретирую «DevOps Handbook» и «The Phoenix Project» (это книги, которые положили начало «DevOps») в поддержку этой идеи.
  • Я также интерпретирую большую часть исследований за последние 10 лет (включая данные из книги «Accelerate») в поддержку идеи о том, что операторы, которые пишут код, создают более эффективные организации.

Что говорится в руководстве DevOps Handbook?

Давайте посмотрим на выдержки из «Руководства по DevOps»:

Миф — DevOps означает ликвидацию ИТ-операций, или «NoOps»: Многие неправильно понимают DevOps как полную ликвидацию функции ИТ-операций. Однако это редко бывает так. Хотя характер работы IT Operations может измениться, она остается такой же важной, как и раньше. На более ранних этапах жизненного цикла программного обеспечения ИТ-операции сотрудничают с отделом разработки, который продолжает работать с ИТ-операциями еще долгое время после того, как код был развернут в производство.

Вместо того чтобы IT Operations выполняла ручную работу, которая поступает из рабочих билетов, она обеспечивает производительность разработчиков с помощью API и самообслуживаемых платформ, которые создают среды, тестируют и развертывают код, отслеживают и отображают телеметрию производства и т.д. Поступая таким образом, IT Operations становится больше похожим на Development (как и QA и Infosec), занимающийся разработкой продукта, где продукт — это платформа, которую разработчики используют для безопасного, быстрого и надежного тестирования, развертывания и запуска своих IT-сервисов в производство.

Наиболее важным для наших целей является следующее:

ИТ-операции становятся более похожими на разработку… где продукт — это платформа, которую разработчики используют… для запуска своих услуг.

Другими словами, если команда «DevOps» вообще должна быть командой, то, по моему мнению, это должна быть команда, ответственная за создание инструментария, который позволяет разработчикам быстро тестировать, развертывать и контролировать свои сервисы самостоятельно.

Неужели больше нет места для ИТ-операторов?

Да, безусловно, есть. Существует множество организаций, которым нужны традиционные инженеры по ИТ-операциям, и у них нет реальной необходимости писать пользовательский код. Хочу уточнить, что подавляющее большинство моего опыта связано с разработкой облачных веб-сервисов. В этой среде я обнаружил, что инженеры «DevOps», умеющие писать сценарии, автоматизировать работу, создавать API и использовать Git, более эффективны, чем те, кто этого не умеет.

Однако я могу с легкостью придумать и другие отрасли, где ИТ-команды, не умеющие кодировать, могут быть столь же эффективны, как и те, кто умеет. Например, если у вас есть команды людей, работающих в непосредственной близости к самому оборудованию, то вероятность того, что им понадобится писать код, меньше. Вероятно, работы по конфигурированию оборудования, настройке сетей и т.д. будет более чем достаточно.

Учитывая все это, я думаю, что в этом мире есть определенные навыки, которые вам просто необходимо приобрести, если у вас есть время и ресурсы.

  1. Нужно ли вам знать, как писать код? Нет. Это почти наверняка сделает вас более эффективным «работником со знанием дела»? Да.
  2. Нужно ли вам быть отличным писателем? Нет. Это почти наверняка сделает вас лучшим коммуникатором? Да.

Я бы не сказал, что «всем нужно учиться кодить». Я бы сказал, что если кодинг вам интересен и у вас есть свободное время, то стоит им заняться.

Так стоит ли мне изучать код, будучи оператором?

Если вы являетесь инженером DevOps, которому не нравится идея написания кода, никогда не поздно начать. Я обнаружил, что из оперативных сотрудников получаются отличные разработчики по целому ряду причин:

  • Они знакомы с инструментами командной строки, телеметрией, сетевыми технологиями и т.д.
  • Они знакомы с такими технологиями, как базы данных, системы pubsub, балансировщики нагрузки и т.д.
  • Они понимают программы, которые они будут писать, снаружи, теперь им нужно только разобраться во внутреннем устройстве.
  • Они уже привыкли биться головой о клавиатуру, пытаясь понять, почему что-то сломалось.

В любом случае, не хочу слишком сильно рекламировать свой собственный продукт, но если вы заинтересованы в том, чтобы начать кодировать back-end, я создал Boot.dev как место, где оперативные инженеры могут повысить квалификацию в области кодирования и компьютерных наук. Загляните туда, если хотите научиться писать back-end код на Python, JavaScript и Go. Если же Boot.dev вам не по душе, обратитесь к FreeCodeCamp, Odin Project или любым другим хорошим ресурсам, которые подходят для ваших нужд.

Итак, являетесь ли вы инженером DevOps, если вы не пишете код?

Конечно, вы можете быть кем угодно. Мое намерение не состоит в том, чтобы закрывать на это глаза. Думаю, есть две вещи, которые меня действительно волнуют.

  1. Я хочу работать в организации, которая позволяет разработчикам легко и автоматизированно тестировать, развертывать и контролировать свои сервисы.
  2. Я называю людей, благодаря которым это происходит, «DevOps».
  3. Вам не обязательно писать код, чтобы достичь целей DevOps, но это будет намного сложнее, если вы не сможете этого сделать.

Желаю удачи!

Оцените статью
devanswers.ru
Добавить комментарий