Перейти до вмісту

Site Reliability Engineering (SRE)

Прикладна дисципліна | 7 модулів | ~4 години загалом

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


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

SRE вирішує це протиріччя через:

  • Вимірювану надійність — SLO замінюють розпливчасте “зробіть це надійним” конкретними цілями
  • Бюджети помилок — розрахований ризик замість безрозсудних релізів або надмірної обережності
  • Інженерне мислення — автоматизація рутинної роботи (toil) замість її виконання вручну
  • Культура навчання — безобвинувальні постмортеми перетворюють невдачі на покращення

SRE — це не просто нова назва для операцій. Це фундаментально інший підхід до експлуатації систем у продакшні.


#МодульЧасОпис
1.1Що таке SRE?30-35 хвПоходження, мислення, структури команд, SRE vs DevOps
1.2Цілі рівня обслуговування (SLO)35-40 хвІєрархія SLI, SLO, SLA, вибір та вимірювання
1.3Бюджети помилок30-35 хвРозрахунок бюджету, політики, балансування швидкості
1.4Рутинна робота та автоматизація30-35 хвІдентифікація рутини (toil), правило 50%, стратегії автоматизації
1.5Управління інцидентами35-40 хвРолі реагування, критичність, чергування, ранбуки
1.6Постмортеми та навчання30-35 хвБезобвинувальна культура, структура постмортему, action items
1.7Планування ємності35-40 хвПрогнозування, підготовка ресурсів, навантажувальне тестування

ПОЧНІТЬ ТУТ
┌─────────────────────────────────────┐
│ Модуль 1.1 │
│ Що таке SRE? │
│ └── Походження та мислення SRE │
│ └── SRE vs DevOps vs Platform │
│ └── Структури команд │
│ └── Правило 50% │
└──────────────────┬──────────────────┘
┌─────────────────────────────────────┐
│ Модуль 1.2 │
│ Цілі рівня обслуговування (SLO) │
│ └── Ієрархія SLI, SLO, SLA │
│ └── Вибір хороших SLI │
│ └── Встановлення реалістичних SLO │
│ └── Алертинг на основі SLO │
└──────────────────┬──────────────────┘
┌─────────────────────────────────────┐
│ Модуль 1.3 │
│ Бюджети помилок │
│ └── Розрахунок бюджету │
│ └── Політики бюджетів помилок │
│ └── Баланс надійність/швидкість │
│ └── Коли витрачати, а коли економити│
└──────────────────┬──────────────────┘
┌─────────────────────────────────────┐
│ Модуль 1.4 │
│ Рутинна робота та автоматизація │
│ └── Визначення та вимірювання toil │
│ └── Правило 50% на практиці │
│ └── Ієрархія автоматизації │
│ └── Пріоритезація на основі ROI │
└──────────────────┬──────────────────┘
┌─────────────────────────────────────┐
│ Модуль 1.5 │
│ Управління інцидентами │
│ └── Ролі реагування (IC, Comms) │
│ └── Рівні критичності │
│ └── Найкращі практики чергувань │
│ └── Ранбуки та плейбуки │
└──────────────────┬──────────────────┘
┌─────────────────────────────────────┐
│ Модуль 1.6 │
│ Постмортеми та навчання │
│ └── Безобвинувальна культура │
│ └── "Друга історія" │
│ └── Ефективні action items │
│ └── Поширення знань │
└──────────────────┬──────────────────┘
┌─────────────────────────────────────┐
│ Модуль 1.7 │
│ Планування ємності │
│ └── Прогнозування попиту │
│ └── Стратегії підготовки ресурсів │
│ └── Навантажувальне тестування │
│ └── Оптимізація витрат │
└──────────────────┬──────────────────┘
SRE ЗАВЕРШЕНО
┌──────────────┼──────────────┐
│ │ │
▼ ▼ ▼
Platform GitOps Набір інструментів
Engineering Дисципліна спостережуваності

КонцепціяМодульЩо це означає
SLI1.2Service Level Indicator — що ви вимірюєте
SLO1.2Service Level Objective — ваша ціль
SLA1.2Service Level Agreement — зовнішня обіцянка
Бюджет помилок1.3Дозволена ненадійність (1 - SLO)
Toil (Рутина)1.4Повторювана робота, яку можна автоматизувати
Правило 50%1.1, 1.4Обмеження рутини до 50% для захисту часу на інженерію
Incident Commander1.5Людина, що координує реагування на інцидент
Безобвинувальний постмортем1.6Навчання на помилках без пошуку винних
Burn Rate1.2, 1.3Швидкість витрачання бюджету помилок
Headroom1.7Запас ємності для стрибків трафіку


Після завершення дисципліни SRE ви готові до:

ТрекЧому
Platform EngineeringПобудова платформ з використанням принципів SRE
GitOps ДисциплінаДекларативні інфраструктурні операції
IaC ДисциплінаInfrastructure as Code для надійної підготовки ресурсів
Інструменти спостережуваностіВпровадження Prometheus, Grafana, OpenTelemetry
Інструменти IaCTerraform, OpenTofu, Pulumi для автоматизації
CKA СертифікаціяЗастосування SRE до адміністрування Kubernetes

Книги (на які є посилання):

  • “Site Reliability Engineering” — Google (безкоштовно онлайн, оригінальна книга SRE)
  • “The Site Reliability Workbook” — Google (практичний посібник)
  • “Implementing Service Level Objectives” — Alex Hidalgo

Статті:

  • “What is SRE?” — Google Cloud
  • “SRE vs DevOps” — Atlassian

Питання для роздумівЧому це важливо
”Який наш SLO?”Неможливо покращити те, що ви не вимірюєте
”Скільки у нас бюджету помилок?”Знати, коли релізити, а коли стабілізувати
”Чи є ця робота рутиною (toil)?”Автоматизуйте, якщо так, захищайте час інженерів
”Що запобігло б цьому інциденту?”Виправлення систем, а не людська пильність
”Хто сьогодні IC?”Чіткі ролі в хаосі
”Чи витримаємо ми 2x трафік?”Плануйте до того, як це знадобиться

Дисципліна завершена

Розділ «Дисципліна завершена»

Після цих 7 модулів ви можете:

  • Визначати та вимірювати надійність за допомогою SLO
  • Балансувати надійність та швидкість за допомогою бюджетів помилок
  • Систематично ідентифікувати та усувати рутинну роботу (toil)
  • Реагувати на інциденти за допомогою чітких ролей та процесів
  • Навчатися на помилках через безобвинувальні постмортеми
  • Планувати майбутню ємність та зростання

Тепер ви готові практикувати SRE, а не просто читати про це.


“Надія — це не стратегія.” — Традиційне прислів’я SRE