Кто такой девопс и что он делает

Кто такой девопс и что он делает

Это как системный администратор и программист в одном лице.

Как обычно пишут программы

Традиционный цикл разработки программ выглядит так:

  1. Программисты пишут код небольшими порциями.
  2. Когда очередная версия программы готова, она отдаётся в отдел тестирования.
  3. Тестировщики пишут тесты и ищут ошибки в коде. Если нашли — отдают программистам, и всё начинается с первого пункта.
  4. Если ошибок нет, код отправляется на сборку, чтобы включить его в новую версию программы.
  5. После добавления этого кода в новую версию код снова тестируют — всё ли нормально, дружит ли новый код со старым и нет ли каких конфликтов. Если есть — код отдаётся обратно программистам.
  6. Если всё в порядке, код идёт в бой, например, выкатывается на сайт.

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

Минусы поэтапной разработки

Всё дело в том, что с таким подходом есть чёткое разделение зон ответственности. Допустим, у нас простая разработка, которая разделена по отделам так:

  • есть программисты, которые пишут код;
  • дизайнеры, которые натягивают дизайн на этот код;
  • тестировщики;
  • и отдел выпуска финальных релизов.

Проблема в том, что у каждого из этих отделов своё рабочее окружение: они сами следят за своими библиотеками, фреймворками и операционной системой. Из-за этого то, что работает у одних, может не работать у других.

В итоге все тратят время на синхронизацию требований к коду, компонентам, фреймворкам и библиотекам. Работа стоит, код не пишется.

DevOps-подход к разработке

Изначально термином DevOps описывали только сам подход к разработке софта, но потом этим термином стали называть новую профессию. DevOps-подход в общих чертах можно описать так:

  • если что-то можно автоматизировать — автоматизируем;
  • каждый отдел использует один и тот же софт и настройку;
  • финальный код должен как можно быстрее доходить до того, кто пользуется этим софтом;
  • единая среда для разработки, тестирования и финального выпуска.

Благодаря этому подходу каждый отдел получает единую настроенную среду для работы — точно такую же, которой пользуются и программисты, и тестировщики, и аналитики, и служба поддержки. Это помогает быстрее тестировать и выпускать код, а также экономит время настройки каждого рабочего места.

Кто такие девопсы и что они делают

Чтобы всё это работало на практике, появились девопс-инженеры, или просто девопсы. Основная задача такого специалиста — настройка и поддержание в рабочем состоянии нужного софта в компании, а также автоматизация каждого этапа разработки.

Вот что может делать девопс-инженер:

  • настраивать серверы и автоматически управлять их конфигурациями;
  • создавать и настраивать виртуальные контейнеры для быстрого запуска нужного софта. Чаще всего для этого используют Docker;
  • управлять этими контейнерами из одного места и автоматизировать всю их работу;
  • настроить автоматическое тестирование кода;
  • сделать так, чтобы код после тестов автоматически попадал в готовую сборку;
  • собирать данные для мониторинга работы всей системы. Если какой-то сервис или процесс сломается, девопс сразу должен это увидеть и отреагировать.

👉 Главная задача девопса — сделать так, чтобы автоматизации было как можно больше и чтобы она действительно ускоряла разработку.

Что нужно уметь

Чтобы стать девопсом, нужно освоить много разного:

  • принципы и теорию разработки ПО;
  • инструменты автоматизации работы с кодом — Git, Jenkins;
  • системное администрирование на уровне мидла или выше;
  • виртуальные контейнеры и работу с ними — Docker и Kubernetes;
  • базы данных — реляционные и нереляционные;
  • веб-серверы;
  • Python или другой язык для написания рабочих скриптов;
  • системы управления конфигурацией серверов — Ansible;
  • сбор данных по нагрузке и ошибкам во всех системах.

Если при этом девопс будет знать хотя бы на уровне джуниора выбранный язык программирования в компании — будет вообще идеально. Так он сможет учесть особенности языка и подобрать под него нужные инструменты.

Деньги

По данным Хабр Карьеры, в первом полугодии 2021 года средняя зарплата девопс-инженера — 171 тысяча в месяц. Джуниоры получают в среднем 82 тысячи, а сеньоры — 230 тысяч.

Что дальше

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

Текст:

Михаил Полянин

Редактура:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Олег Вешкурцев

Веб-разработка — это новый черный
А мы знаем толк в моде и поможем освоить новую специальность за полгода.
Посмотреть
Фронтенд — это новый черный
Еще по теме
prev
next
NFT — новые модные токены. Зачем они нужны и не развод ли это?
NFT — новые модные токены. Зачем они нужны и не развод ли это?

Объясняем на Аллегровой.

Гид: что изучать, чтобы получить ИТ-профессию

Планы на будущий год.

JavaScript для новичков: чем опасны нестрогие типы данных
JavaScript для новичков: чем опасны нестрогие типы данных

В JavaScript есть удобная штука, которая может сильно вам навредить.

Sublime Text
Почему настоящие мастера пишут всё в Sublime Text

Вообще всё.

iTerm2: модный терминал маковода
iTerm2: модный терминал маковода

Как установить и начать пользоваться.

Объясни мне: как устроен интернет
Объясни мне: как устроен интернет

Часть 1: Компьютеры и сеть.

Markdown: что это и кому нужно
Markdown: что это и кому нужно

Для всех, кто пишет контент, сайты и программы.

Что такое канбан
Что такое канбан

Самый узнаваемый атрибут айтишных команд.

Верстаем в сетке

Разбираем, как можно расположить текст и фото в CSS Grid.

Системный администратор — что нужно знать, чтобы получать 160 000 рублей
Системный администратор — что нужно знать, чтобы получать 160 000 рублей

Это не тот администратор, который ставит вам Windows.

Что такое легаси в коде
Что такое легаси в коде

Однажды, Симба, всё это будет твоим

Как называть переменные и функции, чтобы вас уважали бывалые программисты
Как называть переменные и функции, чтобы вас уважали бывалые программисты

Если вы опытный разработчик, покажите эту статью начинающим.

Зачем нужен нормализатор CSS
Зачем нужен нормализатор CSS

Хорошая практика веб-разработчиков.

easy