Професія DevOps-інженер: Дмитро Данчук, DevOps Lead в IT-команді NIX
Kharkiv IT Cluster продовжує знайомити вас із різними ІТ-спеціалістами від наших компаній-мемберів. IT-сфера з кожним днем розширюється, з’являються нові напрямки та професії. Щоб залишатися в темі і дізнаватися всі деталі першими, читайте рубрику від Kharkiv IT Cluster «Професії в IT».
Сьогодні ми хочемо познайомити вас із професією DevOps. Докладніше про цю спеціальність розповість Дмитро Данчук, DevOps Lead в IT-команді NIX.
Підпишись на наш телеграм канал, щоб бути у курсі подій
— Дмитро, хто такий DevOps і чим він займається?
— DevOps — це скорочення від Development & Operations — все, що пов’язане із забезпеченням CI/CD-процесу, тобто безперервної інтеграції та доставки програмного забезпечення. CI/CD об’єднує розробку, тестування та розгортання програми. Фактично це IT для підтримки роботи IT-команди. Це основна царина діяльності DevOps-інженера. Однак на практиці девопси реалізують будь-які завдання, пов’язані з обслуговуванням інфраструктури: від роботи з мережами до питань безпеки та оптимізації витрат на хмарне середовище. DevOps-спеціаліст може займатися окремим напрямом (наприклад, хмарними сервісами або безпекою оточення) або ж стати універсальним інженером і виконувати різноманітні завдання.
Уся логіка роботи вибудовується на взаємодії компонентів. Тобто ти знаєш функціонал якогось інструмента і використовуєш його, налаштовуючи та інтегруючи з іншими інструментами. Специфіка і складність завдань залежить від рівня знань та умінь фахівця. Наприклад, досвідченому девопсу часто треба формалізувати нечітко прописане або описане лише на верхньому рівні завдання в зрозумілих для інших девопсів вимогах. Тоді інженер стає трохи і бізнес-аналітиком, і Solution Architect, трансформуючи користувацькі вимоги у технічні. Інший приклад завдання — розбивка задачі на етапи. Тут девопс поєднує в собі ролі техліда і проєктного менеджера. Як бачите, варіантів для професійного розвитку у нашій сфері безліч.
— А чим ти займаєшся в NIX?
Я тімлід та DevOps-архітектор зі спеціалізацією в AWS (Amazon Web Services). Роблю все, що потрібно для створення проєкту. Іноді супроводжую девелопмент-проєкти в частині архітектури та постановки завдань. Інколи в межах автоматизації нам потрібна і розробка.
— Які знання потрібні, щоб стати DevOps-інженером?
У людини має бути базове розуміння операційних систем Linux та Windows, хмарних середовищ AWS, Azure, Google Cloud Platform, а також навички розгортання проєктів з автоматизацією. Для останнього важливо володіти інструментами — Ansible для налаштування сервера, Jenkins для деплою, Docker та Kubernetes для контейнеризації. Стане в нагоді знання мов програмування Python та Bash. Наголошую: важливо знати не «кнопки», а розуміти підходи. Інструменти у сфері DevOps змінюються швидше, ніж у девелопменті. Однак якщо ви розбираєтесь у принципах їх роботи та знаєте, що і навіщо треба робити в різних випадках, то достатньо швидко опануєте нові інструменти.
— Які особисті якості необхідні для роботи девопсом?
Насамперед – це уважність та усидливість. Робота DevOps починається з читання інструкції. Ми налаштовуємо вже існуючі пайплайни, інтеграції застосунків тощо. Через один неправильно налаштований параметр можна паралізувати роботу всієї системи. Це дуже високий рівень відповідальності. Коли у розробників виникає помилка в коді, інколи можливі збої лише в разі поєднання певних чинників. А в девопсів через помилку в одному місці взагалі не працює вся система.
Також важливе вміння доносити аргументи і домовлятися. Хоча ця риса характеру корисна всім IT-спеціалістам. Наша галузь побудована на американській корпоративній парадигмі, де основою є постійна комунікація. Для девопсів — це вдвічі важливо. Вони знаходяться у центрі команди розробки та контактують з усіма учасниками процесу.
— Яка освіта потрібна девопсу?
Найкраще – технічна освіта. Її точність, системність — це те, що треба. Хоча й гуманітарний бекграунд ніколи не був перешкодою на шляху до кар’єри в DevOps. У нашій справі головне — розвивати в собі технічний склад розуму, навчитися з кількох способів вирішення проблеми вибрати найоптимальніший. Якщо спеціаліст вже працював в IT, то корисним буде досвід роботи системним адміністратором, навички обслуговування систем, налаштування телефонії, мереж, комп’ютерів, серверів та інших пристроїв. Та й розробники з тестувальниками легко переходять у DevOps.
— Що ти порадиш тим, хто цікавиться напрямком DevOps?
Насамперед варто зрозуміти, чи підходить вам ця спеціалізація. Я сказав би так: якщо вам подобається налаштовувати що-небудь і ви любите збирати конструктор із готових деталей — йдіть у DevOps. Також ця робота підійде тим, хто полюбляє розбиратися з серверами, мережами, операційними системами. На відміну від розробників, ми рідко створюємо щось із нуля. Зазвичай реалізуємо не клієнтські ідеї, а інфраструктуру для них.
Щодо навчання, раджу постійно практикуватись у розгортанні сайтів. Можна почати з простого проєкту, але щоразу повторювати деплой: на локальній машині та у хмарі, вручну й автоматично, з моніторингом і бекапами. На кожному етапі треба «пограти» з конфігурацією, щоб розібратися, на що впливають налаштування і де ховаються помилки у разі збоїв. Коли зможете досягати стабільної роботи проєкту і легко знаходити причини будь-яких проблем, то вже матимете гарний шанс стати успішним девопсом.
Підпишись на наш телеграм канал, щоб бути у курсі подій
Також читай новини на наших сторінках в соціальних мережах: