Зібрано з Google
У сучасному світі технологій додатки часто залежать від кількох взаємопов'язаних сервісів (контейнерів), щоб працювати безперебійно — наприклад, веб-додаток, який працює разом з базою даних, кешем та балансувальником навантаження. Розгортання такого багатоконтейнерного додатка може здатися складним, але з GitHub Actions ви можете налаштувати плавний CI/CD пайплайн для розгортання вашого додатка в продакшн. Ось просте пояснення того, як це робиться.
Чи означає наявність "DevOps Engineer", що компанія застосувала DevOps?
Наявність "DevOps Engineer" не обов'язково означає, що організація повністю впровадила принципи DevOps. Хоча ця роль і сприяє технічним поліпшенням, більш широкі культурні та організаційні аспекти DevOps можуть залишатися невирішеними. Типові помилки включають:
- Створення нового силосу: "DevOps Engineer" або "DevOps команда" можуть мимоволі стати ще одним силосом, ізолюючи обов'язки з автоматизації та операцій, а не сприяючи спільній власності.
- Ігнорування культурних змін: Справжній DevOps вимагає співпраці між усіма командами — розробниками, QA, операціями та іншими — а не лише технічної експертизи.
- Тривалість старих робочих процесів: Без системних змін команди можуть продовжувати працювати у силосах, підриваючи трансформаційний потенціал DevOps.
Джерело: DORA Accelerate State of DevOps Report, який підкреслює важливість міжкомандної співпраці для успішних трансформацій DevOps.
Дилема назви ролі
Проблема не в навичках чи обов'язках "DevOps Engineer", а саме в назві. Професіонали, які мають досвід в автоматизації, CI/CD і інфраструктурі як код, часто називаються "DevOps Engineers", оскільки ринок прийняв таку термінологію. Однак ця назва змішує технічні ролі з більш широкою філософією DevOps, яка включає культурні трансформації та співпрацю.
Чому важлива ця термінологія
- Неправильне уявлення: "DevOps Engineer" натякає, що DevOps — це конкретна робота, а не комплексний підхід.
- Реальність ринку: Професіонали часто приймають цю назву, оскільки це те, як компанії маркують ролі — але це не означає, що вони несуть відповідальність за "здійснення DevOps".
- Організаційний вплив: Надмірна залежність від однієї ролі чи команди для "реалізації DevOps" може завадити більш широкому впровадженню принципів DevOps.
Кращий підхід: Команда підтримки DevOps
Для досягнення справжньої трансформації DevOps організації слід зосередитися на наданні можливості всім командам впроваджувати практики DevOps. Ось де з'являється концепція DevOps Enablement Team.
Що таке команда підтримки DevOps?
Термін "DevOps Enablement Team" пропонується для опису групи, яка присвячена наданню можливості та навчання всіх команд в організації працювати за принципами DevOps. Хоча це не стандартизована назва, вона відображає суть того, що така команда має робити. Компанії можуть вибирати інші назви, які відповідають цій самій ідеї, якщо фокус залишається на підтримці прийняття DevOps на рівні всієї організації. На відміну від "DevOps команди", ця команда не несе відповідальність за практики DevOps, а сприяє їх впровадженню в компанії.
Обов'язки команди підтримки DevOps
- Навчання та освіта: Проведення семінарів, обмін найкращими практиками та надання ресурсів з концепцій DevOps, таких як CI/CD, інфраструктура як код та безперервний зворотний зв'язок.
- Стандартизація: Визначення та просування стандартів компанії для автоматизації, моніторингу та співпраці.
- Створення спільних платформ: Розробка багаторазових пайплайнів, модулів інфраструктури та інструментів моніторингу для полегшення впровадження DevOps.
4.
Консультування: Виконувати роль радників, допомагаючи командам адаптувати практики DevOps до їхніх унікальних потреб. - Сприяння культурним змінам: Сприяти спільній відповідальності, співпраці та циклам зворотного зв'язку між командами.
Джерело: Посібник SRE від Google, який демонструє, як команди, орієнтовані на підтримку, сприяють організаційним трансформаціям.
Чому варто впроваджувати DevOps в усій компанії?
- Спільна відповідальність: DevOps підкреслює, що якість, розгортання та надійність — це відповідальність кожного.
- Ліквідація силосів: Ламаючи бар'єри між командами, забезпечується плавніша співпраця та швидше доставлення.
- Масштабованість: Практики, такі як автоматизація та безперервне доставлення, стають стійкими, коли їх впроваджують на рівні всієї компанії.
- Культурна узгодженість: DevOps — це не тільки про інструменти, а й про спосіб мислення. Без підтримки культури технічні зміни матимуть обмежений вплив.
Джерело: Звіт HashiCorp про стратегію хмарних технологій, який підкреслює важливість культурної узгодженості при впровадженні сучасних практик, таких як IaC.
Альтернативні назви для технічних ролей
Щоб уникнути змішування технічних обов'язків із більш широкою філософією DevOps, організації можуть використовувати більш точні назви для фахівців, наприклад:
- Інженер з автоматизації: Автоматизує повторювані завдання, такі як розгортання, тестування та управління конфігурацією.
- Інженер платформ: Відповідає за створення платформ, які підтримують розробку та операції.
- Інженер з надійності сайту (SRE): Як основна роль, забезпечує надійність, доступність і продуктивність систем у продакшн середовищі через автоматизацію, моніторинг та масштабованість.
- Інженер з автоматизації інфраструктури або хмарний інженер: Спеціалізується на автоматизації розгортання інфраструктури та керує хмарними середовищами з акцентом на автоматизацію та масштабованість.
Ці назви краще відображають специфічну технічну експертизу, яку вимагають ці ролі, зберігаючи при цьому термін "DevOps" як ініціативу на рівні культури та організації.
Чому використання терміну "DevOps Engineer" шкідливе для компаній?
- Втрата трансформації: Використання цього терміну може мимоволі зосередити увагу на технічних ролях, а не на сприянні культурній трансформації в компанії.
- Силоси зберігаються: Ця назва може створити враження, що DevOps — це відповідальність однієї ролі, що потенційно зміцнює силоси, а не ламає їх.
- Помилковий прогрес: Прийняття цієї назви може призвести до помилкового уявлення, що найм "DevOps Engineers" сам по собі є еквівалентом повної трансформації DevOps.
Висновок
Термін "DevOps Engineer" відображає попит на ринку, але ризикує неправильно інтерпретувати DevOps як роботу, а не культуру. Справжній успіх DevOps вимагає зобов'язань компанії щодо співпраці, спільної відповідальності та безперервного вдосконалення.
Створивши DevOps Enablement Team, організації можуть надати можливість всім командам впроваджувати практики DevOps, забезпечуючи культурну узгодженість і стійку трансформацію. Одночасно, прийняття чітких і точних назв для технічних ролей — таких як інженер з автоматизації або інженер платформ — допомагає зберегти цілісність DevOps як філософії.
Зрештою, DevOps — це не те, чого може досягти одна людина чи команда. Це спосіб мислення та підхід, який, коли його приймає вся організація, веде до інновацій, ефективності та стійкості.
Перекладено з: “DevOps Engineer”: The Misunderstood Title That’s Holding Your Company Back