1 день (вторник) 19:00 мск, установочная AMA-сессия
Обсудим цели и задачи курса, а также расскажем что такое SRE, распределим на команды.
Открытие 2 теоретических тем:
Тема 1: Мониторинг
Зачем нужен мониторинг
Перцентили
Alerting
Observability
Тема 2: Теория SRE
SLO, SLI, SLA
Durability
Error budget
2 день (суббота) 10:00 - 16:00 мск, разбор практик и кейсов*
Практика: Делаем базовый дашборд и настраиваем необходимые алерты
Практика: Добавляем на дашборд SLO/SLI + алерты
Практика: Первая нагрузка системы
Решение 1 кейса: зависимость downstream.
В большой системе существует много взаимозависимых сервисов, и не всегда они работают одинаково хорошо. Особенно обидно, когда с вашим сервисом порядок, а соседний, от которого вы зависите, периодически уходит в down.
Учебный проект окажется именно в таких условиях, а вы сделаете так, чтобы он все равно выдавал качество на максимально возможном уровне.
3 день (вторник) 19:00 мск, AMA-сессия, ответы на вопросы
AMA-сессия и ответы на вопросы
Открывается доступ к 2-му теоретическому модулю:
Решение проблем с окружением и архитектурой
Второй модуль построен вокруг решения двух кейсов: зависимость upstream и проблемы с архитектурой. Спикеры расскажут про управление инцидентами, правила для пожарной команды и работу с постмортерами (post mortem) и дадут шаблоны, которые вы сможете использовать в своей команде.
Тема 3: Управление инцидентами
Resiliencе Engineering
Как выстраивается пожарная бригада
Насколько ваша команда эффективна в инциденте
7 правил для лидера инцидента
5 правил для пожарного
HiPPO — highest paid person's opinion. Communications Leader
Тема 4: Инструменты варрума и алерт менеджмента.
Вest practiсe других компаний в организации инцидент-менеджмента.
4 день (суббота) 10:00 - 17:00 мск, разбор практик и кейсов
Решение 2 кейса: зависимость upstream.
Одно дело, когда вы зависите от сервиса с низким SLO. Другое дело, когда ваш сервис является таковым для других частей системы. Так бывает, если критерии оценки не согласованы: например, вы отвечаете на запрос в течение секунды и считаете это успехом, а зависимый сервис ждёт всего 500 мск и уходит с ошибкой.
В кейсе обсудим важность согласования метрик и научимся смотреть на качество глазами клиента.
Решение 3 кейса: проблемы с базой данных.
База данных тоже может быть источником проблем. Например, если не следить за replication relay, то реплика устареет и приложение будет отдавать старые данные. Причём дебажить такие случаи особенно сложно: сейчас данные рассогласованы, а через несколько секунд уже нет, и в чём причина проблемы — непонятно.
Через кейс вы прочувствуете всю боль дебага и узнаете, как предотвращать подобные проблемы.
Практика работы с постмортемами
Практика: Пишем постмортем по предыдущему кейсу и разбираем его со спикерами.
5 день (вторник) 19:00 мск, AMA-сессия, ответы на вопросы
AMA-сессия и ответы на вопросы по предыдущим темам.
Открывается доступ к 3-му теоретическому модулю:
Traffic shielding и канареечные релизы
В третьем модуле мы разберем кейс, посвященный проблеме с окружением, а также поэтапно разберем, как внедрять 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 день (суббота) 10:00 - 16:00 мск, разбор практик и кейсов
Решение 4 кейса: проблема с окружением, билеты купить невозможно.
Задача Healthcheck — обнаружить неработающий сервис и заблокировать трафик к нему. И если вы думаете, что для этого достаточно сделать рутом запрос к сервису и получить ответ, то вы ошибаетесь: даже если сервис ответит, это не гарантирует его работоспособность — проблемы могут быть в окружении.
Через этот кейс вы научитесь настраивать корректный Healthcheck и не пускать трафик туда, где он не может быть обработан.
Подведение итогов