К основному содержимому
все выпуски
Research Insights Made Simple · выпуск 25

Моделируем надёжность по графу зависимостей

58:07
TelegramLinkedIn
Содержание

Что обсудили голосом

Александр Поломодов и Анатолий Красновский показывают, как превратить трассы в исполняемую модель надёжности. Jaeger даёт наблюдаемые блокирующие вызовы, deployment — число экземпляров, профиль нагрузки — веса операций. Версионируемый граф с provenance можно пересобирать и использовать как дешёвый фильтр перед chaos engineering.

Monte Carlo выбирает долю отказавших контейнеров и проверяет обязательный путь каждого endpoint. В DeathStarBench модель и стенд дали 0,3054 при доле отказов 0,3 и корреляцию около 0,992 по десяти точкам. Семантика ребра критична: необязательный или асинхронный вызов нельзя считать блокирующим.

Это ранжирует риск, но не предсказывает точную доступность. Модель предполагает fail-stop, независимые отказы и статическую топологию; она не видит retries, задержки, backpressure, shared placement, общий control plane и хранилище. Поэтому ошибка меняется вместе с нагрузкой и каскадами.

OpenTelemetry Demo добавляет граф из отдельных трасс и Kafka-ветку, обязательность которой определяет SLO. Procrustes проверяет артефакты, Bering строит граф, Sheaft симулирует сценарии. Начинать стоит с одной критичной операции: задать SLO, выбрать три риска и подтвердить один fault injection, прежде чем делать release gate.

SRE / надёжностьPlatform engineeringМетодология исследований