[Слёрм] SRE онлайн-интенсив 2020 [Иван Круглов, Павел Селиванов]
200₽
Строить
Сформулируете показатели SLO, SLI, SLA для сайта, состоящего из нескольких
микросервисов, разработаете архитектуру и инфраструктуру, которая их обеспечит,
соберете, протестируете и задеплоите сайт, настроите мониторинг и алертинг.
Ломать
Рассмотрите внутренние и внешние факторы ухудшения SLO: ошибки разработчиков, отказы инфраструктуры, наплыв посетителей, DoS-атаки. Разберетесь в устойчивости, error budget, практике тестирования, управлении прерываниями и операционной
нагрузкой.
Чинить
Организуете работу группы по ликвидации аварии в минимальные сроки: подключение коллег, оповещение интересантов (stakeholders), выстраивание приоритетов. Имитация реальных условий: восстановление работоспособности сервиса в условиях предельно ограниченного времени.
Изучать
Разберете подход к сайту с точки зрения SRE. Проанализируете инциденты (причины возникновения, ход устранения). Примете решение по их дальнейшему предотвращению: улучшить мониторинг, изменить архитектуру, подход к разработке и эксплуатации, регламенты. Автоматизируете процессы.
Требования к участникам:
— Свободное владение Linux;
— Любой язык программирования: уровень Junior;
— GitLab: навыки автоматизации;
— Prometheus: навыки мониторинга;
— Kubernetes: навыки работы в кластере.
Тема №1: Основные принципы и методы SRE
- Что нужно чтобы стать SRE?
- DevOps vs SRE
- Почему разработчики ценят SRE и очень грустят, когда в проекте их нет
- SLI, SLO и SLA
- Error budget и его роль в SRE
Тема №2: Дизайн распределенных систем
- Архитектура и функционал приложения
- Non-Abstract Large System Design
- Operability / Design for failure
- gRPC или REST
- Версионирование и обратная совместимость
Тема №3: Как принимают проект SRE
- Лучшие практики от SRE
- Чек-лист приема проекта
- Логирование, метрики, трейсинг
- Забираем CI/CD в свои руки
Тема №4: Проектирование и запуск распределенной системы
- Обратное проектирование — как работает система?
- Согласовываем SLI и SLO
- Практика capacity planning
- Запуск трафика на приложение, наши пользователи начинают им «пользоваться»
- Запускаем Prometheus, Grafana, Elastic
Тема №5: Monitoring, Observability and Alerting
- Monitoring vs. Observability
- Настраиваем мониторинг и алертинг с Prometheus
- Практический мониторинг SLI и SLO
- Symptoms vs. Causes
- Black-Box vs. White-Box Monitoring
- Распределенный мониторинг доступности приложений и серверов
- 4 золотых сигнала (обнаружение аномалий)
Тема №6: Практика тестирования надежности систем
- Работа под давлением
- Failure-injection
- Chaos Monkey
Тема №7: Практика incident response
- Алгоритм управления стрессом
- Взаимодействие между участниками инцидента
- Постмортем
- Knowledge sharing
- Формирование культуры
- Контроль неисправностей
- Проведение blameless разбора полетов
Тема №8: Практика управления нагрузкой
- Балансировка нагрузки
- Отказоустойчивость приложений: retry, timeout, failure injection, circuit breaker
- DDoS (создаем нагрузку) + Cascading Failures
Тема №9: Реагирование на инциденты
- Разбор полетов
- Практика On-Call
- Различные типы аварий (тестирование, изменение конфигурации, сбой оборудования)
- Протоколы управления инцидентами
Тема №10: Диагностика и решение проблем
- Журналирование
- Отладка
- Практика анализа и отладки на нашем приложении
Тема №11: Тестирование надежности систем
- Нагрузочное тестирование
- Тестирование конфигураций
- Тестирование производительности
- Canary release
Тема №12: Самостоятельная работа и ревью
- Реальные кейсы
- Проверка спикерами