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

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

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

ШАГ логотип

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

IT STEP

11.08.2023

587 переглядів

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

Старт занять

Важливість тестування програмного забезпечення: типи, підготовка, інструменти

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

Програмне забезпечення – невід'ємна частина нашого повсякденного життя. Воно використовується скрізь: у комп'ютерах, телефонах, медичних пристроях, автомобілях тощо. Будь-які помилки в роботі програмного забезпечення можуть призвести до серйозних наслідків, таких як втрата даних, збої в роботі пристроїв та негативний вплив на безпеку. Саме тому тестування програмного забезпечення – вкрай важливий етап у розробці будь-якого продукту. Таке тестування включає перевірку працездатності продукту, його відповідність вимогам і специфік�

ШАГ логотип

Майстер клас

Введення в UI дизайн: створення ефективних та привабливих інтерфейсів

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

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

ШАГ логотип

Зустріч

Які soft skills розвиває вивчення програмування

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

Soft skills, або так звані гнучкі навички, відіграють дуже важливу роль у нашому сучасному суспільному та діловому середовищі. Це навички, які допомагають нам ефективно взаємодіяти з іншими людьми, успішно вирішувати проблеми та досягати своїх цілей. Вони включають такі якості, як комунікація, лідерство, креативність, адаптивність та багато іншого. Вивчення програмування не лише дає нам технічні вміння, а й  сприяє розвитку різних soft skills. Програмування вимагає аналітичного мислення, вирішення проблем, командної роботи та наполегливості. Роз

ШАГ логотип

Найновіші технології у розробці мобільних додатків: ТОП-інструменти та тренди

Мобільні програми стали вже невід'ємною частиною повсякденного життя. Вони допомагають нам робити покупки, спілкуватися з друзями, знаходити інформацію, розважатися. У зв'язку з цим розробка мобільних додатків стала затребуваним та перспективним напрямом у сфері IT.

Мобільні програми стали вже невід'ємною частиною повсякденного життя. Вони допомагають нам робити покупки, спілкуватися з друзями, знаходити інформацію, розважатися. У зв'язку з цим розробка мобільних додатків стала затребуваним та перспективним напрямом у сфері IT. Розробники мобільних програм прагнуть створювати продукти, які максимально відповідають потребам користувачів. У цій статті ми представимо огляд останніх трендів та інструментів, які використовуються для цього. Мови програмування для мобільних додатків Сучасні тех

ШАГ логотип

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

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