Проактивна версія DevOps розвивається в Google

  • Oct 31, 2023

Для надійних програм веб-гігант покладається на «розробку надійності сайту»: DevOps з інженерною основою.

Сьогодні всі хочуть займатися DevOps, але як насправді виглядає середовище DevOps, що добре працює? До чого бачення прагнути?

img0833.jpg
Фото: HubSpot

На сьогоднішній день DevOps з’являється як суміш дій та ініціатив компаній, можливо, в ім’я того, що це потрібно робити. У результаті компанії дійсно не бачать повного потенціалу DevOps. Узгодженість у підходах DevOps — справді рідкість, розповідає Курт Марко, цитуючи нещодавнє опитування від Computer Economics. Опитування виявило, що «хоча близько третини організацій займаються DevOps, майже ніхто цього не робить формально та послідовно в усій організації або демонструвати будь-яку подобу опанування DevOps практики».

Це тому, що DevOps більше ніж вимагає, щоб усі зібралися разом і додали нові інструменти. Як каже Марко: «DevOps — це як дієта: вона вимагає змін у цінностях, ставленнях, процесах і звичках. Такі зміни важкі, і їх потрібно практикувати, а не купувати. Вони вимагають виховання та дисципліни, а не замовлення».

Працівники Google/Alphabet, будучи першопрохідцями, якими вони завжди були, діляться своїм баченням і досвідом із тим, що вони називають "сайтом reliability engineering" (SRE), що надає кілька прикладів того, як добре налагоджені команди розробників і операторів можуть працювати разом, щоб створювати речі статися. Будьте впевнені, це глибоко вписано в культуру Google.

Щоб уточнити, SRE дещо відрізняється від DevOps, але об’єднаний на стегні. «Цікаво, що рух SRE виник окремо від руху DevOps, хоча мало сумніваюся, що вони належать до одного ІТ-спектру зі схожими цілями, орієнтованими на цінність клієнта", - Джейн Гролл спостерігає на DevOps.com. «DevOps зосереджується на розробці безперервної доставки до точки розгортання; SRE зосереджується на розробці безперервних операцій у точці споживання клієнтом. Обидва домени покладаються на обмін, культуру, показники та автоматизацію. Обидва потребують людських і автоматизованих ресурсів для забезпечення безперебійного потоку створення цінності та виняткового досвіду клієнтів».

Великий ілюстрація надає Патрік Хілл, інженер з надійності сайту Atlassian:

«Команди розробників хочуть випустити приголомшливі нові функції для широких мас і побачити, як вони злетять у великій мірі. Оперативні команди хочуть переконатися, що ці функції не ламають роботу. Історично це спричинило велику боротьбу за владу, коли оператори намагалися гальмувати багатьох випусків, а розробники шукають нові хитрі способи проникнути в процеси, які утримуються їх назад. SRE усуває припущення та дебати щодо того, що можна запустити і коли. Він представляє математичну формулу для запусків із зеленим або червоним світлом і присвячує команду людей з оп. навички (які відповідно називаються інженерами з надійності обслуговування або SRE) для постійного нагляду за надійністю продукт».

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

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

Команда Google пояснює, що вони «застосовують принципи інформатики та інженерії до проектування та розробки комп’ютерів їхні завдання коливаються від «написання програмного забезпечення для цих систем разом із розробкою наших продуктів». аналогів;" для побудови частин, таких як "резервне копіювання чи балансування навантаження", або просто "виявлення того, як застосувати існуючі рішення до нових проблеми».

SRE мають три місії: надійність, функції та експлуатаційні послуги.

  • Надійність: Надійність є головним пріоритетом для SRE. Команда Google цитує слова Бена Трейнора Слосса з Google, автора термін SRE: «Надійність є найважливішою властивістю будь-якого продукту: система не дуже корисна, якщо ніхто не може використовувати це."
  • особливості: Після досягнення відповідних рівнів надійності SRE доповнюються функціями та продуктами.
  • Операційні послуги: «Зрештою, SRE зосереджені на операційних службах, створених на основі наших розподілених обчислювальних систем, будь то послуги – це сховище планети, електронна пошта для сотень мільйонів користувачів або, з чого починався Google, веб пошук».