Надійність інженерних систем
Базовий трек | 4 модулі | ~2 години загалом
Інженерна дисципліна побудови систем, які працюють тоді, коли вони потрібні користувачам. Теорія та принципи, що застосовуються незалежно від вашого технологічного стека.
Чому надійність інженерних систем?
Розділ «Чому надійність інженерних систем?»Користувачам байдуже до вашої архітектури. Їх цікавить одне: чи вона працює?
Надійність інженерії вчить вас:
- Визначати, що означає “надійна” для вашого контексту
- Вимірювати надійність об’єктивно
- Проєктувати з урахуванням відмов ще до того, як вони стануться
- Безперервно вдосконалюватися через рішення, засновані на даних
Це не про надію, що нічого не зламається. Це про проєктування систем, які виживають, коли це стається.
Модулі
Розділ «Модулі»| # | Модуль | Час | Опис |
|---|---|---|---|
| 2.1 | Що таке надійність? | 25-30 хв | Визначення, “дев’ятки”, MTBF/MTTR, бюджети помилок |
| 2.2 | Режими та наслідки відмов | 30-35 хв | FMEA, деградація функціоналу, радіус ураження |
| 2.3 | Надмірність та відмовостійкість | 30-35 хв | HA vs FT, active-active, патерни надмірності |
| 2.4 | Вимірювання та покращення надійності | 35-40 хв | SLI, SLO, бюджети помилок, безперервне вдосконалення |
| 2.5 | SLO, SLI та бюджети помилок | 20-30 хв | Глибоке занурення в ментальну модель SRE для цілей надійності |
Шлях навчання
Розділ «Шлях навчання»ПОЧНІТЬ ТУТ │ ▼┌─────────────────────────────────────┐│ Модуль 2.1 ││ Що таке надійність? ││ └── Визначення та метрики ││ └── "Дев'ятки" ││ └── MTBF, MTTR, бюджети помилок │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 2.2 ││ Режими та наслідки відмов ││ └── Таксономія відмов ││ └── Техніка FMEA ││ └── Деградація функціоналу ││ └── Радіус ураження │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 2.3 ││ Надмірність та відмовостійкість ││ └── HA vs FT ││ └── Active-passive vs active-active││ └── Патерни надмірності ││ └── Вартість надмірності │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 2.4 ││ Вимірювання та покращення ││ └── SLIs, SLOs, SLAs ││ └── Бюджети помилок на практиці ││ └── Постмортеми ││ └── Безперервне вдосконалення │└──────────────────┬──────────────────┘ │ ▼ ЗАВЕРШЕНО │ ┌──────────────┼──────────────┐ │ │ │ ▼ ▼ ▼Теорія спосте- Принципи SREрежуваності безпеки ДисциплінаКлючові концепції
Розділ «Ключові концепції»| Концепція | Модуль | Що це означає |
|---|---|---|
| ”Дев’ятки” | 2.1 | 99.9% vs 99.99% = 10-кратна різниця в дозволеному простої |
| MTBF/MTTR | 2.1 | Середній час між відмовами / до відновлення |
| Бюджет помилок | 2.1, 2.4 | Прийнятна ненадійність як ресурс для витрачання |
| FMEA | 2.2 | Систематична техніка прогнозування відмов |
| Graceful Degradation | 2.2 | Часткова функціональність краще за повний збій |
| Радіус ураження | 2.2 | Масштаб впливу, коли щось виходить з ладу |
| Bulkhead Pattern | 2.2, 2.3 | Ізоляція для запобігання каскадним збоям |
| High Availability | 2.3 | Система залишається працездатною з мінімальним простоєм |
| Fault Tolerance | 2.3 | Система продовжує працювати без жодних переривань |
| SLI/SLO/SLA | 2.4 | Фреймворк Індикатор/Ціль/Угода |
Передумови
Розділ «Передумови»- Рекомендовано: Трек системного мислення
- Корисно: деякий досвід експлуатації продакшн-систем
- Корисно: розуміння основ розподілених систем
Куди це веде
Розділ «Куди це веде»Після завершення надійності інженерних систем ви готові до:
| Трек | Чому |
|---|---|
| Теорія спостережуваності | Неможливо покращити надійність, не бачачи, що відбувається |
| SRE Дисципліна | Впровадження надійності в операційну практику SRE |
| Принципи безпеки | Безпека та надійність мають спільні патерни |
| Розподілені системи | Глибоке занурення в CAP, консенсус та розподілені патерни |
Ключові ресурси
Розділ «Ключові ресурси»Книги, на які посилається цей трек:
- “Site Reliability Engineering” — Google
- “Release It! Second Edition” — Michael Nygard
- “Designing Data-Intensive Applications” — Martin Kleppmann
- “Implementing Service Level Objectives” — Alex Hidalgo
Статті:
- “How Complex Systems Fail” — Richard Cook (безкоштовно онлайн)
“Надійність — це не функція, яку ви додаєте. Це те, як ви будуєте систему з самого початку.”