ОПИСАНИЕ:
Вы погрузитесь в теорию и практику SRE: будете поддерживать сайт, состоящий из нескольких микросервисов.
Научитесь правильно распределять ограниченные ресурсы для обеспечения быстродействия, отказоустойчивости и доступности сайта для максимальной надежности, достаточной, чтобы были довольны пользователи.
НА ИНТЕНСИВЕ ВЫ БУДЕТЕ::
Сформулируете показатели SLO, SLI, SLA для сайта, состоящего из нескольких микросервисов, разработаете архитектуру и инфраструктуру, которая их обеспечит, соберете, протестируете и задеплоите сайт, настроите мониторинг и алертинг.
Рассмотрите внутренние и внешние факторы ухудшения SLO: ошибки разработчиков, отказы инфраструктуры, наплыв посетителей, DDoS-атаки. Разберетесь в устойчивости, error budget, практике тестирования, управлении прерываниями и операционной
нагрузкой.
Поймете как организовать работу группы по ликвидации аварии в минимальные сроки: подключение коллег, оповещение интересантов (stakeholders), выстраивание приоритетов. Попробуете на практике восстановить работоспособность сервиса в условиях предельно ограниченного времени.
Разберете подход к сайту с точки зрения SRE. Проанализируете инциденты (причины возникновения, ход устранения). Примете решение по их дальнейшему предотвращению: улучшить мониторинг, изменить архитектуру, подход к разработке и эксплуатации, регламенты. Автоматизируете процессы.
ПРАКТИКА ИНТЕНСИВА:
- Теория и практика применения SLI/SLO/error budget
— формулирование показателей;
— когда «право на ошибку» исчерпано.
- Практика проведения разбора полетов (post-mortem)
— ключевые вопросы, на которые стоит ответить;
— разбор инцидента без поиска виноватых (blameless-практики);
— выявление паттернов аварийных сценариев.
- Практика эффективной ликвидации IT-инцидентов
— алгоритм управления стрессом;
— взаимодействие между участниками инцидента;
— подход к коммуникации с пользователями, руководством, маркетингом и коллегами.
- Практика построения надежных систем:
— мониторинг и алертинг;
— выбор надежной архитектуры и коммуникаций;
— graceful degradation, failure-injection, capacity planning;
— как справляться с перегрузками и предотвращать cascading failures.
ТРЕБОВАНИЯ К УЧАСТНИКАМ:
- Свободное владение Linux;
- Любой язык программирования: уровень Junior;
- GitLab: навыки автоматизации;
- Prometheus: навыки мониторинга;
- Kubernetes: навыки работы в кластере.
Для обучения необходимы:
- – SSH-клиент,
- – наличие Docker у себя локально,
- – текстовый редактор/IDE.
ПРОГРАММА SRE:
Тема №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-
- Различные типы аварий (тестирование, изменение конфигурации, сбой оборудования)
- Протоколы управления инцидентами
Тема №10: Диагностика и решение проблем
- Журналирование
- Отладка
- Практика анализа и отладки на нашем приложении
Тема №11: Тестирование надежности систем
- Нагрузочное тестирование
- Тестирование конфигураций
- Тестирование производительности
- Canary release
View Comments
И где пароль от курса? Файл запаролен.
Вы когда курс качаете, смотрите хотя бы, что на на кнопке написано.