Хто такий DevOps

Хто такий DevOps

Згідно з аналітикою сервісу Glassdoor, професія DevOps входить до десятки найбільш оплачуваних позицій 2021 року. Воно і зрозуміло: попит на професіоналів, здатних керувати хмарною інфраструктурою організації та допомагати компаніям переносити свої послуги у хмару, значно зріс у зв'язку з вимушеним переходом більшості бізнес проектів на дистанційне опрацювання.

DevOps вакансії «не виходять із моди» ось уже кілька років поспіль, із чим це пов'язано?

Це пов'язано з цифровою трансформацією бізнесу, яка спричинила збільшення обсягу надання IT-послуг та зростання чисельності команд розробки. До певного моменту розробники могли самостійно обслуговувати експлуатацію свого коду, потім стало накладно мати у штаті «універсальних бійців», оскільки таким розробникам доводилося платити більше грошей за додаткову експертизу в суміжних областях, хоча, по суті, вони відволікаються від своєї діяльності. З іншого боку, команди експлуатації в їхньому класичному вигляді не могли повною мірою задовольнити цей запит.

Іншими словами, виникла потреба у розширенні знань про підходи та техніки управління продуктовими середовищами для команд розробки. І тут прийшли DevOps.

DevOps все ж таки коректно називати окремою професією чи це певне коло обов'язків?

Багато хто бачать у цьому певний стек технологій або просто модний Job Title. Але DevOps – це, насамперед, культура взаємодії між різними командами (не тільки розробки та експлуатації, але також QA, менеджменту тощо) на всіх етапах Software Development Life Cycle (SDLC).

Широко поширена думка, що єдиною метою DevOps є зменшення значення Time-to-Market показника. Проте до цілей DevOps можна додати тіснішу інтеграцію команд з питань розробки продукту та експлуатації коду, зменшення кількості помилок через більш часті релізи, що дозволяє доставляти зміни в продуктивне оточення інкрементально, а також зменшення часу на відновлення після відмови. І ось на виході виходить, що, переслідуючи ці цілі, ми не можемо поставити це в обов'язки якогось конкретного спеціаліста, оскільки це зона відповідальності всіх команд загалом.

Безсумнівно, інженерна складова часто тут превалюватиме, але не завжди це суто інженерна робота.

Які проблеми є зараз на ринку DevOps-інженерів?

Якщо говорити саме про ринок праці, то це, звичайно, дефіцит DevOps фахівців високого рівня.

Якщо ж говорити про самих спеціалістів, то тут можа відзначити деяку пасивність у комунікаціях та акцент на поглиблення у строго певний стек технологій, що не завжди відповідає T-Shaped моделі навичок та обумовлено «хайповістю» тієї чи іншої технології. Однак дозволимо собі відмітити, що це не проблема для них самих, оскільки через високий попит на такого роду фахівців проект або компанія, що відповідає їх skills set, з високою ймовірністю знайдеться без особливих проблем.

Наскільки високий поріг входу до цієї професії?

Є підозра, що самостійно і з нуля буде непросто розібратися, що варто вивчати прямо зараз, а що можна відкласти на потім. Однак, завдяки стажуванням, які пропонують великі компанії, стати DevOps буде не складніше, ніж розробником. Однак важливо розуміти, чи це вам це дійсно цікаво, оскільки завдання та зона відповідальності у розробників і DevOps сильно відрізняються.

І все-таки, як знайти того самого DevOps в команду, і як виглядає правильний DevOps Engineer?

Насправді критерії «правильності» досить суб'єктивні. Фахівець, який затребуваний у цьому напрямі для певної компанії, може бути не підходити для іншої. І в багатьох випадках це навіть буде не його провина - багато залежить від обставин, що складаються, і критеріїв, що виставляються компанією по відношенню до фахівця. Чим конкретніше виставлені ці критерії, тим більше шансів знайти свого «правильного» спеціаліста.

Який стек технологій потрібен DevOps на постійній основі, а який – з розряду “nice to have”? І які soft skills мають бути у DevOps інженера?

Найважливіше – це міцне розуміння пристрою операційних систем Linux та знання комп'ютерних мереж та мережевих протоколів. Що ж до інструментів і технологій, що використовуються в DevOps – найпростіше перегорнути актуальні вакансії і подивитися, що потрібно найчастіше, тому що навіть для вирішення якогось одного завдання може бути необхідно відразу кілька інструментів зі своїми перевагами та недоліками.

Soft skills у роботі DevOps важливі анітрохи не менше, ніж hard skills, оскільки сама методологія має на увазі активну взаємодію спеціалістів з розробки з фахівцями з інформаційно-технологічного обслуговування та взаємну інтеграцію їх робочих процесів один в одного. Важливо мати критичне мислення, навички роботи у команді та навички організаційної діяльності.

Вітається, а іноді й обов'язковий досвід у побудові та експлуатації CI/CD систем, взаємодії з різними API, контейнеризованими програмами, а також їх оркестрація (тут найчастіше очікуються знання Kubernetes, оскільки він вже практично став галузевим стандартом).

Від фахівця в DevOps очікується, що він повинен добре розумітися на різних інструментах і технологіях, що застосовуються на всіх стадіях життєвого циклу доставки ПЗ. Крім того, він повинен знати та передбачати, як різні залежності на різних етапах CI/CD конвеєрів можуть вплинути на кінцевий результат.

До яких складнощів DevOps має бути готовим?

Як і будь-який IT-фахівець, DevOps має постійно вчитися. Технології дуже швидко розвиваються, з'являються нові, старіють існуючі. Не вдасться просто один раз вивчитися і так працювати до пенсії. Що більше ти працюєш – то більше розумієш, як багато ти ще не знаєш. Потрібно це розуміти і бути готовим до цього.

Кар'єрні перспективи. Куди може зрости грамотний DevOps?

Він може зрости в дуже грамотного спеціаліста з відмінними знаннями архітектур інформаційних систем, побудови та налагодження внутрішніх процесів взаємодії між різними командами, що вміє думати та проектувати інформаційні системи на перспективу з опцією їхньої гнучкої адаптації під умови, що змінюються. А це непогана підмога для системних архітекторів, менеджерів по продукту та Delivery менеджерів.


Читати також