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

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

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

Black Friday

знижки на курси до 50%

09

дн

04

год

53

хв

ШАГ логотип

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

ITSTEP

26.10.2022

3124 перегляда

У цій статті ми постаралися розповісти про суть роботи 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

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

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

Маркетинг

Майстер клас

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

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

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

ШАГ логотип

Soft skills

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

Пробний урок

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

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

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

ШАГ логотип

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

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

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

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

ШАГ логотип

Soft skills

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

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

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

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

ШАГ логотип

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

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