MY.UAСтатьи
DevOps engineer: кто такие? Особенности работы специалистов
DevOps engineer: кто такие? Особенности работы специалистов

DevOps engineer: кто такие? Особенности работы специалистов

Спрос на DevOps растет, как и вознаграждение, которые готовы платить компании за эту работу. Так, по трендам на DOU, число вакансий для DevOps специалистов в Украине за последние два года увеличилось почти вдвое – c 253 до 474 вакансий. При этом среднее количество откликов на одну вакансию снизилось – с 4,1 до 1,6. Рекрутеры жалуются, что сложно найти хорошего сотрудника, а средняя зарплата по рынку в Украине достигла $3,5 тыс. в месяц, а в США – $126,235 в год.

Помогаем
Поможем собрать 300 тыс. грн на снаряжение для 113-й бригады, которая воюет в Харьковской области

Редакция MC.today выяснила, что такое DevOps и DevOps engineer, какие плюсы и минусы у этой методологии, и что нужно знать, чтобы пойти этим карьерным путем.

Что такое DevOps

Сам DevOps (акроним от англ. development & operations. – Прим. ред.) – это не профессия. Это культура и способ работы, при котором разработчики и операционные инженеры работают как одна команда. Так они могут быстрее выпускать обновления и устранять неполадки в системе, если они возникли.

И если обычно приходится выбирать между скоростью и качеством, то с методологией DevOps компаниям удается увеличить и одно, и другое.

В докладе State of DevOps организация DORA в зависимости от производительности команд разработки и эксплуатации программного обеспечения выделяет четыре вида команд:

  • элита (elite);
  • команды с высокой производительностью;
  • средней производительностью;
  • низкой производительностью. 

Так, топовые компании, такие как Amazon, Google и Netflix, выпускают обновления несколько раз в день. У них уходит меньше часа, чтобы внести изменений и на восстановить систему, если случился сбой. А компании с низкой производительностью выпускают обновления меньше, чем раз в полгода. И у них возникает больше сбоев из-за обновлений (примерно 15-30%). А чтобы внести изменения, им нужно более шести месяцев. 

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

Соотношение компаний с высокой и низкой производительностью. Источник: State of DevOps 2021 

Подписывайтесь на нашу Facebook-страничку. Победы, советы, полезные новости и тексты.

Компания Netflix даже добавила инструмент Chaos Monkey, который случайным образом «убивает» процессы или серверы. Это нужно чтобы убедиться, что сервис переживет критическую ситуацию без неудобств для клиента.

Достоинства и недостатки работы

Можно выделить такие достоинства работы по этой методологии:

  • Обновления выпускаются быстрее и чаще. 
  • Релизы (англ. Release – последний выпуск программного обеспечения, в котором есть все изменения и обновления – Прим.ред.) становятся надежнее и после них всплывает меньше ошибок.
  • Затраты на разработку снижаются до 20%.
  • Команда может быстрее исправить ошибки, если те уже возникли.

Недостатки:

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

История возникновения

Раньше отделы разработки (development) и эксплуатации (operations) работали изолированно друг от друга. Сначала программисты писали код, а потом системные администраторы начинали его развертывать и интегрировать (все действия, которые готовят программную систему к использованию – Прим. ред.). Так работала каскадная модель процесса разработки ПО – Waterfall. Первым эту модель описал Винстон Уолкер Ройс, директор Lockheed Software Technology Center, в 1970 году.

Процесс шел по такой схеме: 

  1. ставили техническое задание;
  2. создавали прототип;
  3. писали код;
  4. тестировали, развертывали, устраняли ошибки, которые возникали при тестировании;
  5. оказывали поддержку после выпуска обновления.

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

С одной стороны разработчики договариваются с заказчиками «на берегу» о том, каким должен быть продукт в итоге. С другой – если нужно что-то изменить, то для этого нужно начинать весь процесс сначала. Из-за этого растет цена и снижается скорость разработки.

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

Частично проблему решили, но между разработчиками и системными администраторами все еще было недопонимание. Так, у разработчиков основным показателем их эффективности был готовый код, а у сисадминов – стабильность системы, которую этот код мог нарушить. Из-за того, что они не могли согласовать работу, приходилось дольше решать задачу, работать сверхурочно, срывались релизы и клиенты были недовольны. 

DevOps стал следующим этапом эволюции инструментов и методов совместной работы. Он позволил быстрее выпускать качественное программное обеспечение. Само движение начало формироваться в 2007-2008 годах. А уже в 2009 году после конференции DevOpsDays, которую организовал бельгийский разработчик Патрик Дебуа, о нем узнал весь мир.

«Библией» DevOps считается книга Патрика Дюбуа, Джина Ким, Джеза Хамбл и Джона Уиллис «Руководство по DevOps. Как добиться гибкости, надежности и безопасности мирового уровня в технологических компаниях», впервые опубликованная на английском языке в 2016 году.

Чтобы получить надежную, безопасную, но при этом гибкую систему выпуска обновлений, у разработчиков, тестировщиков и администраторов появились общие культура и цели. Каждый из них должен понимать, что делает другой и зачем. Так появились T-shaped people (люди в форме Т – Прим. ред.), у которых есть своя глубокая специализация, но они понимают, как устроены другие процессы.

Подписывайтесь на наш Telegram-канал: важное и интересное для активных людей

Еще одна важна часть DevOps –  непрерывная интеграция и доставка (Continuous integration и Continuous delivery или CI/CD). Эти методы автоматизируют процесс выпуска программного обеспечения, и как результат – помогают свести к минимуму ошибки и повысить темпы сборки и качество разрабатываемого продукта. 

Продолжительность процессов DevOps. Источник: Analytics India Magazine

Виды Ops

Внутри DevOps уже начали появляться специализации. Они зависят от должности и того, чем занимается команда разработчиков. Можно выделить такие виды Ops:

  • PlatOps/InfraOps/SysOps (Platform Operations, Infrastructure Operations, System Operations) – в разных компаниях называется по-разному, но речь всегда идет про администрирование инфраструктуры. Специалисты этого направления отвечают в первую очередь за развертывание, масштабирование, миграцию и управление системами. В отличие от DevOps, SysOps следует подходу ITIL (Information Technology Infrastructure Library или Библиотека инфраструктуры информационных технологий — это серия книг, в которых собраны лучшие практики по управлению, отладке и постоянному улучшению бизнес-процессов, связанных с ИТ – Прим. ред.).
  • DataOps – разработчики и администраторы работают вместе с аналитиками и специалистами по обработке данных.
  • SecOps – позволяет найти уязвимые места и заранее их защитить с помощью автоматизации.
  • DevSecOps – вопрос безопасности поднимается на каждом цикле разработки.
  • ITOps – доставка и поддержка приложений, услуг, инструментов и технологий, необходимых для работы компании, которая обеспечивает ІТ-инфраструктуру. Компьютерное оборудование, программное обеспечение, сетевые службы, сервисы, электронная почта, мониторинговые системы, политики информационной безопасности, системы контроля, системы резервного копирования и хранения данных, оргтехника, телефония и т.д. — всё это составляющие ІТ-инфраструктуры предприятия. 
  • NoOps или No operations – автоматизируется все, от поддержки разработки программного обеспечения до его запуска. По этой концепции, при таком уровне автоматизации специальная внутренняя группа управления программным обеспечением (Ops team) не нужна.
  • LiveOps – когда меняют или улучшают бащовые функции в продукте без выпуска нового релиза.
  • CloudOps – формализирует процедуры, которые позволяют правильно работать облачным платформам, приложениям и данным в них.
  • BizOps – применяет технологии для достижения стратегических целей компании. В проведенном до пандемии исследовании 2018 Pulse of the Profession от Института проектного менеджмента (Project Management Institute) аналитики посчитали, что каждые 20 секунд компании по всему миру теряют $1 миллион из-за неэффективной реализации бизнес-стратегии, в том числе из-за внедрения ненужных технологий. BizOps должен решать эту проблему.  
  • NetOps – модернизируют IТ-инфраструктуру и используют программно-определяемые сети, сети на основе намерений и виртуализации сетевых функций. Подход направлен на то, чтобы сделать сетевые операции интуитивно понятными. Они должны зависеть от контекста и ориентироваться на аналитику за счет внедрения методов AI (англ. artificial intelligence – искусственный интеллект. – Прим. ред.) и ML (англ. machine learning – машинное обучение. – Прим. ред.).

Сферы работы DevOps engineer

Вот что делает DevOps Engineer, согласно IT-компании Contino:

  • Разрабатывает инструменты и процессы для управления инфраструктурой.
  • Работает на разных платформах с разными языками программирования.
  • Автоматизирует рабочие нагрузок между несколькими облачными провайдерами.
  • Автоматизирует процессов тестирования и развертывания.
  • Предоставляет внутреннюю и внешнюю поддержку на нескольких платформах.
  • Создает инструменты и процессы и повышает удовлетворенность пользователей.
  • Управляет контролем версий через Git и подобные системы.
  • Прописывает конвейеры непрерывной интеграции (англ. continuous integration, CI – Прим. ред.) непрерывного развертывания (англ. continuous delivery или continuous deployment, CD – Прим. ред.) программного обеспечения в процессе разработки.
  • Создает и настраивает оркестраторов контейнеров (оркестраторы – автоматизируют и управляют жизненным циклом контейнеров – Прим. ред.).
  • Работает с разработчиками, чтобы те написали хорошо спроектированные архитектуры микросервисов (это облачный подход, при котором единое приложение строится из множества слабосвязанных компонентов меньшего размера, так называемых сервисов, поддерживающих независимое развертывание – Прим. ред.).

Collaboration of both software developers and IT specialists. Acronym DevOps of the yellow square pixels on a black matrix background. 3D illustration picture

Процессы и объекты DevOps

Методология DevOps применяется на всех стадиях жизненного цикла программного обеспечения с момента, когда создают код до того, как продуктом пользуются пользователи:

  • Когда разработчики пишут код методология DevOps применяется для анализа и контроля версий, чтобы слияние кода произошло без ошибок.
  • На этапе сборки (англ. build. – Прим. ред.) нужна непрерывная интеграция различных сборок.
  • На этапе теста продукта непрерывное тестирование дает обратную связь по бизнес-рискам.
  • При работе с пакетами (англ. operate. – Прим. ред.) – нужен репозиторий артефактов (артефакты в артефактном хранилище могут контролироваться версиями, за счет чего их гораздо легче искать и управлять ими – При. ред.), предварительная установка приложения.
  • Во время выпуска (англ. release. – Прим. ред.) DevOps автоматизиет выпуск и официально его утверждает.
  • Когда развертывается конфигурация (англ. deploy. – Прим. ред.) нужно управлять инфраструктурой как кодом.
  • На последнем этапе мониторинга нужно оценить производительность приложения и опыт работы с конечным пользователем.

Цели, задачи, принципы

DevOps можно использовать для таких целей:

  • быстрее выйти на рынок;
  • снизить количество ошибок и быстрее с ними справляться после релиза;
  • быстрее восстанавливаться после сбоев.

Чтобы достигнуть этих целей, DevOps должны выполнять такие задачи:

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

Основные принципы DevOps это принцип потока – ускоренной доставки продукта от разработчиков в отдел эксплуатации, а также принципы обратной связи и постоянного обучения. 

Чтобы оценить, готова ли компания внедрить DevOps, или оценить уже внедренные процессов используется фреймворк CALMS. Эту аббревиатуру придумал Джез Хамбл, один из авторов книги «Руководство по DevOps». Она расшифровывается как «культура, автоматизация, бережливость, измерения и распространение знаний».

Знания необходимые для работы DevOps engineer

По мнению Contino, DevOps инженеру нужно освоить основные шесть навыков. Это:

    1. Основы Linux – операционной системы, основанной на Unix, семействе переносимых, многозадачных и многопользовательских операционных систем. Большинство ролей DevOps будут использовать Linux в той или иной форме. Благодаря открытому исходному коду выучить ее проще и быстрее чем Windows. В интернете есть много ресурсов, которые помогут изучить Linux. Еще можно сдать экзамены в Linux Professional Institute Certification, что поможет систематизировать свои знания об этой операционной системе.
    2. Необходимо понимать хотя бы базовые концепции программирования: циклы, переменные, массивы, списки и т. д. Это пригодится не только, когда нужно будет прочитать или изменить код, но и если нужно написать сценарии и автоматизировать рабочие нагрузки. Начать изучение лучше всего с языка програмирования Python, так как он достаточно прост. Потом стоит освоить и зяык программирования Java.
    3. Unix оболочка Bash – самый важный язык сценариев для автоматизации задач в среде Unix, как и Powershell в среде Windows. Даже если вы предпочитаете писать сценарии на Python или любом другом языке, Bash – самый распространенный.
    4. GIT – это система управления версиями, которая отслеживает изменения в коде. Ее используют все команды разработки программного обеспечения. 6.Основы работы в сети. Чтобы начать свою карьеру в DevOps, не нужно быть сетевым инженером, но нужно знать: 1. Что такое ip. 2. Что такое подсеть и маска подсети. 3. Что такое маршрут. 4. Что такое маршрутизатор и коммутатор. 5. Что такое VPC.
    5. Основы работы с облачными платформами, например, такими как Amazon Web Services, Google Cloud Platform или Azure. Для этого нужно научиться работать с котейнерами, непрерывной ингтеграцией, непрерывной доставкой и непрерывным развертыванием. Контейнеры — это способ упаковки и изоляции запущенных приложений. Это более безопасно и делает вашу рабочую среду более предсказуемой, потому что контейнер всегда будет работать одинаково, независимо от того, на каком сервере или компьютере он находится. Контейнеры часто используются в конвейерах CI/CD и в производственных рабочих нагрузках и микросервисных архитектурах, поэтому эти знания нужны DevOps инженеру. Кроме того, сейчас часто используются оркестраторы контейнеров, например Kubernetes. Конвейер CI/CD — это производственная линия в компании, которая разрабатывает ПО. Конвейер CI создает и тестирует код, чтобы убедиться, что он готов к интеграции в основную ветку, а конвейер CD – его расширение. Он помогает убедиться, что его можно развернуть. Чтобы понимать CI/CD, нужно разбираться в Git, моделях оветвления Git, разработки на основе магистрали, автоматизации и различных методов тестирования. Jenkins — наиболее широко используемый и мощный инструмент CI, который было бы полезно изучить. Кроме того есть Gitlab CI, который может стать даже более доступным инструментом для изучения конвейеров.

Как стать DevOps engineer

В чем сложность стать DevOps инженером? Можно часто услышать утверждение, что младших DevOps инженеров не существует. Не потому что нет вакансий, а потому что даже на старте карьеры DevOps инженерам нужно хорошо владеть описаными выше навыками. 

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

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

Ниже оставляем список книг и ресурсов, которые могут помочь освоить эти навыки, по рекоммендации DevopsCube.

Лучше понять методологию DevOps поможет:

Освоить основы Linux:

Научиться кодить:

Как работают контейнеры:

Вывод

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

Поделиться
Поделиться сюжетом
Источник материала
20-летняя модель завоевала титул «Мисс Украина 2024»: она представит страну на конкурсе «Мисс Мира»
Gloss
2024-12-06T16:30:50Z
В сети рассекретили имя мужчины, который должен был стать героем шоу «Холостяк-13» вместо Терена
Gloss
2024-11-29T17:16:39Z
Украинский Щедрик стал частью новогодней рекламы Chanel
Gloss
2024-11-22T16:13:24Z
Украинка стала режиссером нового клипа Леди Гаги
Gloss
2024-10-30T15:28:08Z
Рэпер Эминем впервые станет дедушкой: видео его реакции на новость
Gloss
2024-10-04T16:48:49Z
Linkin Park возвращается с новой вокалисткой спустя 7 лет после смерти фронтмена
Gloss
2024-09-06T15:22:47Z
Мадонна отметила свой 66-й день рождения в шляпе от украинского бренда
Gloss
2024-08-28T12:00:55Z
Анонимная певица Klavdia Petrivna впервые показала свое лицо в новом клипе с группой Tvorchi
Gloss
2024-08-23T15:52:15Z
Первая среди украинских звезд: Светлана Лобода спела для Грэмми
Gloss
2024-08-20T13:43:04Z
МастерШеф 14 сезон. Випуск 18 від 28.12.2024
InfoHome
2025-01-08T16:45:55Z
Balenciaga представила очень минималистичную обувь The Zero
Gloss
2024-12-04T18:36:54Z
Аукционный дом MacDougall;s проведет перед аукционную выставку 22-23 ноября в Лондоне
Ukraine Art News
2024-11-12T20:18:58Z
Самые смешные фотографии дикой природы: финалисты конкурса Nikon Comedy Wildlife Awards 2024
Gloss
2024-09-30T13:13:29Z
Надя Дорофеева презентовала клип на новую песню «Нитроглицерин»
Gloss
2024-08-07T15:40:50Z
Balenciaga выпустили самую дорогую в мире авоську за 7 тысяч долларов
Gloss
2024-07-17T16:30:55Z
В Steam стартовал фестиваль файтингов
Overclockers
2024-07-16T06:52:19Z
ЗНАКОМСТВО С ЛОНДОНСКОЙ ХУДОЖНИЦЕЙ ЛАРОЙ ДЖУЛИАН
Ukraine Art News
2024-06-08T15:42:56Z
Right 2 Fitness Unveils New Metabolic Ignition System for Women Over 30
Elle
2024-05-27T13:28:03Z
Вышел трейлер фильма «Мир Юрского периода: Возрождение»: звездный состав и динозавры
Gloss
2025-02-05T19:18:55Z
Второй украинский трейлер боевика «Опасный рейс» с Марком Уолбергом
KinoFilms
2025-01-31T13:48:33Z
Украинский трейлер криминального экшна «Хочу сейчас»
KinoFilms
2025-01-30T07:36:46Z
Украинский трейлер фильма «Канадец» с Ричардом Гиром и Умой Турман
KinoFilms
2025-01-30T07:12:35Z
«Проклятые»
KinoFilms
2025-01-21T12:42:38Z
Второй украинский трейлер фильма «Обезьяна» по книге Стивена Кинга
KinoFilms
2025-01-20T15:54:36Z
PUMA выпустила коллаборацию с «‎Игрой в кальмара»: костюмы, кроссовки и аксессуары
Gloss
2025-01-07T14:06:52Z
Netflix показал тизер финального сезона сериала "Игра в кальмара": известна дата премьеры
Gloss
2025-01-03T13:43:02Z
Состоялась премьера второго сезона сериала «Игра в кальмара»: где смотреть
Gloss
2024-12-26T13:51:55Z
16 удивительных мест, которые стоит увидеть своими глазами
Men's Life
2025-02-04T10:24:53Z
Гольф на снегу
Men's Life
2024-12-30T20:57:37Z
Стала известна судьба собаки, которую заметили на вершине 140-метровой пирамиды Египта
Gloss
2024-10-24T17:16:12Z
В Берлине открыли самые высокие качели в Европе – видео
Gloss
2024-10-14T15:15:49Z
Доступ к реке: 6 идей, как киевляне могут получить комфортные набережные
Хмарочос
2024-09-30T13:23:52Z
ТОП-8 экстремальных видов спорта
Men's Life
2024-08-19T07:57:54Z
В Китае открыли 24-километровый морской мост, который побил сразу 10 мировых рекордов
Gloss
2024-07-03T12:40:09Z
Самый большой в мире круизный лайнер Icon of the Seas отправился в свой первый рейс
Gloss
2024-01-29T17:51:45Z
Самые комфортные места для жизни уже в недалеком будущем
Men's Life
2024-01-24T08:33:40Z
Тренинг: знай меру!
Men's Life
2025-02-06T10:21:37Z
The science behind hot shapers: smart thermal fabrics for smart fitness
Elle
2025-02-05T09:45:59Z
Как же это вкусно чудесная выпечка с картошкой! Вместо пирогов и пирожков такие в магазине не купить
InfoHome
2025-02-05T07:03:44Z
Чрезмерные тренировки могут навредить здоровью
Men's Life
2025-02-03T07:30:44Z
Гранат поможет сбросить лишние килограммы
Men's Life
2025-01-31T09:39:41Z
Ученые доказали, что женская интуиция – миф
Men's Life
2025-01-31T09:39:40Z
Всего три ингредиента, а готовится пять минут! Салат Шустрик шок как просто и вкусно!
InfoHome
2025-01-31T07:27:38Z
В России выпустили настольную игру по мотивам захвата территорий Украины
Gloss
2025-02-06T15:51:53Z
Где выгодно купить запчасти для телефонов оптом: советы для мастеров и сервисных центров
Gloss
2025-01-27T16:49:10Z
Канадец собрал дома ядерный реактор, потратив всего 3 000 долларов
Gloss
2025-01-23T17:51:55Z
На выставке CES 2025 представили первый в мире летающий мотоцикл
Gloss
2025-01-21T18:06:50Z
Realbotix представила человекоподобного робота-женщину для «общения и близости»
Gloss
2025-01-14T13:49:21Z
Роботы Boston Dynamics не только стабильно стоят на ногах, но и научились делать сальто
Gloss
2025-01-02T13:24:49Z
Всемирно известный блогер MrBeast построил город за $14 млн для своего шоу
Gloss
2024-12-17T14:11:03Z
Супер батончики Брауни без выпечки, глютена, молочных продуктов
InfoHome
2025-01-31T07:27:38Z
Мясной рулет два в одном. Лёгкий в приготовлении. Закуска для мужчин, цыганка готовит
InfoHome
2025-01-30T07:30:56Z
Куриные бедра на сковороде. Вкуснее, чем в духовке. Вкусный и быстрый ужин для семьи!
InfoHome
2025-01-30T07:27:48Z
Лучший способ как приготовить курицу с картошкой! Самый вкусный рецепт из курицы в духовке
InfoHome
2025-01-27T12:55:08Z
Почему из капусты и фарша я не готовил такое раньше? Гениальный рецепт на обед или ужин на всю семью
InfoHome
2025-01-27T12:52:21Z
Без весов - только стакан! Манник-Нежность - невероятно простой вкусный быстрый пирог к чаю!
InfoHome
2025-01-27T12:52:20Z
Яичница: рецепты счастливого брака
Men's Life
2025-01-27T09:12:57Z
Пышная запеканка из садика без муки! Без соды! Без крахмала! Творожная запеканка воздушная
InfoHome
2025-01-25T07:40:02Z
Хрустящая пицца фокачча без замеса теста
InfoHome
2025-01-22T07:27:38Z