К основному содержимому
Стопка камней как метафора надежности и баланса системыЛоготип конференции Стачка 2023
Стачка · Нижний Новгород · 15 сентября 2023

Проектируем надежные системы — стоит ли игра свеч

Риски, SLO, мониторинг и паттерны отказоустойчивости

/ Designing Reliable Systems · Stachka 2023

Содержание слайдов

  1. 1. Проектируем надежные системы — стоит ли игра свеч

    Риски, SLO, мониторинг и паттерны отказоустойчивости

  2. 2. О чём будет этот доклад

    От риска к отказоустойчивости

    Почему надежность забывают

    Как выбрать риск: SLI/SLO/SLA

    Мониторинг: Golden Signals, RED, USE

    Архитектура: domains, DR, resilience

  3. 3. 01. Почему о надежности часто забывают?

    Проблема

  4. 4. Invisibility, Assessment, Evolution

    Незаметна в норме, дорога при сбое

    Invisibility — видны сбои, не стабильность

    Assessment — нет формулы «достаточно»

    Evolution — вчерашнее ломается завтра

    Баланс: надежность vs сбой

  5. 5. 02. Как выбрать приемлемый уровень риска?

    SLI · SLO · SLA

  6. 6. Три уровня критичности

    Критичность задаёт SLO

    Business Critical — простой = прямые потери

    Line of Business — есть workaround

    Best Effort — допустима деградация

    Типу соответствует SLO и бюджет

  7. 7. SLI → SLO → SLA

    Метрика/цель/контракт

    SLI — latency p99, errors, availability

    SLO — внутренняя цель надежности

    SLA — внешний контракт и последствия

    Error Budget — лимит риска релизов

  8. 8. 03. Мониторинг

    Golden Signals · RED · USE

  9. 9. Four Golden Signals

    Минимальный набор метрик SRE

    Latency — время ответа

    Traffic — объём нагрузки

    Errors — явные и неявные сбои

    Saturation — загрузка ресурсов

  10. 10. RED и USE методы

    Сервисы и ресурсы требуют разных линз

    RED — rate, errors, duration

    USE — utilization, saturation, errors

    RED показывает пользовательский опыт

    USE показывает состояние ресурсов

  11. 11. 04. Концепции надежности

    Domains · Data · DR

  12. 12. Fault Domains и Update Domains

    Разделяйте сбои и обновления

    Fault Domain — общий отказ

    Update Domain — общий rollout

    Пересечение = максимальный риск

    Blast radius — зона поражения

  13. 13. Data Durability и Data Consistency

    Данные: не потерять и согласовать

    Durability — репликация, бэкапы, WAL

    Consistency — strong vs eventual

    CAP: partition заставляет выбирать

    Практика: AP + idempotency

  14. 14. RPO и RTO

    Планирование disaster recovery

    RPO — допустимая потеря данных

    RTO — целевое время восстановления

    Нули требуют sync + active-active

    Ниже цели — выше стоимость

  15. 15. 05. Как проектировать надежные приложения?

    Паттерны

  16. 16. Паттерны отказоустойчивости

    Базовая защита от сбоев зависимостей

    Retry — backoff + jitter

    Circuit Breaker — остановка каскада

    Bulkhead — изоляция пулов

    Timeout + Резервный сценарий — деградация

  17. 17. Deployment Archetypes

    Отказоустойчивость через модель деплоя

    Active-Passive — горячий резерв

    Active-Active — оба ДЦ активны

    N+1 — один запасной узел

    Выбор = RPO/RTO и бюджет

  18. 18. Надежность — это инвестиция

    Ключевые выводы из доклада

    Risk first: тип + SLO

    Monitoring: поток и blast radius

    Patterns: retry, breaker, bulkhead

    Окупается, когда сбой дороже

  19. 19. Ссылки и материалы

    SRE, SLO, observability, resilience

    Google SRE Book: sre.google/books/

    Release It! — Michael Nygard

    AWS Reliability Pillar

    USE / RED / Golden Signals

  20. 20. Спасибо!

    polomodov.tech

    Все слайды и ссылки — в Telegram-канале

    Александр Поломодов, Технический директор и Fellow, Т-Технологии

    @ai4sdlc