На курсе вы будете:
Строить
Сформулируете показатели 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: Самостоятельная работа и ревью
Реальные кейсы
Проверка спикерами
Для просмотра содержимого вам необходимо авторизоваться
Для просмотра содержимого вам необходимо авторизоваться
Симпатии:
Это понравилось max_k