Хто такі DevOps-інженери та чим вони займаються | robot_dreams
Для відстеження статусу замовлення - авторизуйтесь
Введіть код, який був надісланий на пошту Введіть код із SMS, який був надісланий на номер
 
Код дійсний протягом 2 хвилин Код з SMS дійсний протягом 2 хвилин
Ви впевнені, що хочете вийти?
Сеанс завершено
На головну
«Коли є DevOps, завдання програмістів — просто написати код»

«Коли є DevOps, завдання програмістів — просто написати код»

Девопси із SoftServe та ExtendaRetail розповідають про професію.

Згідно з дослідженням порталу Dou.ua, зарплати DevOps-інженерів зростають швидше за доходи інших технічних фахівців. Це можна пояснити тим, що девопси — серед найпопулярніших IT-фахівців в Україні (за даними компанії GlobalLogic за листопад 2020 року).

Ми запитали девопсов Анастасію Ковтун та Марію Тартачну, які завдання вони розв’язують і що потрібно знати, щоби стати DevOps-інженером.

Хто такі DevOps-інженери та чим вони займаються

Спочатку DevOps був методологією розробки. Потім напрям трансформувався в окрему професію — знадобилися люди, які координуватимуть розробку продуктів.

Щоби продукт дійшов користувача, код потрібно доставити на сервер. Якщо компанія велика, це займає багато часу. Девопс потрібний, щоб автоматизувати ці процеси. Коли є DevOps, завдання програмістів — просто написати код.

Обов’язки DevOps-інженера варіюються залежно від проєкту, але зазвичай це створення та налаштування інфраструктури. Наприклад:

  • автоматизація та покращення процесів розробки та релізів;
  • робота з девелоперами, щоб упевнитися, що код відповідає необхідним характеристикам;
  • забезпечення безпеки та захисту систем (інфраструктури).

Основне завдання девопса — забезпечити девелоперів усім необхідним для роботи над софтом. Вона включає створення внутрішніх інструментів для компанії, наприклад, домашніх CLI (інтерфейсів командного рядка), або використання IaC (інфраструктури як коду) для стійкості системи.

DevOps'и мають спеціалізації. TechOps, як правило, тестують і моніторять уже готову систему — працюють з інцидентами та техпідтримкою. Вони — експерти у вже готових сервісах, але не мають кваліфікації у їхньому створенні.

CloudOps застосовують усі практики та процеси до хмарної архітектури. DevSecOps зосереджені на оцінюванні ризиків та інтеграції технологій безпеки даних. Їхнє завдання — моніторинг та покращення гнучкості системи.

Девопс повинен вміти працювати з Linux- і Unix-системами, розуміти базові принципи системного адміністрування та вміти писати код. Раніше в DevOps часто переходили із системного адміністрування. Зараз багато хто починає без бекграунду і приходить у професію відразу після університету.

Марія Тартачна, Team Lead DevOps Engineer у SoftServe

Про роботу

Я тімлід для двох команд, тому в мене досить багато операційних та менеджерських завдань. Зазвичай це підготовка випуску продуктів чи робота з помилками в них.

Я займаюся release engineering, він належить до CI/CI/CD-процесів. CI/CD — continuous integration і continuous deployment. Це процеси, які забезпечують автоматизовану доставку продукту до середовища.

Моя команда займається налаштуванням процесу та всіх інструментів для клієнтів — девелопмент-команд, які працюють на Cisco. Вони пишуть код і пушать його в систему контролю версій, наприклад, Github. Після цього наш інструмент забирає код та поміщає його в артефакт. Потім відбувається автоматичний деплоймент артефакту в сереовище. Саме для цих команд розробників ми надаємо release engineering як сервіс.

Кейс

Ми працюємо над налаштуванням application dynamics для декількох продуктів, які перебувають в кластері Kubernetes. Application dynamics — це інструмент для моніторингу, він потрібен для трасування програми. Трасування дає змогу реєструвати інформацію під час її виконання. Потім журнал трасування можна використовувати для знаходження помилок.

Зараз ми збираємо рекваєрменти, щоби коректно налаштувати application dynamics і врахувати побажання розробників.

Рекомендації для тих, хто хоче стати DevOps'ами

Необхідні hard- та soft-скіли

Ми в компанії використовуємо roadmap, на якій жовтим кольором виділено основні інструменти девопсу. Для старту бажано опанувати 1–2 навички в кожній сфері.

Також потрібні базові знання програмування. Підходить будь-яка мова, але я найчастіше використовую bash, а колеги — Python.

Головний soft skill — вміння аналітично мислити. На жаль, новачки часто опановують конкретний інструмент та зупиняються на цьому. Але важливим є комплексне розуміння того, як працює структура. Потрібно вміти створювати логічні зв’язки та застосовувати їх у системі.

Ще важливим є вміння спілкуватися з людьми. DevOps — це постійна комунікація. З девелоперами, з менеджментом, клієнтом. Якщо розробник може сидіти в кутку та писати код, то для девопса це неможливо.

Корисні ресурси

Основи можна отримати на Coursera чи Udemy. Почати з програмування, а потім переходити до специфічних інструментів — наприклад, інфраструктури як коду або контейнери.

Книги

  • Книга від Google про SRE (site reliability engineering). Це не зовсім про DevOps, але тут можна здобути знання про операційні системи, є окремий розділ про release engineering. Усі девопси працюють із моніторинг-системами та service level agreement, тому книга буде корисною.
  • Unix and Linux System Administration Handbook by Evi Nemeth & Trent R. Hein — книга із системного адміністрування. Її можна використати як довідник.

Анастасія Ковтун, Tech Lead / Senior DevOps Engineer Extenda Retail

Про роботу

Я працюю на скандинавську продуктову ритейл-компанію. Ми майже на 100 % у хмарі: наша інфраструктура — ​​у Google Cloud Platform і (трохи) в Amazon web services.

До моїх обов’язків входить створення та налаштування нових інструментів розробки та інфраструктури. Я займаюся автоматизацією процесів розробки, співпрацюю з командами програмістів, надаючи їм рекомендації. Також відповідаю за наш CI/CD-процес. Роблю все, щоби девелопери могли фокусуватися на написанні коду, а не на деплоїнгу та моніторингу.

Кейси

  • 1. Розробка CLI-інструменту, написаного на Node.js

    Інструмент робить скаффолдинг для хмарної інфраструктури GCP (Google Cloud Provider). Скаффолдинг означає, що ми підготували автоматичні конфігурації для інфраструктури програм. Для цього ми використовували Yeoman (інструмент на Node.js), який є opensource-проєктом для скаффолдингу. Це дає змогу створювати початкові шаблони, керувати залежностями, запускати модульні випробування. Девелоперам достатньо запустити CLI, відповісти на кілька питань — і всі файли конфігурації будуть готові. Їм не потрібно знатися на Terraform.
  • 2. Розробка Developer Portal, де зберігається вся документація про сервіси компанії

    Раніше документація зберігалася або в Confluence, або в Github-репозиторіях (там же, де й код для софту). Завдяки автоматизації тепер уся документація збирається з репозиторіїв та публікується на порталі. Це зменшує час для пошуку інформації.

Рекомендації для тих, хто хоче стати DevOps'ами

Необхідні hard- та soft-скіли

Усе залежить від технологій у проєкті. Але я виділила б знання:

  • будь-якої хмарної платформи (AWS, GCP etc);
  • інструментів для створення інфраструктури як коду (Terraform/Terragrunt);
  • контейнерів (Docker, Kubernetes);
  • конвеєрів для інтеграції (Jenkins, TeamCity, CircleCI etc);
  • системи контролю версій (git etc);
  • інструментів для конфігураційного управління (Ansible, Puppet etc);
  • Linux та мов програмування (bash/Python).

Серед soft skills — знання англійської мови, якщо замовник — не українська компанія. А також комунікабельність, самомотивація, сильні аналітичні здібності, уміння швидко вчитися та висловлювати конструктивну критику.

Корисні ресурси

Telegram-канали

  • Бібліотека devops'а — тут можна знайти анонси вебінарів та мітапів. Також на каналі публікують цікаві статті.
  • DevOps&SRE Library — інформація про корисні CLIs- або opensource-проєкти.
  • CatOps — канал девопсів Юрія Рочняка та Максима Власова. Вони публікують апдейти нових версій інструментів, закордонні статті та авторські огляди.

Інші ресурси

  • A Cloud Guru (ex-Linux Academy) — онлайн-платформа про хмарні технології та Linux. Підписка на платформу дає змогу протестувати cloud-ресурси.
Ще статті
У два рази більше натхнення та інформації на другій онлайн-конференції від robot_dreams
Експертки про те, як оцінюють кандидатів на нетехнічних інтерв’ю