Професія DevOps Engineer з'явилася у 2009 році. Потреба в таких фахівцях виникла з масштабуванням бізнесу, пов'язаного з розробкою додатків та інших програмних продуктів.
Інвестування компаній у девопс-інженерів дозволяє оптимізувати роботу команд і поліпшити клієнтський досвід у взаємодії з програмою, сервісом або додатком.
DevOps-інженери допомагають автоматизувати внутрішні процеси, швидше випускати оновлення й підвищувати ефективність роботи IT-фахівців і відділів, зайнятих на всіх етапах життєвого циклу продукту.
DevOps (Development
Operations) інженери — це фахівці, які
підтримують інфраструктуру проєкту за
методологією DevOps. Девопси взаємодіють
пліч-о-пліч із розробниками, тестувальниками,
системними адміністраторами та іншими
фахівцями IT-відділів, щоб оптимізувати
процес розробки, оновлення та підтримки
додатку.
Якщо узагальнити,
DevOps-інженери покращують взаємодію
команд розробників, тестувальників та
інших відділів для підвищення швидкості
розробки й виходу оновлень програм.
Девопси залучаються на етапі проєктування,
розробки, тестування та розгортання
програмного продукту.
DevOps-інженери володіють однією або кількома мовами програмування, деякими знаннями тестувальника, системного адміністратора та менеджера проєктів.
Залежно від структури компанії та особливостей програмного продукту, завданнями DevOps-інженера можуть бути:
- Проєктування та оптимізація ІТ-інфраструктури продукту. DevOps проєктує з нуля, а також пропонує рішення для оптимізації поточної інфраструктури. Це необхідно, щоб прискорити вихід продукту або його оновлення на ринок.
- Автоматизація релізних процесів. Одне з найважливіших щоденних завдань девопса — скорочення часу релізу шляхом зниження навантаження на команди розробників і тестувальників. Для цього фахівець налаштовує обладнання, автоматизує окремі процеси, наприклад, типові завдання, що повторюються, а також розробляє корисні плагіни.
-
Тестування систем виконується щодня. Девопси — це не тільки проєктувальники та оптимізатори, а й агенти швидкого реагування. Вони відстежують, як відпрацьовують усі процеси, а також підтримують інфраструктуру проєкту, реагуючи на апаратні та програмні зміни.
- Надання зворотного зв'язку розробникам і тестувальникам для швидкого виявлення, виправлення проблем і помилок. Це важливо для позитивного користувацького досвіду в майбутньому.
-
Безпека. Девопс застосовує практики CI/CD — безперервної інтеграції, доставки й розгортання, автоматизації та моніторингу процесів протягом усього життєвого циклу програм.
Існує хибна думка, що девопс і сисадмін — це одне і те ж, але це не так. Найчастіше в DevOps-інженерів перекваліфіковуються системні адміністратори та розробники. Вони вивчають практики й технології, застосовувані в DevOps, і починають роботу в DevOps-відділі своєї компанії або влаштовуються на нове місце.
Для системних адміністраторів опанування DevOps-практик — чудова можливість професійного росту. Згідно зі статистикою dou.ua влітку 2020 року середня зарплата DevOps Engineer в Україні становила $2400, заробітна плата Sysadmin — $875, Software Engineer — $2000.
Вивчати DevOps-методики можна самостійно або в освітніх IT-установах, а краще на позиціях Trainee в компанії.
Курс DevOps від школи Hillel
Курс DevOps складається з 32 занять і розрахований на просунутих розробників і сисадмінів, які добре знайомі з мережевими технологіями та вміють працювати з ОС Linux.
- Заняття проходять 2 рази на тиждень.
-
Для зарахування на курс потрібно пройти тестування.
-
Вартість навчання необхідно дізнаватися додатково.
-
Старт курсу — в лютому 2021 року.
Курси DevOps від ITEA
IT Education Academy проводить у Києві DevOps (базовий курс) і DevOps (просунутий курс). Базовий курс призначений для IT-фахівців, які раніше не були знайомі з DevOps-практиками, а також для розробників і системних адміністраторів, які хочуть перекваліфікуватися.
Просунутий курс підходить для DevOps інженерів-практиків, котрі бажають поглибити свої знання в галузі.
- Вартість базового курсу — 13 500 грн (на момент написання статті діє акційна ціна — 8 100 грн).
-
Вартість просунутого курсу — 18 000 грн (на момент написання статті діє акційна ціна — 10 800 грн).
-
Дату старту базового курсу необхідно уточнювати.
-
Старт просунутого — 8 січня 2021 року.
-
Є можливість онлайн-навчання.
Курс Development operations engineer від Main Academy
Devops-курси Development operations engineer проходять у Києві, тривають 2 місяці й підходять для системних адміністраторів, які бажають підвищити кваліфікацію.
- Старт курсу необхідно уточнювати.
-
Вартість навчання — 16 000 грн.
-
Є можливість онлайн-навчання.
Курси і стажування для девопсів можуть проводити також IT-компанії, причому на безоплатній основі з подальшим працевлаштуванням. Наприклад, в SoftServe IT Academy 28 грудня розпочинається курс для девопсів у Львові. А в 2021 році компанія проведе курси в Рівному, Чернівцях, Дніпрі, Івано-Франківську. Рекомендуємо відстежувати майбутні події, наприклад, на dou.ua.
Рекомендована література для самостійного навчання:
- «Проєкт Фенікс», Джордж Спаффорд, Кевін Бер, Джин Кім;
-
«Керівництво з DevOps», Джин Кім, Патрік Дебуа, Джон Вілліс і Джез Хамбл;
-
«Рефакторинг. Поліпшення дійсного коду», Мартін Фаулер;
-
«Сучасне адміністрування Linux», Сем Алапаті;
-
«Внутрішній устрій Linux», Браян Уорд.
Ми розповіли, з чого почати професію девопса, а тепер коротко про те, що повинен знати DevOps і якими навичками володіти.
- Рівень англійської мови — Upper-Intermediate.
-
Адміністрування систем на базі Linux.
-
Досвід роботи з базами даних, наприклад, MySQL, PostgreSQL.
-
Уміння працювати з інструментами планування та управління проєктами, наприклад, Git, GIRA, Trello або Worksection.
-
Налагодження та автоматизація серверів безперервної інтеграції, наприклад, Jenkins, Bamboo.
-
Написання коду або сценаріїв для автоматизації ключових завдань.
-
Уміння писати та розбирати скрипти, написані, наприклад, на Python, Java.
-
Робота зі сховищами коду, наприклад, Github, Bitbucket.
-
Уміння працювати з інструментами для контейнеризації. Наприклад, Docker, Kubernetes.
-
Налаштування, управління та автоматизація IT-інфраструктури, наприклад, за допомогою Puppet Enterprise, Ansible або Chef.
-
Робота з інструментами для моніторингу, наприклад, Nagios, Sensu, Raygun.
Що потрібно знати DevOps-початківцю? Новачкам у професії не обов'язково розбиратися в усіх інструментах для впровадження DevOps-практик. Однак, Junior DevOps engineer повинен уміти працювати з окремими типами інструментів, які дозволяють підтримувати IT-інфраструктуру на різних етапах життєвого циклу проєкту згідно з методологією.
- Комунікабельність.
-
Уміння працювати в команді.
-
Критичне та аналітичне мислення.
-
Посидючість і послідовність.
-
Готовність навчатися.
-
Вивчення тенденцій галузі та нових інструментів на ринку.
- Що таке безперервна інтеграція та безперервна доставка?
-
Розкажіть про процеси, які ви зазвичай автоматизуєте. Можете навести приклад автоматизації процесу, який був для вас справжнім викликом?
-
Чи можете розповісти про декілька критично важливих сценаріїв, які ви розробляли?
-
З якими CI-системами працювали? Чим відрізняється Jenkins від TeamCity та інших аналогічних систем?
-
Розкажіть про реліз, який пішов не за сценарієм. Що ви робили для стабілізації процесу? Що винесли з цього досвіду?
-
Розкажіть про DevOps-інструменти, яким надаєте перевагу в роботі. Чому, на вашу думку, вони дієві та які функції виконують? Які нові інструменти DevOps ви відкрили для себе останнім часом?
-
Як відсортувати масив у Python (Java)? Напишіть код.
Це лише деякі запитання, які можуть ставити на співбесіді. Претендентові часто пропонують той чи інший сценарій розвитку подій на проєкті, а він повинен надати своє бачення вирішення завдання.
Наостанок зауважимо, що професія DevOps engineer — перспективний напрямок в IT-галузі з точки зору високого попиту на ринку праці та рівня заробітної плати. Ресурс career karma зазначає DevOps engineer як одну з 20 перспективних і найбільш оплачуваних професій в IT у 2021 році з можливістю працювати дистанційно.