Більш детальний опис етапів даної інфографіки:
Для початку потрібно вивчити хоча б одну мову програмування. Неважливо яку, це може бути Python, Java, Ruby, Golang і будь-який інша, саме знання мови в подальшому знадобиться для написання сценаріїв автоматизації.
Необхідно знати про контроль процесів, потоки, паралелізм, сокети, управління введення-виведення, віртуалізацію, сховище пам’яті і файлові системи.
DevOps інженеру потрібен навик роботи з терміналом на різних операційних системах.
Найчастіше компанії працюють в середовищі Linux, так що обов’язковий досвід роботи з Linux адмініструванням і Bash скриптами.
Потрібно добре розбиратися в мережевих протоколах TCP / IP, HTTP, HTTPS, SMTP, FTP та інших.
Інженер DevOps повинен знати, як налаштувати веб-сервер, наприклад, IIS, Nginx, Apache і Tomca. А також, як працювати з проксі, файрволом, різними веб-серверами, балансуванням навантаження, кешуванням, інструментами моніторингу.
Це один з найбільш важливих компонентів в процесі навчання DevOps-інженера. Необхідно вивчити контейнеризацію, оркестрації контейнерів, забезпечувати інфраструктуру і керувати конфігурацією за допомогою спеціальних інструментів.
Для розуміння CI і CD необхідно вивчати Gitlab, Jenkins, Github та інші.
Моніторинг допомагає проаналізувати продуктивність інфраструктури. Аналіз зібраних даних визначає наскільки додаток і оновлення впливають на взаємодію з кінцевим користувачем. Такий інструмент, як SigNoz, може допомогти в налаштуванні надійної системи моніторингу.
DevOps не може існувати без хмари. На сьогоднішній день з’явилося чимало постачальників хмарних послуг. Але найпопулярніші серед них: AWS, Azure і Google Cloud.
Отже, в цій області є чому повчитися: слід знати хоча б одну мову програмування, розбиратися в нюансах різних операційних систем і вміти працювати з терміналом, знати протоколи шифрування і передачі даних, мати навички роботи з популярними інструментами контейнеризації та оркестрації, а також розбиратися в нюансах розробки хмарних додатків.