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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Деньги

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

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

Что дальше

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

Редактура:

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

Художник:

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

Корректор:

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

Вёрстка:

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

Соцсети:

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

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
NFT — новые модные токены. Зачем они нужны и не развод ли это?
NFT — новые модные токены. Зачем они нужны и не развод ли это?

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

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

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

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

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

medium
Как разработчику фокусироваться на работе
Как разработчику фокусироваться на работе

Даже если всё вокруг этому мешает

easy
«Никто не верил, что я сама пишу код»
«Никто не верил, что я сама пишу код»

Анастасия Никулина: о дата-сайнс, ютубе и программировании.

10 главных конструкций языка 1С
10 главных конструкций языка 1С

Объясняем по-русски

Single Page Application: как работает сайт-приложение
Single Page Application: как работает сайт-приложение

Это не сайт и не приложение. Что это?

easy
Что такое TCP/IP и зачем они нужны
Что такое TCP/IP и зачем они нужны

Рассказ о протоколе, на котором работает весь интернет

medium
Как разработчику наконец-то зафиналить зависшую задачу
Как разработчику наконец-то зафиналить зависшую задачу

Когда очень надо упереться

easy
easy