DevOps/Sysadmin

DevOps-інженер гарантує ефективність, безпеку і максимальну швидкість розроблення програмного забезпечення та своєчасний вихід оновлень. Ця професія – сполучна ланка між розробниками і інфраструктурою. ДевОпсів інколи називають «просунутою версією» системного адміністратора з навичками програмування. Системний адміністратор (сисадмін) здійснює налаштування і забезпечує стабільну роботу комп'ютерної техніки, мережі (у разі, якщо немає окремого мережевого адміністратора), програмного забезпечення. Він вирішує проблеми, що виникають в інформаційній інфраструктурі, покращує і модернізує її.

Обов'язки DevOps Engineer

Обов'язки системного адміністратора зазвичай такі:

  • встановлення та обслуговування комп'ютерної та офісної техніки;
  • конфігурування й запуск хмарного або локального сервера та інфраструктурних елементів;
  • встановлення, налаштування і оновлення системного, офісного та прикладного ПЗ;
  • підтримка користувачів, організація робочого середовища, забезпечення віддаленого доступу;
  • забезпечення резервного копіювання та в разі потреби відновлення даних;
  • гарантування інформаційної безпеки;
  • діагностування програмних і апаратних проблем, планування ризиків;
  • облік та інвентаризація комп'ютерів користувачів, організація закупівлі нового обладнання.


У невеликих компаніях системні адміністратори виконують також функції мережевих адміністраторів.


Серед обов'язків DevOps Engineer – такі:

  • підготовка середовища розробки та інфраструктури;
  • написання серверного ПЗ;
  • автоматичне розгортання серверів;
  • автоматизація процесів, пов'язаних з налаштуванням і розгортанням застосунків;
  • гарантування інформаційної безпеки;
  • комунікація з замовниками і розробниками;
  • встановлення отриманого від розробників релізу;
  • налаштування систем моніторингу, швидкий пошук та усунення технічних проблем;
  • аналіз технологій, що використовуються компанією, і розробка стратегій їхнього поліпшення і модернізації.


Скіли Sysadminа

Знання та навички сисадміна охоплюють:

  • глибоке знання операційних систем;
  • знання систем моніторингу сервісів комп'ютерної мережі (Zabbix, Prometheus);
  • вміння діагностувати та усувати програмні і апаратні проблеми;
  • може знадобитися знання систем віртуалізації (наприклад, VMware, OpenVZ, MS Hyper-V, KVM).


DevOps повинен знати:

  • хоча б одну мову програмування на рівні, достатньому для написання скриптів автоматизації. Наприклад, Python, Ruby, Go, Powershell, Groovy, Bash;
  • щонайменше одну операційну систему (для розуміння, на якому сервері продукт буде встановлений, в якому середовищі буде запускатися, з якими сервісами взаємодіяти);
  • системи контролю версій (Git);
  • системи оркестрації Docker і Kubernetes;
  • системи конфігурацій, наприклад, Chef, Ansible, Puppet – для автоматизації операцій на серверах, що повторюються;
  • розумітися в CI/CD, знати Jenkins.


Обов'язковий досвід роботи з хмарними провайдерами (AWS, Google Cloud, Microsoft Azure) та системами віртуалізації.