Что такое DevOps и кто такие DevOps администраторы?

работа DevOps инженеров

Зачем нужен DevOps

Сегодня многие компании, ищущие решения своих потребностей в эксплуатации программных решений, размещают вакансии для DevOps (от англ. Development — развитие, Operations — эксплуатация), причем далеко не все специалисты по кадрам понимают, что это такое. Казалось бы все просто: есть программисты на Perl и PHP, значит, по аналогии, есть инженеры, которые знают какую-то там технологию DevOps. Однако, DevOps — это не технология и не язык программирования.

Что такое DevOps

Методология DevOps возникла в 2009 году, но ее составные части известны с 90-х годов и успешно применялись на разных стадиях автоматизации разработки и эксплуатации ИТ-решений. Поскольку это понятие относительно новое, то у нас оно хорошо известно лишь в инженерной среде, а все остальные только примерно понимают, что это такое. Отсюда и возникло неверное представление, что Devоps — это некая суперсовременная технология, за которую надо просить и давать большие деньги. На самом деле DevOps — это методология, которая объединяет в себе управленческие и технические возможности.

И чего состоит DevOps

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

Про Automation (автоматизация — англ.) говорить нет смысла. Она активно применяется в решении практически любых ИТ-задач и для этого необязательно применять упомянутую методологию.

потребность в Measurement
Потребность в Measurement (измерения — англ.) у бизнеса возникает тогда, когда что-то в функционировании IT-системы идет не так. Тогда они обращаются к системному инженеру и просят найти причину. При использовании DevOps все происходит по-другому. Измерительные инструменты вроде стека StatsD/CollectD/InfluxDB/Graphana устанавливаются сразу, а измеряемые метрики внедряют прямо в код новой программы.

И, наконец, Sharing (обмен — англ.). Он предполагает, что все решения будут приниматься открыто, специфические знания для данного проекта будут накапливаться в каком-то едином, доступном для всех технических сотрудников месте. Это задача тоже относится к разряду управленческих, поскольку надо не только выложить и систематизировать используемые решения, но и, самое главное, убедить всех его участников поделиться своими персональными наработками.

Опасность неправильного использования методологии DevOps

А теперь пару слов об опасности неправильного использования методологии DevOps. Во-первых, если ее использовать по частям, беря скажем лишь инженерную составляющую (Automation & Measurement), то ожидать большого эффекта для бизнеса не стоит. Технические параметры создаваемого продукта, возможно, будут улучшены, но это может быть сделано силами команды Ops, а Developers будут по-прежнему существовать и думать отдельно.
взаимодействие DevOps
Во-вторых, если в отделе DevOps какая-то группа получит преимущества, то все вернется на круги своя: либо программисты будут поставлять в производственную эксплуатацию сырые фичи, либо системные инженеры будут тормозить внедрение. И то, и другое не пойдет на пользу бизнесу.

В то же самое время, при правильном внедрении методологии DevOps компания сможет быстрее и безопаснее внедрять улучшения программ, которые увеличат ее конкурентные преимущества и в, конечном счете, принесут прибыль.

Наша DevOps-команда Git in Sky имеет успешный опыт предоставления услуг по внедрению методологии DevOps для автоматизации процесса создания программных продуктов.
Оставить заявку на услуги DevOps
Наш специалист свяжется с вами для детального обсуждения задачи

Кто такой DevOps-инженер?

DevOps администратор – профессия неоднозначная. Нельзя в двух словах точно описать кто такой DevOps-инженер. Но известно, что таких людей мало и их готовы покупать за приличные деньги. При этом подобных вакансий на современном рынке достаточно.

Итак, DevOps администратор это специалист, который может синхронизировать все этапы создания программного продукта: от написания кода до тестирования и выпуска приложения. Он разбирается в специфике задач программистов, тестировщиков и системных администраторов, помогает им работать «на одно дело» и автоматизировать процессы – чтобы быстрее выпускать новые продукты и обновлять уже готовые. Такой специалист быстро ориентируется в нестандартных задачах. Проекту нужен не сам по себе DevOps-инженер – ему нужно решение проблемы, а роль DevOps-инженера может быть распределена по нескольким членам команды с разной специализацией.
DevOps-инженер

Какую карьеру может построить DevOps-инженер?

DevOps-специалист – следующий шаг в карьере программиста или системного администратора. Зарабатывают они хорошо даже на старте. Конечно, уровень дохода зависит от масштаба компании. Но DevOps-инженер с опытом от 3-5 лет ценится уже гораздо выше, чем новичок. Появляется возможность устроиться в более крупную и солидную фирму. Опытный специалист имеет больший шанс справиться с нестандартной ситуацией, так как не раз решал подобные задачи. Новичок может растеряться. В крупных компаниях есть возможность дорасти до руководителя целого DevOps-отдела, где уже понадобятся управленческие навыки.

Как стать DevOps-инженером?

DevOps — это относительно новое направление в IT, поэтому устоявшегося перечня требований нет. Чтобы стать востребованным специалистом, необходим определенный технический бэкграунд: знания в разработке и в администрировании. Соответственно, легче всего стать DevOps-специалистом будет сисадмину или разработчику. Постоянное наращивание дополнительных компетенций, таких как построение инфраструктуры в облаке, работа с базами данных, осваивание системы оркестрации контейнеров и новые инструменты автоматизации, позволит быстрее стать DevOps-инженером. Также существуют специальные курсы «Профессия DevOps-инженер», где дают знания, необходимые девопсу.

Какие проблемы он решает и чем занимается?

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

В чём разница между DevOps-инженером и системным администратором?

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

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

Успешный DevOps-инженер должен иметь широкий кругозор в IT-области:

  • Знать нескольких базовых языков программирования (не обязательно глубоко);
  • Знать принципы работы операционных систем;
  • Разбираться в облачных и гибридных решениях;
  • Понимать, как работают микросервисы и системы оркестрации;
  • Владеть навыками работы с системами конфигураций.

схема функционирования DevOps

С какими инструментами работает этот специалист?

  • Система контейнеризации Docker.
  • Оркестратор контейнеров Kubernetes как сервис, предоставляемый в облаке — для построения и автоматизации универсальных пайплайнов доставки и для управления приложениями.
  • Платформа для организации полноценного DevOps-воркфлоу — GitLab.
  • Jenkins — для реализации CI/CD-пайплайнов.
  • Ansible — для управления инфраструктурой.
  • Платформенные (PaaS) облачные сервисы: например, управляемые базы данных, Hadoop и Spark в облаке — для автоматизации задач управления инфраструктурой и упрощения реализации распространённых задач.
  • Сервисы мониторинга и оповещений (Prometheus + Grafana + AlertManager, Zabbix, Nagios)

    Что входит в обязанности DevOps-инженера?

    Как говорилось ранее, спектр обязанностей и задач у DevOps-инженера обширный:

    • Выбор архитектуры, среды оркестрации;
    • Подготовка среды разработки продукта;
    • Настройка серверов, заливка кода, проверка среды;
    • Автоматизация тестирования;
    • Настройка взаимосвязей и окружения между всеми инструментами разработки;
    • Контроль для обеспечения непрерывно работающей автоматизированной линии сборки (создания) программного продукта — конвейера.

    Что нужно узнать, чтобы стать DevOps-инженером

    Чтобы быть востребованным специалистом, необходимо постоянно изучать что-то новое. Например:

    • системы сборки, позволяющие создать и поддерживать процесс CI/CD (GitLab, Jenkins);
    • сервис проверки исходного кода (SonarQube);
    • хранение и передача артефакта (Nexus, Docker);
    • сервисы мониторинга и оповещений (Prometheus + Grafana + AlertManager, Zabbix, Nagios);
    • сервисы логирования (Grafana Loki, Kibana/Graylog + ElasticSearch).

    Сколько платят

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

    Также можно работать на фрилансе, зарплата зависит от того, сколько стоит аудит девопса + жадность специалиста.

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

    зарплаты специалистов DevOps

    Открыта вакансия

    Системный инженер / DevOps (удаленная работа)

    Требуемый опыт работы: 1–3 года
    Полная занятость, удаленная работа

    от 120 000 до 180 000 руб.
    на руки

    Не пропустите последние новости. Подписывайтесь!