Что такое SLO для данных: как определить приемлемую надёжность, выбрать измерение и договориться о действиях при нарушениях. Простой пример.
Надёжно — это насколько
Бизнес просит, чтобы отчёт всегда был правильным и готовым вовремя. Команда данных согласна, но без конкретных условий стороны могут понимать эти слова по-разному. Для ежедневного планирования задержка на час неприятна, а для ежемесячного обзора она может ничего не изменить. Надёжность нужно связать с решением, которое принимают по данным.
SLO — целевой уровень сервиса. Это согласованная цель, по которой оценивают работу системы за выбранный период. В применении к данным она может описывать своевременность подготовки набора или долю обработанных событий. Такая цель помогает обсуждать конкретный результат вместо общего требования «чтобы не ломалось».
Разделите показатель и цель
Показатель отвечает на вопрос, что мы измеряем. Цель — какое значение хотим поддерживать. Например, показатель описывает долю утренних отчётов, готовых к согласованному времени, а цель задаёт допустимую долю опозданий за месяц. Без периода измерения число почти ничего не говорит.
В руководстве Google SRE подчёркивается связь целей надёжности с пользовательским опытом и решениями о приоритетах работы. При этом внутренняя инженерная цель не равна автоматически договорному обязательству со штрафами. Условия соглашений с заказчиком обсуждаются отдельно.
Условный пример с двадцатью отчётами
Представим, что за выбранный период должно выйти двадцать рабочих утренних отчётов. Команда договорилась считать успешным выпуск, который к 9:00 доступен пользователям и прошёл согласованные проверки. Девятнадцать успешных выпусков из двадцати дают 95 процентов. Значит, при такой цели один неуспешный выпуск укладывается в допустимую долю, два — уже нет.
Это только пример арифметики, а не рекомендация принять 95 процентов для любого бизнеса. Для решения о закупке на крупную сумму даже одно опоздание может быть неприемлемым. Чем меньше наблюдений в периоде, тем сильнее отдельный случай меняет показатель. Слишком короткое окно может давать нестабильную картину.
Не объединяйте все проблемы в одну цифру
Отчёт может открываться вовремя, но не содержать часть продаж. Поэтому доступность страницы ещё не означает пригодность данных. В материале Google о потоках обработки отдельно рассматриваются свежесть, охват и корректность. Для конкретной задачи нужно выбрать измерения, которые действительно замечают важные пользователю нарушения.
Начните с небольшого числа понятных критериев. Например, проверяйте своевременность и наличие данных всех обязательных подразделений. Затем объясните ограничения: автоматическая проверка может подтвердить структуру и полноту, но не доказать истинность каждого исходного события. Не называйте такой контроль абсолютной гарантией правильности.
Что делать с допустимыми нарушениями
Допустимая доля сбоев — не разрешение игнорировать проблемы. Она помогает заранее договориться о реакции. Пока цель выполняется, команда может развивать систему обычным темпом. Если нарушения исчерпали запас, полезно пересмотреть приоритеты и выделить время на устранение повторяющейся причины.
Для нашего условного отчёта команда может договориться уведомлять потребителей при каждом опоздании, даже если месячная цель пока соблюдается. После повторных случаев — провести разбор сбоя данных. Конкретные действия определяют заранее, иначе показатель останется украшением панели.
С чего начать обсуждение
Запишите потребителя отчёта, время принятия решения, критерий успешного выпуска, период измерения и ответственного за реакцию. Уточните, включаются ли выходные и запланированные остановки. Исключения должны быть прозрачными: нельзя каждый неудобный случай задним числом объявлять несущественным.
Проверьте, откуда берётся само измерение. Время завершения загрузки не всегда совпадает с моментом готовности результата для пользователя; об этом подробнее в статье про свежесть отчёта. Первую цель разумно проверить на реальных наблюдениях, обсудить с потребителями и затем пересматривать при изменении задачи.
Что изучить дальше
Продолжить обучение можно по программе DataOPS инженер. Сопоставьте её содержание со своей задачей и текущей подготовкой.


