[Перевод] 10 задач для девопса, когда уже нечем заняться
Хорошо, когда у DevOps заканчиваются задачи. Это значит, что все крупные преобразования уже позади. Однако это легко может превратиться в пугающую проблему, способную привести к деградированию навыков и выгоранию. Ради душевного спокойствия себя и своих коллег прочитайте эту статью, если вы чувствуете себя потерянным, не знаете, что делать и как оставаться проактивным.
В идеале работа DevOps должна замедляться. Вся автоматизация работает отлично, CI/CD функционирует настолько хорошо, что вы уже забыли, когда в последний раз приходилось вмешиваться после развёртывания. Кажется, что инфраструктура и процессы достигли идеального состояния, когда осталось лишь несколько мелких улучшений, которые могут и не стоить приложенных усилий.
Это настоящая мечта — не делать ничего, в то время как ваша инфраструктура функционирует подобно хорошо смазанному механизму. Однако в реальности, если вы долго ничего не делаете в роли инженера DevOps, ваши навыки и знания начинают теряться.
Помните Тора с пивным животом из «Мстителей: Финал»? Он так долго играл в Fortnite против NoobMaster69, что потерял форму и какое-то время был не особо полезен для своих коллег-супергероев. Ему пришлось потрудиться, чтобы вернуться в строй и стать жизненно важной частью команды.
Вам стоит избегать подобных ситуаций. Прежде чем углубиться в то, чем заняться, когда нечем заняться, давайте проанализируем, почему важно оставаться активным.
Проблемы в DevOps — это ваша ответственность
Хотя цели и обязанности DevOps меняются, каждая цепь не прочнее самого слабого его звена. Это относится и к DevOps. Вы каждый день работаете с людьми, возможно, с кем-то из них стали друзьями. В аварийных ситуациях друзья выручают друг друга. Но вы не сможете им помочь, если привыкли ничего не делать.
Как доказала теория эволюции, виды избавляются от неиспользуемых частей тела, в противном случае у нас по-прежнему бы были длинные клыки. То же самое относится и к хранящейся в мозгу информации. Чем реже вы пользуетесь нервами, в которых она содержится, тем сложнее её удерживать. Поэтому пользуйтесь своим серым веществом, потому что это может оказаться важным, когда на кону стоят потребности заказчика и куча денег.
Бросьте себе вызов, чтобы вернуть мотивацию
К выгоранию может привести постоянное давление, но столь же пагубным оказывается и отсутствие нагрузки. Когда в работе нет особых сложностей, вы теряете мотивацию, после чего приходит выгорание. Это одна из самых сложных ситуаций для сохранения проактивного и творческого настроя.
Однако DevOps не обязан быть для вас болотом. Вместо того, чтобы думать, что нечем заняться, подумайте обо всех возможностях, которые вы себе создали. В конечном итоге, самый важный ресурс — это время, и теперь вы способны решать, что с ним делать. Ниже мы расскажем о десяти задачах, позволяющих оставаться на вершине своей карьеры DevOps.
▍ 1. Хаос-инжиниринг
Кто сказал, что перебои обязательно должны возникать естественным образом? Подвергните свою инфраструктуру и процессы тестам. Создайте сервисы, способные ломать или отключать компоненты, и разберитесь, как автоматизировать их исправления. Благодаря хаос-инжинирингу вы создадите важный вклад для своей команды, в то же время освобождая ещё больше времени на другую работу.
Для Kubernetes можно использовать kube-monkey, а для Docker подходящим инструментом является Pumba.
▍ 2. Поговорите с командой
Являясь инженером DevOps, вы можете стать собственным отделом QA. Обратитесь к коллегам и спросите их о созданных вами для них автоматизациях или о том, чего бы им от вас хотелось. Изучите проблемы, с которыми они сталкиваются при использовании ваших решений, и разберитесь, сможете ли вы устранить их.
Один из способов выявления паттернов повторяющегося поведения — это Extreme Programming (XP). Решайте проблемы как инженер по автоматизации.
▍ 3. Документация
Мы понимаем, что, скорее всего, это не самая любимая часть вашей работы, но она всё равно необходима. Изучение старой документации, внесение в неё обновлений влияет на всю команду, и именно так вы масштабируете свой DevOps. Хорошая документация — ключевой фактор для сохранения знаний. Кроме того, после её обновления вы сможете ссылаться на неё, поэтому контроль будет необходим, только когда коллеги не смогут справляться с проблемами.
Кроме того, изучив документацию, вы сможете свежим взглядом посмотреть на свою инфраструктуру, что может помочь в поиске скрытых изъянов или устаревших решений, которые необходимо устранить или улучшить.
▍ 4. ChatOps
Создание интеграций ChatOps — ещё один способ оставаться занятым, одновременно освобождая ещё больше времени. Возможно, у вас уже есть чат-уведомления, автоматизированные тикеты Jira и тому подобное, однако выполнение команд через чат позволит вам избавиться от необходимости запуска множества разных приложений и терминалов.
▍ 5. Оптимизация затрат
При работе в облаке затраты могут быть совершенно хаотичными. Имеет смысл время от времени проверять тарифы и условия использования. Также вы можете заняться автоматизацией оптимизации затрат. Благодаря этому вы отдаёте на аутсорс отключение ненужных узлов и инстансов, которые могли ожидать задач, но ведь удобнее просто беспокоиться о каких-то аспектах, не так ли?
▍ 6. Анализ метрик
Скорее всего, у вас есть уже Prometheus, Grafana или похожие сервисы для отслеживания метрик. Очень хорошо! Но когда в последний раз вы по-настоящему обращали внимание на собираемые ими данные?
Изучите цифры и подумайте, есть ли потенциал для улучшений. Возможно, какая-то метрика со временем ухудшилась? Найдите причину и устраните проблему!
▍ 7. Создайте свой Proof of Concept
Вы можете вносить инновации как часть своей организации. Если у вас есть идея, как преобразовать какие-то процессы или упростить задачи, попробуйте убедить руководство встать на вашу сторону в поддержку реализации.
Это не обязательно должно быть что-то сверхъестественное. Например, вы можете создать внутренние альтернативы каким-нибудь уже используемым платным сервисам. Если вы действительно хотите углубиться в эксперименты, изучите возможности platform engineering.
▍ 8. Обучайтесь
Профессиональный рост критически важен для людей, работающих в ИТ. Существует множество способов поддерживать актуальность своих знаний. Один из самых простых способов сегодня — чтение отраслевых новостей. Также можно получать сертификаты поставщиков услуг или посещать конференции, чтобы обзаводиться новыми связями и учиться у специалистов. К счастью, последнее стало намного проще с появлением онлайн-конференций.
Одна из самых очевидных частей обучения — изучение нового языка. Например, одним из самых популярных проектов является Zig, а ещё вы не ошибётесь, начав изучать Bun JS.
Хорошее упражнение для мышления — чтение кода. Также можно изучать решения в чужих проектах, архитектуры, истории, кейсы и постмортемы — это позволяет взглянуть на работу по-новому и учиться на опыте других людей.
▍ 9. Обучайте других
Это тоже своего рода самообразование, поскольку обучение других — один из способов учиться самому. Как специалист по DevOps или сисадмин вы можете проводить воркшопы или сессии со своими коллегами, чтобы они поняли, в чём заключаются ваши обязанности. Кроме того, это приносит пользу команде. По нашему опыту, демонстрация того, что происходит внутри DevOps — один из самых мощных способов получить признание со стороны коллег.
Также вы можете начать учить людей вне вашей организации. Имеет смысл для этой цели вести аккаунт в Twitter и канал на YouTube. Изучите сабреддиты и каналы IRC как дополнительные возможности для передачи своего опыта. Если вы хотите выйти на более серьёзный уровень, то можете создать курс на Udemy.
▍ 10. Помогайте опенсорсным проектамм
Сегодня опенсорс — очень важная часть ИТ. Всегда есть потребность в участии, поэтому ищите, где вы можете помочь. В долговременной перспективе вы можете помочь сообществу создать что-то, чем сможет пользоваться ваша организация. Став контрибьютором, вы пользуетесь своими знаниями, получаете новый опыт и обретаете новые связи.
Подведём итог
Если вы ощущаете себя потерянным, работая инженером DevOps, то считайте, что вам повезло. По крайней мере, вы нашли время, чтобы работать над тем, чем захотите. Постановка перед собой сложных задач — простейший способ оставаться мотивированным, когда больше нечем заняться. Это поможет избежать выгорания и снова обрести интерес, изначально заставивший вас выбрать сферу DevOps.