![](https://habrastorage.org/getpro/habr/upload_files/318/b01/7c3/318b017c3fc8632c0f4e0239713b16db.png)
DevOps-инженера ищут многие, но находят не все. Специалисты, умеющие внедрять DevOps-практики, последние 3 года являются одними из самых востребованных на IT-рынке. Спрос на них постоянно растёт. Заработная плата, несмотря на кризис, тоже не падает. Хорошие причины, чтобы задуматься, как прийти в эту профессию и каким образом в ней развиваться?
Специальность DevOps-инженера действительно появилась в IT-индустрии относительно недавно и быстро вырвалась в «топ». Development Operations – это, в первую очередь, набор практик, призванный улучшить и автоматизировать процесс доставки продукта до конечного пользователя, и он может быть полезен везде, где речь идёт о разработке приложений или управлении большим количеством серверов. Пожалуй, только небольшие команды могут позволить себе не выделять DevOps в отдельную функцию и обходиться исключительно своими силами.
Итак, какие задачи решает DevOps-инженер?
Его основная цель – выявлять «узкие места» и при помощи DevOps-практик обеспечивать «прохождение» продукта через эти «ловушки». Решаемые задачи всегда носят практический характер и находятся на стыке разных областей. Как правило, они зависят от потребностей продукта, от команды и подходов, которые применяются в той или иной компании. Проекты, входящие в зону ответственности DevOps, можно сгруппировать в четыре основных направления:
Обеспечение полного жизненного цикла продукта;
Подготовка различных окружений (разработка — тестирование — production) и обеспечение поставок продукта на эти окружения;
Обеспечение автоматического прохождения продукта через различные стадии непрерывной интеграции (CI) и непрерывной доставки (CD);
Виртуализация и управление инфраструктурой, мониторинг.
Результатом внедрения методологии и практик DevOps становится синхронизация различных этапов разработки и выпуска конечного продукта. Чтобы решать задачи подобного масштаба, DevOps-инженер должен выступать одновременно в роли админа, разработчика, тестировщика и менеджера. Однако не стоит думать, что появление такого человека в команде сразу и полностью решит проблемы. Все члены коллектива, чья деятельность, так или иначе, подразумевает связь с DevOps, оказываются вовлечены в эти процессы.
Исходя из направлений деятельности, на практике DevOps-инженер используют следующие инструменты:
CI/СD и интеграцию (Jenkins, TeamCity, GitLab, Bamboo);
Автоматизацию (Terraform, Puppit, Ansible);
Облачные платформы (AWS, Google Cloud Platform, Microsoft Azure, Huawei Cloud, Яндекс Облако, Mail.ru Cloud Solutions);
Мониторинг (Prometheus, Grafana, Zabbix, Nagios);
Системы логирования, трассировки (ELK Stack, Graylog, Gafana, Jaeger);
Контейнеризация и орекстрация (Docker, Kubernetes, Nomad).
Карьерная карта
В DevOps приходят из разных профессий. Основные «доноры» - это System administrator, Automation engineer, QA automation, Build Engineer/ Release Engineer, Developer. Представители этих специальностей уже обладают рядом навыков, которые необходимо развить и расширить.
Андрей Синицын, Head of IT Optimisation Departmen в «ECommPay», рассказывает: «Я занимаюсь компьютерами с середины 90-х — я из того времени, когда эта профессия выбирала тебя. Передо мной никогда не стояло вопроса, чем заниматься по жизни. Сначала я работал программистом, потом понял, что мне интереснее эксплуатация, и ушел в DevOps. «Живой» продакшн — это всегда интересно. И, на мой взгляд, интереснее, чем написание программы: ты видишь, как код эволюционирует, как он работает, как он выполняет (или, как это часто бывает, не выполняет) ту задачу, для решения которой был написан».
Комплексность подхода, характерная для DevOps-процессов, и сложность их полного охвата объясняют тот факт, что на рынке труда востребованы курсы и сертификаты, как правило, связанные с повышением навыков использования конкретных инструментов, но не DevOps-практику целиком.
Сертификаты AWS, GCP, Azure, Kubernetes (CKA, CKAD) могут рассказать работодателю о том, что соискатель имеет навык работы с конкретными платформами, но, как правило, DevOps-инженером становятся только на практике.
Составляя идеальное «DevOps-резюме», важно отразить в нём навыки, которыми вы владеете, задачи в рамках уже реализованных проектов, их особенности, зону ответственности; используемый стек технологий и, конечно, не забыть о soft-skills. Андрей Синицин подчёркивает, что для DevOps «очень важны хорошие коммуникативные навыки, знание английского, обучаемость и out-of-box thinking — стандартный набор для любой специализации в IT. Еще я бы добавил, что большое преимущество в DevOps дает понимание бизнеса (или стремление к этому). Эксплуатация никогда не зарабатывает деньги напрямую, и осознавать business value того, что ты делаешь, очень важно».
В свою очередь, рассматривая те или иные вакансии, соискатель должен обращать внимание на информацию о компании и проекте, основных обязанностях, масштабе задач, которые предстоит решать, текущем состоянии жизненного цикла продукта и с помощью каких инструментов он построен (используемый стек).
Кстати, нам вы также можете прислать резюме по этой ссылке.
Перспективы – сегодня и завтра
DevOps-инженеры действительно зарабатывают больше всех в отрасли. В США, Канаде, UK заработная плата колеблется между 90 и 122 тысячами долларов в год. Что касается России, то в Москве работодатели готовы предложить такому специалисту в среднем 260 тыс. рублей в месяц (верхняя планка доходит до 350 тыс. ), в Санкт-Петербурге средняя зарплата составляет 200 тыс. рублей.
Есть и нематериальные мотиваторы. В частности, участие в масштабных проектах, решение сложных задач, возможность применять новые технологии и подходы. По словам Андрея Синицына, главный стимул, это «создаваемый продукт, наверное. И интереса добавляет то, что этот продукт — не «коробочный». Участие в таких проектах всегда вдохновляет, появляется даже ощущение «творца»: когда команда создает шаг за шагом большую и сложную систему, которая обрабатывает огромное количество трафика, отвечая требованиям надежности.
Конечно, в мои обязанности входит и рутинная работа: что-то падает, что-то зависает, кончается место, ломаются маршруты, теряется связь — это все сотни и сотни мелких повседневных задач, которые решают инженеры эксплуатации.»
Что касается возможностей карьерного роста, то для DevOps-инженера открыт путь к следующим позициям: Devops Team Lead, DevRel (Developer relations), Delivery Manager, Devops architect, Head of Engineering.
DevOps 2021: основные тренды
«Анализируя 2020 год, можно заметить, что в центре внимания стала, прежде всего, безопасность. В том числе, безопасность IT-продуктов, поэтому одним из самых заметных трендов является DevSecOps и в целом SDLC (Security development lifecycle). DevSecOps подразумевает встраивание процесса безопасной разработки в процесс DevOps, интеграцию парадигм безопасности в каждый из этапов разработки.
Внедрение таких подходов, как DevSecOps, невозможно без следующего тренда — автоматизации, одного из основных «китов» DevOps-практики. Скрипты, автоматизация, внедрение подхода IaC (инфраструктура как код) — все это обеспечивает гибкость, скорость процессов разработки и поставки продукта.
Стоит также выделить глобальный тренд, который существует уже несколько лет — это переход в cloud-native-среду и разработка приложений с учетом особенностей облачных платформ», — считает Элиса Данильсон, консультант направления IT&Telecoms в Санкт-Петербурге.