Продукт

DevOps-инженер: кто это, чем занимается и как ими стать

Для чего нужны DevOps инженеры? В чем их отличия и философия? Кому и для чего могут понадобиться услуги DevOps? Как стать DevOps-инженером: полный путеводитель по направлению. Boodet.online.

IT GIRL 21
Поделиться
Запинить
Отправить

DevOps-инженеры: зачем они нужны и как ими стать?

Проблемы с установленными приложениями всегда возникают неожиданно. Традиционно пользователи обращаются в службу поддержки провайдера, но не всегда получают помощь. Как наладить работу быстро? Самое время обратиться к DevOps-инженерам.

Кто такой DevOps и чем он занимается — расскажем простыми словами далее.

Как расшифровывается акроним DevOps?

Примечательно, что DevOps — это не профессия. Этот акроним расшифровывается как Development Operations и представляет собой методику и философию решения IT-проблем.

К 2008 году скопилось много вопросов, которые требовали решений. Основной сложностью digital-культуры того времени было «проблема на вашей стороне». В этой фразе раскрывается основной конфликт между отделами разработки, внедрения, провайдерами услуг и конечными пользователями. Больше всего недопониманий возникало между теми, кто занимается разработкой и внедрением. Поэтому логичным было создать промежуточный этап — Development Operations.

Философия и суть DevOps

Говоря простыми словами, в DevOps есть несколько ключевых ролей:

  • Build Engineer — собирает код, изучает зависимости, ищет баги;

  • Release Engineer — передает код в продакшн. Именно этот человек решает, что отправить на дополнительное тестирование, а что — в релиз;

  • Automation Engineer — автоматизирует все процессы: тесты, git-опции, деплой;

  • Security Engineer — протестирует безопасность, найдет и устранит уязвимости и дыры.

Чем занимаются DevOpsы?

Build, Release, Automation, Security Engineer — это разные профессии, которыми зачастую владеют одни и те же люди. Именно их называют DevOps-инженерами.

Каждый DevOps должен обладать набором определенных знаний и практик, с помощью которых решаются следующие задачи:

  • сокращается время разработки ПО;

  • обновления и патчи выходят быстрее.

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

Инструменты DevOps

На вопрос, что такое DevOps и какие инструменты в нем используются, невозможно ответить кратко. Стек очень велик и регулярно пополняется.

Основные задачи и инструменты, которые их решают:

  • Оркестровка и контейнеризация. Docker, Kubernetes.

  • Непрерывная безопасность. Snyk, Netsparker.

  • Сборка. Apache Ant, Maven, Grunt, Gradle.

  • Сотрудничество и планирование. JIRA, Slack, Zoom, Clarizen, Asana.

  • Тестирование. Selenium, TestNG, JUnit.

  • Управление исходным кодом. SVN, Git, Bitbucket, GitHub.

  • Непрерывная интеграция. Jenkins, Travis CI, Bamboo, Hudson, TeamCity, CircleCI.

  • Мониторинг. Nagios, Grafana, Sensu, New Relic, Datadog, ELK.

  • Облачный хостинг. AWS, Azure, Google Cloud.

  • Управление конфигурацией. Puppet, Chef , Ansible, SaltStack, Terraform, Vagrant.

Преимущества DevOps

Что получит компания, которая наймет DevOps инженера:

  1. Оптимизация IT-процессов. Ускоряется разработка, тестирование, как итог — релиз ПО. При этом сотрудники вовлекаются в процесс и перенимают полезные навыки.

  2. Автоматизация. Снижается вероятность человеческого фактора.

  3. Feedback. Постоянная обратная связь от IT-отделов и конечных пользователей.

  4. Рабочие связи. Растет взаимопонимание между сотрудниками разных отделов.

Философия системы DevOps подойдет как крупным корпорациям, так и небольшим компаниям. Стоит понимать, что работа специалиста широкого профиля не может стоить дешево. Даже Junior-специалисты обычно запрашивают высокие зарплаты.

Как стать DevOps

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

В офлайн-университетах на эту профессию еще не обучают, хотя у многих технических и IT-факультетов уже есть такие предпосылки. Проще всего, имея профильный бэкграунд, пройти онлайн-курсы. Такие есть как на русском языке — от платформ вроде SkillFactory, GeekBrains или Mail.Ru Group, так и на английском от ведущих зарубежных университетов — например, на платформе Future Learn.

На сегодняшний момент лучшие отзывы у Mail.Ru Group с их курсом «Что такое DevOps и как ими стать». В анонсе говорится, что для поступления достаточно школьных знаний, но это спорный момент.

Посмотрим на план обучения:

  • установка и настройка виртуальных машин с GNU/Linux;

  • настройка сервера для локальной сети;

  • облачные технологии — сюда же включается изучение сервисной архитектуры;

  • проектирование кластера;

  • настройка и администрирование облачного сервера Azure;

  • создание, настройка и мониторинг инфраструктуры для бизнеса;

  • работа с базами данных;

  • инструменты и возможности Git;

  • работа с компьютерными сетями;

  • основы и углубленное изучение безопасности сетей, инфраструктуры, ПО и сервера.

Что должен знать DevOps-инженер?

Приходя в компанию, DevOps должен знать и уметь следующее:

  • Разбираться в GNU/Linux, NIX, строить на их основе сети. Ориентироваться в стеке сетевых протоколов OSI/ISO, настраивать и защищать их.

  • Устанавливать сервисы Linux для бизнеса, находить проблемы до того, как они навредили, и решать их. Разбираться в виртуализации, устанавливать KVM и настраивать OpenvSwitch, Active Directory, Squid, DHCP, DNS, серверы разного назначения.

  • Работать в облаке, применять возможности Kubernetes и Docker для контейнеризации приложений. Контролировать конфигурации Ansible. Знать язык описания инфраструктуры Terraform. Ориентироваться во всех основных облачных платформах и технологиях, уметь находить в них баги и устранять их.

  • Развертывать виртуальные серверы в облаке, делать деплой приложений с микросервисной архитектурой (с помощью Docker-контейнеров в Kubernetes), запускать инфраструктуру (на языке конфигурации IaC и базе Terraform).

  • Разбираться в процессах непрерывной интеграции и доставки кода. Это подразумевает навыки в разработке, тестировании, отладке и запуске ПО.

  • Администрировать Windows Server. Автоматизировать процессы с помощью PowerShell, управлять инфраструктурой с WMI.

  • Владеть инструментами виртуализации от Microsoft и VMWare.

  • Работать с облачными платформами, в частности, с Azure.

  • Настраивать систему мониторинга и аналитики. Пользоваться популярными инструментами Prometheus и Grafana.

  • Знать основные языки программирования.

Кому будет проще освоить навыки DevOps:

  1. Senior System Administrator;

  2. Junior Developer;

  3. Junior DBA.

CCNA

DevOps должен иметь сертификацию CCNA от Cisco. Новичкам хватит уровня Entry, тем, кто претендует на высокие позиции — Architect (CCAr). В ходе изучения кандидат получает общие знания об устройстве сетей, учится настраивать маршрутизацию и мониторинг, следить за безопасностью, разбираться в архитектуре.

Senior System Administrator

Пригодятся знания о среде приложений: как их разворачивать, тестировать, искать ошибки. Также не лишними будут навыки коммуникации и управления, настройки и отладки ОС.

Junior Developer

Разработчики любого уровня знают код и GitHub. Архитектура многих платформ и приложений тесно связана с Git. Зная несколько языков программирования или хотя бы один Python, будет легче разобраться с виртуализацией, отладкой и развертыванием.

Специалист должен более-менее свободно ориентироваться в:

  • Linux;

  • SVN;

  • PHP;

  • MySQL;

  • jQuery;

  • Zend.

Junior DBA

Работа с базами данных не всегда входит в основной курс «Что такое DevOps и как ими стать». Тем не менее, знание принципов DBA поможет увидеть взаимосвязи в ПО, а также пригодится при установке и настройке серверов.

Junior DBA работает на пересечении базы данных, сервера, операционной группы и разработчиков. Администратор базы данных должен понимать концепции всех этих аспектов ИТ, а также уметь опираться на знания своей производственной среды для устранения проблем производительности, аппаратного и программного обеспечения.

Кому нужны DevOps-инженеры?

Профессия DevOps-инженер обогнала по популярности все остальные IT-специальности: Full Stack, DBA, Developer, System Administrator. Зарплаты DevOpsов в 2019 году были сопоставимы с зарплатами специалистов по Big Data и Machine Learning.

Широкий спектр ответственности, множество навыков и регулярное повышение квалификации сделали DevOps-инженеров незаменимыми сотрудниками для компаний, которые стремятся к быстрому развитию и повышению эффективности взаимодействия между IT-отделами.

Самые востребованные навыки, которые пригодятся любому бизнесу:

  • автоматизация управления проектами, совместная работа и отслеживание на каждом этапе;

  • контроль версий исходного кода для возможности вернуться к нужной части в любой момент;

  • быстрая сборка и развертывание, вручную или с помощью инструментов автоматизации;

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

  • полный цикл работы с серверами — создание, настройка и обслуживание;

  • работа на многих языках программирования;

  • постоянная обратная связь;

  • непрерывная интеграция и тестирование продуктов;

  • мониторинг, аналитика и визуализация всех показателей инфраструктуры, приложений и аппаратных устройств. Это позволяет бизнесу не тратить бюджет на те функции, которые не используются.

Специалист с такими навыками — ценный кадр на рынке труда.

Заработок

Сайты с вакансиями заполнены предложениями для DevOpsов, но размер заработной платы либо не указан, либо не соответствует реальному положению дел. Причина — рынок этой профессии в России находится на стадии развития, а работодатели часто сами не представляют, сколько нужно платить специалисту.

По данным самих инженеров, средняя вилка заработной платы составляет:

  • Junior — 100 000 руб.;

  • Middle — 160 000 руб.;

  • Senior — 220 000 руб.

Карьера DevOps-инженера

От Junior до Senior можно вырасти за 6 лет. Не стоит рассчитывать на стремительную карьеру, даже если у вас уже есть IT-опыт. Ниша развивается стремительно, приходится изучать новые инструменты и сервисы.

Как мы уже упоминали выше, поиск работы на стандартных сайтах с вакансиями — это не слишком эффективно и чаще всего безуспешно. Современный IT-рынок в России очень «семейственный», то есть обычно специалистов нанимают по знакомству и по рекомендации. Мы рекомендуем уже на этапе учебы создавать Networking-окружение и искать полезные знакомства через тех же преподавателей и менторов. Вакансии публикуют на своих сайтах крупные корпорации, а еще можно найти очень хорошие предложения на LinkedIn.

Поделиться
Запинить
Отправить

Возможно вам так же будет интересно: