Комп'ютерна Академія IT STEP - повноцінна IT-освіта для дорослих і дітей. Ми навчаємо з 1999 року. Авторські методики, викладачі-практики, 100% практичних занять.

Ви використовуєте застарілий браузер!

Ваш браузер Internet Explorer, на жаль, є застарілим. Ця версія браузеру не підтримує багато сучасних технологій, тому деякі функції сайту можуть працювати з помилками. Рекомендуємо переглядати сайт за допомогою актуальних версій браузерів Google Chrome, Safari, Mozilla Firefox, Opera, Microsoft Edge

ШАГ логотип

Що ховається під поняттям DevOps: розповідаємо про професію

IT STEP

26.10.2022

1580 переглядів

У цій статті ми постаралися розповісти про суть роботи DevOps Engineer. Матеріал написаний для новачків та тих, хто цікавиться професією, напрямком.

В Інтернеті багато думок і вони відрізняються. Розглянемо тему під різними кутами.

Хто такий DevOps: думки розходяться

У світі програмістів є дві думки, що таке DevOps. І кожна має своїх шанувальників та ворогів: «Ви неправильно тлумачите термін!» Про все по порядку.

DevOps як практика, філософія. 10-15 років тому розробники відповідали за програму, а адміністратори — що ця програма потрапить до користувача через сервер.

Раніше йшло багато часу на те, щоб виправити помилку. Системний адміністратор передавав повідомлення розробнику і розповідав про проблему. А програміст втрачав час, щоб випустити оновлення і виправити код.

Загляньте в смартфон і подивіться, скільки програм отримали оновлення сьогодні — не 1 і не 2. Ситуація змінилася — компанії працюють над серією понад 10 програм щодня. Потрібно випускати оновлення, перевіряти на помилки та баги. 

Щоб конкурувати зараз, потрібно працювати швидше і якісніше за інших. А як цього досягти, якщо розробники лише пишуть код, а системні адміністратори встановлюють на сервер і стежать за роботою програми? Як спілкуватися швидше?

Для цього в тусовці IT-компанії вигадали принцип DevOps:

 

За build відповідає девелопер (Dev), а за test та release сисадмін, оптимізатор (Ops)

Це спосіб спільної роботи девелопера й адміністратора (оптимізатора продукту). Якщо сисадміну потрібне оновлення програми, то він робить запит розробнику в командному чаті. А написати скрипт для сервера сисадмін може самостійно.

DevOps користуються компанії, на зразок Amazon, Microsoft, Etsy, Ebay. Для них важливо усунути більше багів та випустити оновлень, щоби змагатися з конкурентами за увагу споживача.

Якщо говорити простіше, то DevOps – нові правила чи способи спілкування розробника та адміністраторів у компанії.

DevOps як професія. Так називають верхівку айсберга у світі системних адміністраторів. Девопс робить так, щоб сисадміни та розробники працювали над продуктом швидше. Подивіться на спрощені приклади:

DevOps до колег: «Спілкуємось у Microsoft Teams. Завдання та процес виконання прошу зареєструвати тут. Виникнуть питання – пишіть мені».

Розробник пересилає код та документацію сисадміну. Той переносить код на сервер. На етапі встановлення адміністратор може знайти помилку. Він не пише розробникам, а вирішує проблему самостійно як DevOps.

Не всі інструменти обов'язково знати у DevOps. Наприклад, в одній компанії працюють у Slack. А в іншій з Microsoft Teams.

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

Навіщо девопсу програмування

Якщо розглядати DevOps як набір практик, то й звичного поняття системного адміністратора не зустрінеш. Розглянемо на двох прикладах:

Один сісадмін отримав код від розробника. Його завдання – перенести код на готовий сервер. У цьому його робочі завдання закінчуються. Додаткові програми або оновлення звертаються до розробника. Мине багато часу, девелопер напише скрипт, і сісадмін встановить програму на сервер. Це довго.

Інший сисадмін бачить, що без скрипта не може встановити оновлення програми. Замість листа розробнику він напише скрипт сам: сісадмін знає базу програмування, працює з Python і впорається із завданням. Розробник працює над покращенням програми, а сисадмін йому не заважає. Так швидше.

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

Без навичок програмування це все одно, що шукати голку в стозі сіна: людина не знає розміру голки і в якому куточку її шукати. А з базою програмування DevOps розуміє, із чим працює девелопер.

Приклад тем для Junior DevOps. 

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

Де В DevOps знадобиться мова Python

З основами програмування знайомимо студентів на курсі Комп'ютерної Академії IT STEP «DevOps-інженер». Розповідаємо про переваги Python, що потрібно знати та вміти системному адміністратору та як закривати однією мовою програмування 99% завдань з автоматизації.

Нижче розглянемо приклади, де DevOps-інженер використовує Python у роботі.

Інструмент для аналізу «холостих ресурсів». Компанії мобільної розробки, мобільні оператори користуються хмарними сховищами. Звичний приклад - Google Drive, тільки в тисячі разів більше. На підтримку хмари компанія витрачає мільйони доларів на рік. На Python можна написати бота, який знаходить невикористані місця у хмарі та відключає їх. У середньому через бота можна прибрати до 40-50% непрацюючих ресурсів і заощадити стільки ж бюджету.

Скрипт, який знаходить небезпеку у програмі. Сервер – це гора інформації. І на ручну її не переробити. Можна написати скрипт, з'єднати програми моніторингу помилок та систему завдань, на зразок Slack або Trello. Програма знаходить баг у коді, обробляє та автоматично створює картку завдання для сисадміна і розробників.

Python lint-тестів для Ansible та Kubernetes. Щоб програму побачили люди, її потрібно протестувати та встановити на сервер. Тестують код або руками та очима (вставляти в програму, перевіряти помилки), або через готове рішення — написати на Python автоматичний тестер. Це корисно, коли сисадміни випускають 10 програм та 100 оновлень на день. Перевірити вручну неможливо.

Існують прості приклади: для онлайн-банкінгу пишуть спеціальний скрипт. Щоб не перевантажувати сервер, онлайн-програму розбивають на частини та встановлюють на сотні серверів. Якщо в сервісі трапиться збій, сисадміни знайдуть помилку в конкретному сервері, де менше коду. Це швидше, ніж шукати рядок коду на базі на 10 000 одного сервера.

Завдання з програмуванням у DevOps маса. Від цього й різниця у зарплатах: сисадміни не програмують, виконують менше роботи. За даними Work.ua, сисадмін в Україні отримує до 21 000 грн, а Девопс — від 70 000 грн.

Опорні тези

Щодо поняття DevOps існує 2 точки зору: перша — це набір практик, як швидко спілкуватися розробникам та системним адміністраторам. Друга – це людина, яка налагоджує безперервну роботу між відділами. Наприклад: продукт-сервер-оновлення-сервер-оновлення...

DevOps потрібно програмування, щоб не заважати розробнику: самому тестувати продукт, писати програми для серверів. Це не завдання девелоперів, але їх потрібно виконувати.

Python достатньо для 99% завдань системного адміністратора.



Автор:

IT STEP

Редакція IT STEP

Soft skills

Програмування

Графіка та дизайн

Маркетинг

ТОП-10 найбільш затребуваних професій на дистанційній роботі у 2023 році

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

Світ змінюється з неймовірною швидкістю. Недавні події, такі як глобальні пандемії та технологічний бум, надали величезний вплив на ринок праці, прискорюючи перехід до цифрової економіки та трансформацію звичних робочих просторів. Згідно з багатьма дослідженнями, дистанційна робота не лише стає новим стандартом, але й, можливо, залишиться ключовим елементом багатьох галузей у майбутньому. З такою різкою зміною пейзажу зайнятості багато професій, які раніше вважалися "офісними", сьогодні активно переходять в онлайн. Для тих, хто шукає ро�

ШАГ логотип

Soft skills

Програмування

Проблеми, з якими зіштовхуються початківці, коли вивчають програмування

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

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

ШАГ логотип

Графіка та дизайн

10 сайтів для заробітку графічного дизайнера

Графічний дизайн - це творче та затребуване мистецтво, яке може приносити великий дохід. У цій статті ми розглянемо 10 популярних платформ, які пропонують дизайнерам унікальні можливості продажу своїх творінь.

Графічний дизайн - це творче та затребуване мистецтво, яке може приносити великий дохід. У цій статті ми розглянемо 10 популярних платформ, які пропонують дизайнерам унікальні можливості продажу своїх творінь. Від сайтів, що спеціалізуються на графічних дизайнах, до маркетплейсів із широким спектром категорій – кожна платформа надає дизайнеру зручні інструменти та потрібну аудиторію. На цих платформах дизайнери можуть продавати свої роботи у вигляді графічних елементів, ілюстрацій, шаблонів, логотипів та багато іншого. Будь-яка платфор

ШАГ логотип

Soft skills

Програмування

Побудова та розуміння алгоритмів: крок за кроком для новачків

Алгоритми відіграють ключову роль у світі програмування. Це фундаментальні інструменти для вирішення завдань та створення програм. Незалежно від вашого досвіду, уміння створювати ефективні алгоритми – невід'ємна навичка для програміста.

Алгоритми відіграють ключову роль у світі програмування. Це фундаментальні інструменти для вирішення завдань та створення програм. Незалежно від вашого досвіду, уміння створювати ефективні алгоритми – невід'ємна навичка для програміста. Крім програмування, алгоритми застосовуються в багатьох областях, починаючи від управління бізнес-процесами до побудови маркетингових стратегій. Без ефективних алгоритмів складно уявити сучасний світ технологій. Алгоритми дозволяють програмістам вирішувати завдання ефективніше та оптимізуват

ШАГ логотип

Online ITStep

Цікаво переглянути історії наших випускників?

Детальніше

Цей сайт використовує Cookies

Політика конфіденційності