Надійність систем (Reliability Engineering)
Базовий курс (Foundation Track) | 5 модулів | ~2.5 години в цілому
Інженерна дисципліна побудови систем, що працюють саме тоді, коли вони потрібні користувачам. Теорія та принципи, які застосовні незалежно від вашого стека технологій.
Чому Reliability Engineering?
Розділ «Чому Reliability Engineering?»Користувачам байдуже до вашої архітектури. Їх цікавить лише одне: чи працює система?
Надійність систем (Reliability Engineering) вчить вас:
- Визначити, що означає «надійність» саме у вашому контексті
- Вимірювати надійність об’єктивно
- Проєктувати систему з урахуванням відмов ще до того, як вони стануться
- Покращувати показники безперервно на основі даних
Це не про надію, що нічого не зламається. Це про інженерію систем, які виживають, коли стаються збої.
Модулі
Розділ «Модулі»| # | Модуль | Час | Опис |
|---|---|---|---|
| 2.1 | Що таке надійність? | 25-30 хв | Визначення, «дев’ятки», MTBF/MTTR, бюджет помилок |
| 2.2 | Режими та наслідки відмов | 30-35 хв | FMEA, поступова деградація (graceful degradation), радіус ураження |
| 2.3 | Надмірність та відмовостійкість | 30-35 хв | HA проти FT, active-active, патерни резервування |
| 2.4 | Вимірювання та покращення надійності | 35-40 хв | Метрики, постмортеми та безперервне вдосконалення |
| 2.5 | SLIs, SLOs та бюджет помилок — Теорія | 20-30 хв | Глибоке занурення в ментальну модель SRE для цілей надійності |
Навчальний шлях
Розділ «Навчальний шлях»ПОЧНІТЬ ТУТ │ ▼┌─────────────────────────────────────┐│ Модуль 2.1 ││ Що таке надійність? ││ └── Визначення та метрики ││ └── «Дев'ятки» ││ └── MTBF, MTTR, бюджети помилок │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 2.2 ││ Режими та наслідки відмов ││ └── Класифікація відмов ││ └── Методика FMEA ││ └── Поступова деградація ││ └── Радіус ураження │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 2.3 ││ Надмірність та відмовостійкість ││ └── HA проти FT ││ └── Active-passive проти active-active││ └── Патерни резервування ││ └── Вартість надмірності │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 2.4 ││ Вимірювання та покращення ││ └── Метрики надійності ││ └── Постмортеми ││ └── Безперервне вдосконалення │└──────────────────┬──────────────────┘ │ ▼┌─────────────────────────────────────┐│ Модуль 2.5 ││ SLIs, SLOs та бюджет помилок ││ └── SLIs проти SLOs проти SLAs ││ └── Бюджети помилок на практиці ││ └── Ментальна модель SRE │└──────────────────┬──────────────────┘ │ ▼ ЗАВЕРШЕНО │ ┌──────────────┼──────────────┐ │ │ │ ▼ ▼ ▼ Теорія Принципи ДисциплінаObservability Security SREКлючові поняття, які ви вивчите
Розділ «Ключові поняття, які ви вивчите»| Поняття | Модуль | Що це означає |
|---|---|---|
| «Дев’ятки» | 2.1 | 99.9% проти 99.99% = десятикратна різниця в допустимому простої |
| MTBF/MTTR | 2.1 | Середній час між відмовами / до відновлення |
| Бюджет помилок (Error Budget) | 2.1, 2.5 | Допустима ненадійність як ресурс для витрачання |
| FMEA | 2.2 | Систематичний метод прогнозування відмов |
| Graceful Degradation | 2.2 | Часткова функціональність краще за повну відмову |
| Радіус ураження (Blast Radius) | 2.2 | Масштаб впливу при виникненні збою |
| Bulkhead Pattern | 2.2, 2.3 | Ізоляція для запобігання каскадним відмовам |
| Висока доступність (High Availability) | 2.3 | Система залишається працездатною з мінімальним простоєм |
| Відмовостійкість (Fault Tolerance) | 2.3 | Система продовжує роботу без жодної перерви |
| SLI/SLO/SLA | 2.5 | Фреймворк Індикатор/Ціль/Угода |
Попередні вимоги
Розділ «Попередні вимоги»- Рекомендовано: Курс системного мислення (Systems Thinking Track)
- Буде корисно: певний досвід експлуатації продуктивних систем
- Буде корисно: розуміння основ розподілених систем
Куди це веде
Розділ «Куди це веде»Після завершення курсу Reliability Engineering ви будете готові до:
| Напрямок | Чому |
|---|---|
| Теорія Observability | Надійність неможливо покращити, не бачачи, що відбувається |
| Дисципліна SRE | Втілення Reliability Engineering в операційну практику |
| Принципи безпеки | Безпека та надійність мають спільні патерни |
| Розподілені системи | Глибоке занурення в 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 (доступно безкоштовно онлайн)
«Надійність — це не додаткова функція. Це те, як ви будуєте систему з самого початку».