SLA, SLO, SLI, error budget: как говорить о надёжности

Тема дорожной карты · Английский для IT

🔊 Словарь терминов с произношением →

Три аббревиатуры описывают надёжность с разных сторон, и путать их на собеседовании или в переговорах с заказчиком дорого. SLI (service level indicator) — измеряемый показатель качества: доля успешных запросов, задержка p99, доступность за месяц; это число, которое можно снять с графика. SLO (service level objective) — цель по этому показателю, внутреннее обязательство команды: 99.9 percent of requests succeed over a 30-day window, p99 latency under 300 ms. SLA (service level agreement) — договор с заказчиком с последствиями за нарушение: обычно мягче SLO и содержит penalties или credits. Иерархия: SLI измеряет, SLO обещает себе, SLA обещает клиенту. Error budget — бюджет ошибок: разница между 100 процентами и SLO, то есть допустимый объём ненадёжности за период; при SLO 99.9 процента в месяц бюджет составляет около 43 минут простоя; to burn the error budget — расходовать, burn rate — скорость расходования, error budget policy — что делать при исчерпании (обычно заморозка релизов). Nines — «девятки»: two nines — 99 процентов (около 7 часов простоя в месяц), three nines — 99.9 (43 минуты), four nines — 99.99 (4 минуты), five nines — 99.999 (26 секунд); фраза we're at three and a half nines означает 99.95. Availability — доступность, uptime — время работы, downtime, reliability — надёжность, durability — сохранность данных (eleven nines of durability у S3), latency, throughput, error rate, saturation — насыщение ресурсов; вместе четыре golden signals (latency, traffic, errors, saturation). Percentile — перцентиль: p50 (медиана), p95, p99, p99.9, tail latency — хвостовая задержка. Window — окно измерения: rolling 30-day window, calendar month. Toil — ручная рутина. MTTR, MTTD, MTBF. Alerting on SLOs, burn-rate alert — алерт по скорости расходования бюджета, multi-window alert. Blameless, risk tolerance — терпимость к риску, cost of reliability — стоимость надёжности, diminishing returns — убывающая отдача (каждая девятка дороже предыдущей в разы). Penalty / credit — штраф / компенсация по SLA, breach — нарушение, exclusions — исключения из SLA (плановые работы, форс-мажор), scheduled maintenance, best effort — без гарантий.

Как произносится

SLA /ˌɛs ɛl ˈeɪ/, SLO /ˌɛs ɛl ˈoʊ/, SLI /ˌɛs ɛl ˈaɪ/ — все по буквам, indicator /ˈɪndɪkeɪtər/ (ударение на первый слог), objective /əbˈdʒɛktɪv/, agreement /əˈɡriːmənt/, error budget /ˈɛrər ˈbʌdʒɪt/, burn rate /bɜːrn reɪt/, nines /naɪnz/, availability /əˌveɪləˈbɪləti/, reliability /rɪˌlaɪəˈbɪləti/, durability /ˌdjʊərəˈbɪləti/, percentile /pərˈsɛntaɪl/ («персЕнтайл»), p99 «пи-найнти-найн», saturation /ˌsætʃəˈreɪʃən/, tail latency /teɪl ˈleɪtənsi/, window /ˈwɪndoʊ/, toil /tɔɪl/, penalty /ˈpɛnəlti/, breach /briːtʃ/, exclusion /ɪkˈskluːʒən/, maintenance /ˈmeɪntənəns/, diminishing /dɪˈmɪnɪʃɪŋ/, tolerance /ˈtɒlərəns/, uptime /ˈʌptaɪm/, golden signals /ˈɡoʊldən ˈsɪɡnəlz/, ninety-nine point nine /ˌnaɪnti ˌnaɪn pɔɪnt ˈnaɪn/.

Как употребляется

  • Our SLI is the ratio of 2xx responses to total; the SLO is 99.9 percent over a rolling 30 days. — Наш SLI — доля ответов 2xx; SLO — 99.9 процента за скользящие 30 дней.
  • The SLA with the client is 99.5 with service credits, so we have headroom. — SLA с клиентом 99.5 с компенсациями, у нас есть запас.
  • We burned 40 percent of the error budget in one incident. — Один инцидент сжёг 40 процентов бюджета ошибок.
  • Burn rate is 10x; that pages the on-call. — Скорость расходования в десять раз выше нормы, это будит дежурного.
  • Error budget is exhausted, so releases are frozen until it recovers. — Бюджет исчерпан, релизы заморожены до восстановления.
  • Four nines is 52 minutes a year; are we willing to pay for that? — Четыре девятки это 52 минуты в год; готовы ли мы за это платить?
  • p50 is fine, but tail latency at p99 is three seconds. — Медиана в порядке, но хвост на p99 три секунды.
  • Scheduled maintenance is excluded from the SLA. — Плановые работы исключены из SLA.

Ловушки

Первая ловушка — SLA и SLO как синонимы: SLO внутреннее, SLA договорное с последствиями; сказать заказчику our SLO is 99.9 — значит пообещать лишнее. Вторая — SLI как цель: индикатор это измерение, а цель — SLO. Третья — error budget как «бюджет на исправление ошибок» в деньгах: это допустимый объём ненадёжности. Четвёртая — availability по среднему значению: считают по окну и по доле успешных запросов, а не по «сервер был жив». Пятая — percentile с ударением на первый слог. Шестая — «девятки» без периода: 99.9 в день и в месяц это разное количество минут. Седьмая — обещать five nines без понимания стоимости: каждая девятка дороже в разы, и фраза diminishing returns здесь ключевая. Восьмая — uptime и availability как синонимы: uptime это время работы сервера, availability — доля успешно обработанных запросов; сервер может быть up и при этом недоступен.

Связанные понятия

Полезные ресурсы