Для CTO, CIO, DevOps, SRE и эксплуатации в целом
Всем привет!
Если Вы продаете товары или оказываете какие-то услуги, то скорее всего ваши маркетологи уже придумали чем заманить пользователей в черную пятницу. Как пережить всплеск нагрузок без даунтайма я Вам без понимания вашего прода не расскажу, а вот ключевые моменты в виде чеклиста подсветить - это пожалуйста:
Если что-то пойдет не так - Вы должны узнать об этом сразу
У Вас есть мониторинг инфраструктурного, сервисного и бизнес уровней
Если какой-то сервер/кластер/нода будут перегружены и начнут отвечать медленно Вы увидите этот факт в мониторинге
Есть метрика количества ошибок, которые получают пользователи
Есть метрика, показывающая количество успешных заказов/транзакций/оплат или других ключевых бизнес действий
На основных метриках стоят алерты, поэтому если что-то пойдет не так, Вы узнаете о проблемах от системы мониторинга, а не от своих пользователей
Вы знаете запас своего прода по нагрузке
Вы обсудили с маркетингом ожидания по увеличению нагрузки (+10%, +50%, х2, х3, х10) к обычному дневному трафику
Пересчитали общий ожидаемый трафик к пиковому
Сделали нагрузочное тестирование, которое показало, что прод переварит рассчитанный пиковый трафик с достаточным запасом
В случае если трафика придет больше (а это всегда приятная проблема) и система не будет его выдерживать, есть пошаговый план отсечения пользователей для того, что бы какая-то их часть смогла воспользоваться системой, этот план проверен и согласован с бизнесом
Дополнительные глаза и руки
Все люди в командах эксплуатации и разработки осведомлены о днях и времени, когда на проде ожидаются повышенные нагрузки
Вы поставили дополнительных дежурных на дни пикового трафика
Ключевые сотрудники не в отпуске и предупреждены о необходимости в вышеуказанные даты иметь возможность быстро подключиться для решения экстренных задач, даже если это выходной день
Команда знает точный адрес звонка, где нужно будет собраться, если что-то пойдет не так
Если что-то пойдет не так
Дежурные первой линии поддержки или команды мониторинга способны быстро (в течении пары минут) определить степень влияния инцидента на конечных пользователей
У дежурных есть понятный лист эскалации, в котором прописан план эскалации в зависимости от степени влияния на пользователей, а также телефоны ответственных по каждому компоненту
За каждым компонентом на время повышения трафика закреплен ответственный человек, который выполнит его глубокую проверку в случае общего сбоя
Есть архитектурная карта компонентов и их зависимостей, в карте прописаны внешние сервисы, которые используются системой, даже если они не участвуют в обработке пользовательского трафика. Людям на инциденте не нужно будет натужно вспоминать какие компоненты на что влияют
Чтобы уменьшить вероятность инцидентов на время пиковых нагрузов вы ввели код и инфра фриз
Быструю памятку вы найдете на картинке ниже
Пересылайте чеклист коллегам, пишите нам в Downtime Bar о том чего в нем не хватает и как лично Вы готовите прод к черной пятнице. Всем спокойных дежурств и хороших выходных!
