ДЕНЬ 1: установочная AMA-сессия
Обсудим цели и задачи курса, а также расскажем что такое SRE, распределим на команды.
Открытие 2 теоретических тем:
Тема 1: Мониторинг
- Зачем нужен мониторинг
- Перцентили
- Alerting
- Observability
Тема 2: Теория SRE
- SLO, SLI, SLA
- Durability
- Error budget
ДЕНЬ 2: разбор практик и кейсов
Практика: Делаем базовый дашборд и настраиваем необходимые алерты
Практика: Добавляем на дашборд SLO/SLI + алерты
Практика: Первая нагрузка системы
Решение 1 кейса: зависимость downstream.
В большой системе существует много взаимозависимых сервисов, и не всегда они работают одинаково хорошо. Особенно обидно, когда с вашим сервисом порядок, а соседний, от которого вы зависите, периодически уходит в down.
Учебный проект окажется именно в таких условиях, а вы сделаете так, чтобы он все равно выдавал качество на максимально возможном уровне.
ДЕНЬ 3: AMA-сессия, ответы на вопросы
Открывается доступ к 2-му теоретическому модулю:
Решение проблем с окружением и архитектурой
Второй модуль построен вокруг решения двух кейсов: зависимость upstream и проблемы с архитектурой. Спикеры расскажут про управление инцидентами, правила для пожарной команды и работу с постмортерами (post mortem) и дадут шаблоны, которые вы сможете использовать в своей команде.
Тема 3: Управление инцидентами
- Resiliencе Engineering
- Как выстраивается пожарная бригада
- Насколько ваша команда эффективна в инциденте
- 7 правил для лидера инцидента
- 5 правил для пожарного
- HiPPO — highest paid person's opinion. Communications Leader
Тема 4: Инструменты варрума и алерт менеджмента.
Вest practiсe других компаний в организации инцидент-менеджмента.
ДЕНЬ 4: разбор практик и кейсов
Решение 2 кейса: зависимость upstream.
Одно дело, когда вы зависите от сервиса с низким SLO. Другое дело, когда ваш сервис является таковым для других частей системы. Так бывает, если критерии оценки не согласованы: например, вы отвечаете на запрос в течение секунды и считаете это успехом, а зависимый сервис ждёт всего 500 мск и уходит с ошибкой.
В кейсе обсудим важность согласования метрик и научимся смотреть на качество глазами клиента.
Решение 3 кейса: проблемы с базой данных.
База данных тоже может быть источником проблем. Например, если не следить за replication relay, то реплика устареет и приложение будет отдавать старые данные. Причём дебажить такие случаи особенно сложно: сейчас данные рассогласованы, а через несколько секунд уже нет, и в чём причина проблемы — непонятно.
Через кейс вы прочувствуете всю боль дебага и узнаете, как предотвращать подобные проблемы.
Практика: Пишем постмортем по предыдущему кейсу и разбираем его со спикерами.
ДЕНЬ 5: AMA-сессия, ответы на вопросы
AMA-сессия и ответы на вопросы по предыдущим темам.
Открывается доступ к 3-му теоретическому модулю:
Traffic shielding и канареечные релизы
В третьем модуле мы разберем кейс, посвященный проблеме с окружением (здесь будет подробный разбор Health Checking), а также поэтапно разберем, как внедрять SRE в компании и узнаем опыт компаний, в которых работают спикеры интенсива.
Тема 5: Health Checking
- Health Check в Kubernetes
- Жив ли наш сервис?
- Exec probes
- InitialDelaySeconds
- Secondary Health Port
- Sidecar Health Server
- Headless Probe
- Hardware Probe
Тема 6: Способы деплоймента
Тема 7: SRE онбординг проекта
В крупных компаниях нередко формируют отдельную команду SRE, которая берёт на поддержку сервисы других отделов. Но не каждый сервис готов к тому, чтобы его можно было взять на поддержку. Расскажем, каким требованиям он должен отвечать. А также спикеры поделяться опытом, как у них проходило внедрение SRE и на какие грабли они наступали.
ДЕНЬ 6: разбор практик и кейсов
Решение 4 кейса: проблема с окружением, билеты купить невозможно.
Задача Healthcheck — обнаружить неработающий сервис и заблокировать трафик к нему. И если вы думаете, что для этого достаточно сделать рутом запрос к сервису и получить ответ, то вы ошибаетесь: даже если сервис ответит, это не гарантирует его работоспособность — проблемы могут быть в окружении.
Через этот кейс вы научитесь настраивать корректный Healthcheck и не пускать трафик туда, где он не может быть обработан.
Подведение итогов