Максим Сотников
16 декабря 2019 • 2 минуты чтения

Переквалификация в DevOps: кому и зачем стоит идти в DevOps

Что такое DevOps?

 

Давайте в самом начале расставим все точки над «i». DevOps — это не человек, DevOps — это набор практик и инструментов, нацеленных на ускорение процессов разработки.

 

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

 

Зачем нужен DevOps?

 

Давайте представим. Вы сидите в любимом свитере с оленями, компилируете ядро и особо не переживаете за то, как там работает ваш апликейшн на бизнес уровне. Для того, чтобы задеплоить новую версию продукта, вам присылают последний код в виде tar-архива или, что еще хуже, приносят его на флешке.

 

Не разбираясь, что там, вы просто копируете содержимое архива на сервер и запускаете скрипты, которые обновляют код. И все бы ничего, но код имеет свойство ломаться, и в какой-то момент скрипт выходит не с нулем. Вы пишите письмо разработчику, что код плохой, не деплоится. Разработчик в свою очередь пишет, что у него на локальной машине все работает, и начинается никому не нужная ругань. А от этого страдает что? Правильно — бизнес.

 

Если, прочитав это, вы узнали свою команду — вам самое время внедрять DevOps-практики. В результате вы сможете ускорить разработку без потери качества.

 

Почему именно DevOps?

 

DevOps-инженеры сейчас очень востребованы. В любой команде разработки вы найдете минимум одного DevOps-инженера. Средний уровень зарплат этой специализации сейчас колеблется в пределах 2000-3000 долларов. Верхний порог — больше 6000 тысяч долларов. Неплохая перспектива, не так ли?

 

Как начать карьеру в DevOps?

 

Исходя из личного опыта, я бы не советовал заходить в IТ через эту специализацию. Очень высокие требования к начальным знаниям. Необходимо знать хотя бы на базовом уровне очень много технологий и инструментов.

 

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

 

Какие основные технологии и инструменты для DevOps инженера?

 

Необходимо владение многими технологиями и инструментами, основные из них:

 

  • CI/CD-инструменты, такие как Jenkins, TeamCity, GitlabCI, TravisCI;
  • облачные провайдеры: AWS, GCC, Azure:
  • логгинг и мониторинг: Grafana, ELK stack, Prometheus;
  • инфраструктура как код: Terraform, Cloudformation;
  • управление конфигурациями: Ansible, Puppet, Chef;
  • Docker;
  • GIT, без него никуда;
  • базовые знания языков программирования. Python, ruby. Ну и shell-скриптинг. Без него никуда.

 

Ну и ко всему этому не забываем про английский язык хотя бы на уровне Pre-Intermediate. Владение технологиями вышеперечисленного списка позволит претендовать на позицию Middle DevOps engineer, ведь позиция Junior DevOps engineer встречается крайне редко. Еще одним хорошим вариантом будет устроится в интернатуру крупной Компании. Но это уже совсем другая история.

 

Выводы

 

Если вы работаете в IТ и можете администрировать сервера по ssh, или очень хотите этому научиться, вам необходимо подтянуть знания и навыки в технологиях и инструментах, описанных выше. Сделать это можно посредством просмотра лекций или посещая специализированные DevOps-курсы. Совет напоследок: первые 3 собеседования будет очень больно. Тут главное не сдаваться и не останавливаться. Дорогу осилит идущий.