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

Продукт

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

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

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

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.

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

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

Что обещать профессионалам, если нет денег

Все говорят, что вашему стартапу нужен логотип, но никто говорит, как его сделать? Эта статья для вас!

Метрики, которые показывают, что ваш landing page помогает вам зарабатывать.

Рассказываем, как оценить проект на каждом этапе развития