Что такое DevOps

Термин DevOps появился в 2009 году с лёгкой руки бельгийского IT‑консультанта и менеджера проектов Патрика Дебуа. На своей странице в Twitter Патрик предложил обсудить «гибкие методы в администрировании систем». Придуманный им хештег, в котором слились development (разработка) и operations (эксплуатация), быстро стал популярным во всём мире.

Сегодня DevOps — это название целой философии и культуры взаимодействия между разнопрофильными специалистами. А также система соответствующих практик.

Именно DevOps‑практики помогли компании Etsy перейти из состояния фрустрации и изоляции в состояние успешного производства, построенного на основе сотрудничества.

Дженнифер Дэвис, автор книги «Философия DevOps. Искусство управления IT»

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

Кому и зачем нужны DevOps‑инженеры

Хотя DevOps как подход возник сравнительно недавно, мало кто сомневается в его ценности. А вот с профессией DevOps‑инженера всё не так однозначно. Существует мнение, что такой специальности просто нет. Ведь отдельный человек не может одновременно программировать, тестировать и запускать приложение в производство.

Тем не менее на сайтах по подбору персонала — и российских, и американских — активно ищут DevOps‑инженеров. Особенно в них заинтересованы крупные организации, где трудится много разношёрстных команд, а скорость выпуска и обновления программ имеет критическое значение. Но, в принципе, DevOps может принести пользу любой компании, которая занимается разработкой приложений или управлением серверами.

Глобальная задача DevOps‑инженера — максимально ускорить, упростить и автоматизировать создание ПО на всех этапах, от написания кода до запуска проекта.

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

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

Впрочем, таких проволочек и ошибок с появлением DevOps‑инженера будет на порядок меньше. По крайней мере, для этого его и нанимают.

Что должен уметь DevOps‑инженер

Чтобы успешно выполнять свои задачи, DevOps‑инженер должен разбираться и в программировании, и в системном администрировании, и в облачных технологиях, и в автоматизации инфраструктуры. А ещё быть хорошим менеджером и переговорщиком.

Хотя требования к сотруднику зависят от конкретной компании, в любом случае список ожиданий от DevOps‑инженера очень широк. Вот лишь основной набор навыков и знаний, без которых в этой профессии не обойтись:

  • Понимание жизненного цикла и этапов разработки программного обеспечения.
  • Понимание принципов Agile — гибкого подхода к разработке.
  • Понимание процессов CI/CD (continiuous integration / continuous delivery) — непрерывной интеграции и доставки приложения.
  • Опыт работы с инструментами автоматизации CI/CD (Jenkins, GitLab CI/CD, CircleCI, Bamboo, TeamCity и другие).
  • Опыт автоматизации виртуальной инфраструктуры (Infrastructure as Code, или IaC) с помощью Terraform.
  • Опыт работы с инструментами управления конфигурацией (прежде всего — Ansible, а ещё Chef и Puppet).
  • Опыт работы с системой контроля версий Git.
  • Знание операционных систем Linux и/или Windows на экспертном уровне.
  • Знание сетевых технологий и основных сетевых протоколов (TCP/IP).
  • Опыт администрирования баз данных (MongoDB, MySQL, PostgreSQL).
  • Опыт работы с веб‑серверами (Apache, Nginx) и развёртыванием веб‑приложений.
  • Опыт работы с облачными платформами (AWS, Microsoft Azure или Google Cloud).
  • Опыт работы с контейнерами (Docker) и системой управления контейнерами (Kubernetes).
  • Умение писать cкрипты для автоматизации на двух‑трёх языках (как правило, речь идёт о Bash, Python, Ruby или Perl).
  • Опыт работы с инструментами мониторинга инфраструктуры (Zabbix, Prometheus).
  • Развитые soft skills.
  • Разговорный и письменный английский — не ниже Intermediate.

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

Сколько платят DevOps‑инженеру

Разнообразные навыки и таланты DevOps‑инженера щедро вознаграждаются. Cредняя зарплата технаря‑многостаночника приближается к 100 000 долларов в год в США DevOps Engineer Salaries и к 140 000 рублей (около 1 800 долларов) в месяц в России Зарплаты айтишников в первой половине 2020‑го: +8% за счёт Москвы . Это выше, чем в среднем у российских IT‑специалистов (108 тысяч рублей, или около 1 400 долларов, в месяц).

Заработок зависит от уровня специалиста (junior, middle или senior) и от региона. Так, ставка DevOps‑инжеренера уровня middle стремится к 230 000 рублей в месяц (около 3 000 долларов), а senior вполне может претендовать на сумму в полтора‑два раза выше (4 500–6 000 долларов). В Москве и Санкт‑Петербурге традиционно платят больше, чем в других городах.

Как стать DevOps‑инженером

DevOps — это прежде всего опыт и глубокое понимание того, как устроен процесс разработки, запуска и поддержки программ, а не знание конкретных инструментов.

Неудивительно, что проще всего войти в профессию тем, кто уже успел поработать в IT либо программистом, либо системным администратором. Некоторым по силам освоить инструменты и принципы DevOps самостоятельно, а для всех остальных есть множество курсов переквалификации.

Подучиться на курсах можно и новичкам. Но в любом случае проходить их лучше не с нуля, а на базе высшего или хотя бы среднего образования в области информационных технологий. Идеальный вариант для начинающих — обучение азам DevOps при IT‑компаниях, которые дают шанс на трудоустройство.

Где готовят DevOps‑инженеров

Мы подобрали список из пяти популярных курсов на любой кошелёк, темп и уровень.

1. Школа DevOps

  • Длительность: 2 недели — 3 месяца (10–68 академических часов).
  • Стоимость: 0–120 тысяч рублей за курс.
  • Студенты: от новичков до специалистов с опытом работы DevOps‑инженером от года.
  • Формат: онлайн‑уроки, живое общение с преподавателями.
  • Трудоустройство: консультации по трудоустройству, помощь в составлении резюме, двухнедельная стажировка после продвинутого курса.

Школа DevOps предлагает бесплатный онлайн‑курс для тех, кто делает первые шаги в профессии. За 10 академических часов вы познакомитесь с основными понятиями DevOps, Agile и жизненного цикла ПО, а ещё научитесь работать с Linux, Git, Jenkins и Ansible.

Для сисадминов, сетевых и системных инженеров, программистов и тестировщиков предназначен расширенный курс переквалификации продолжительностью 36 часов (2 месяца).

Наконец, профессионалы, которые уже успели отработать на позиции DevOps‑инженера хотя бы год, знают скриптовые языки (Python, Perl, Ruby) и хорошо владеют техническим английским, могут повысить свой уровень на продвинутом курсе длительностью 68 часов (3 месяца). По окончании обучения студентов ждёт двухнедельная стажировка.

2. Skillbox

  • Длительность: 2 года (260 онлайн‑уроков).
  • Стоимость: 6 591 рубль в месяц (3 955 рублей в месяц со скидкой), рассрочка на 24 месяца.
  • Студенты: IT‑cпециалисты уровня junior и middle.
  • Формат: видеолекции, воркшопы, домашние задания с обратной связью от ментора.
  • Трудоустройство: рекомендации по составлению портфолио и резюме, подготовка к собеседованию, персональные консультации, присутствие реальных заказчиков на защите диплома.

Программа «Профессия DevOps‑инженер PRO» от онлайн‑университета Skillbox рассчитана на сисадминов, тестировщиков и программистов, которые хотят приобрести новую востребованную специальность. Свои силы могут попробовать и новички, но они должны хотя бы на базовом уровне разбираться в основах Linux, сетей и баз данных, уметь работать с веб‑серверами и программировать на Bash.

Не отрываясь от основной деятельности, студенты освоят самые популярные системы контейнеризации Docker и контроля версий Git, научатся автоматизировать настройку серверов и процессы CI/CD, а также cоздавать решения для мониторинга. Кроме того, начнут писать скрипты на Python, даже если раньше не умели.

В подарок учащиеся получают курс по облачным сервисам и системе управления контейнерами Kuberbetes. Плюс два месяца бесплатного английского.

3. Нетология

  • Длительность: 11 месяцев (64 часа теории и 252 часа практики).
  • Стоимость: от 5 895 рублей в месяц при оплате частями.
  • Студенты: сисадмины, начинающие DevOps‑инженеры, программисты, тестировщики.
  • Формат: вебинары, домашние задания с обратной связью от эксперта, практические занятия и защита диплома в облаке.
  • Трудоустройство: помощь в составлении резюме, поиске вакансий и подготовка к собеседованию.

Курс «DevOps‑инженер» от Нетологии позволяет IT‑специалистам с опытом работы перейти в новую профессию менее чем за один календарный год.

Студенты получают всё, что нужно DevOps‑инженеру для трудоустройства. Это работа с Git, администрирование Linux и баз данных, автоматизированная сборка и доставка с Jenkins, GitLab CI и TeamCity, создание облачной инфраструктуры с помощью Terraform, написание скриптов и многое другое. Приятный подарок — расширенный курс по Python и бесплатные уроки английского для IT‑cпециалистов.

4. ProductStar

  • Длительность: 2 месяца (11 блоков и 11 воркшопов).
  • Стоимость: 25 000 рублей за весь курс (19 000 рублей для первых 25 студентов).
  • Студенты: сисадмины, начинающие DevOps‑инженеры, программисты, тестировщики.
  • Формат: видеолекции, домашние задания и обратная связь от ментора.
  • Гарантии трудоустройства: помощь с составлением резюме, консультации по основным моментам при устройстве на работу.

Освоить азы профессии на онлайн‑курсе «DevOps: быстрый старт» от ProductStar можно в максимально короткие сроки и в любое удобное для вас время. Под азами подразумеваются методология DevOps, основы Linux, знакомство с Git, CI/CD и Jenkins, упаковка приложений в Docker, управление конфигурациями с Ansible, программирование на Bash и введение в Python. Не так уж плохо для старта!

5. REBRAIN

  • Длительность: в своём темпе (шесть модулей, 200+ задач).
  • Стоимость: 75 000 рублей за весь курс (с рассрочкой 10 месяцев).
  • Студенты: сетевые инженеры, сисадмины, технические менеджеры, тестировщики, разработчики, начинающие DevOps‑инженеры.
  • Формат: практические задания, чат с составителями курса, проверка в течение 24 часов с подробным фидбэком, видеолекции, мастер‑классы.
  • Гарантии трудоустройства: составление резюме.

REBRAIN предоставляет онлайн‑практикумы для специалистов по инфраструктуре. Программа «DevOps‑инженер» тоже на 90% состоит из практики, а точнее — из более чем 200 задач. Никто не ограничивает вас во времени, поэтому проходить курс можно хоть до конца жизни. Но мотивированный студент обычно укладывается в 6–8 месяцев.

Решая задачи, вы изучите весь технологический стек, необходимый DevOps‑инженеру — включая Git, Nginx, Terraform, Ansible, базы данных, инструменты СI/CD и мониторинга, Docker и Kubernetes. Отдельные модули посвящены популярным языкам программирования и тестированию.

Занятия ведут специалисты DevOps‑агентства Fevlake. Выпускники, помимо знаний и сертификата, получают бессрочный доступ ко всем материалам.