Я практикую і консультую DevOps як консультант з різними клієнтами вже майже п’ять років, до мого теперішнього становища я займав роль у розробці програмного забезпечення, веб-операціях та адмініструванні систем. В моєму особистому досвіді DevOps є багатьма смаками.
Шаблони організації
Анти візерунки DevOps:
NoOps і NoDevs - не строго DevOps в найсуворішому сенсі, однак ці команди одночасно створюють та працюють із програмним забезпеченням без розмежування між розробкою та операціями. Проблеми з цими командами доходять до зрілості, команди з розробки можуть бути експертами, розробниками програмного забезпечення, але початківцями операторами та навпаки.
Міст DevOps - саме тут одна або декілька команд покладаються на відповідальність за прийняття роботи у команд розробників і « продукують » її, щоб зробити її функціональною. Проблема зводиться до того, що зараз є два хенд-мени, тобто розробка → DevOps і DevOps → Операції.
Команда DevOps - це, мабуть, може працювати, якщо команда несе відповідальність за створення інструментів, що підтримують операційну модель, що підтримує DevOps, однак її, мабуть, слід назвати "Команда інструментів" або "Команда платформ".
Шаблони DevOps:
Вбудований DevOps - частіше називається платформою інженерії, згідно з яким в команді є хтось, хто підзвітний, але не відповідає за доставку автоматизації, інструментів та інфраструктури для забезпечення та розгортання рішення, іноді також включаючи функціонування програмного забезпечення - , саме останній насправді є представником DevOps.
Інституціоналізований DevOps - де проектна команда спільно відповідає як за розробку, так і за функціонування пакету програмного забезпечення спільної власності та позитивних зворотних зв'язків.
Практики
Фактична практика DevOps ґрунтується на кількох інших практиках, а саме:
Кожен з перерахованих вище методів спирається на іншому, то можна НЕ брати до уваги практику, однак, це означає важливий цикл зворотного зв'язку відсутня , який може свідчити про «втрачені можливості». Ключовим диференціатором дотримання будь-якої іншої практики та DevOps є функціонування програмного забезпечення у виробництві .
Три шляхи
У проекті «Фенікс» Джин Кім та його співавтори описують це три способи DevOps :
Система мислення
Перший шлях наголошує на ефективності всієї системи, на відміну від виконання певного робочого силосу або відділу - це може бути настільки великим підрозділом (наприклад, Операції з розробки або ІТ) або настільки ж невеликим, як окремий учасник (наприклад, , розробник, системний адміністратор).
З мого досвіду, починаючи змушувати розробників враховувати Оперативні проблеми та нефункціональні вимоги досягає цієї мети. Це дуже багато культурних аспектів DevOps.
Підсилення циклів зворотного зв'язку
Другий шлях - це створення циклів зворотного зв'язку праворуч наліво. Метою майже будь-якої ініціативи щодо вдосконалення процесів є скорочення та посилення циклів зворотного зв’язку, тому необхідні виправлення можна постійно вносити.
Я, як правило, досягаю цього за допомогою постійної інтеграції / доставки / розгортання та спільного моніторингу та оповіщення, тому це дуже добре вписується в інструменти компонент DevOps.
Культура постійного експериментування та навчання
Третій шлях - це створення культури, яка виховує дві речі: постійне експериментування, ризикування та навчання від невдач; і розуміння того, що повторення та практика - необхідна умова оволодіння.
Це дуже вписується в культурний простір, хоча сильно залежить від інструментів та процесу, щоб культура зростала.