Bloga geri dön

SLI vs SLO vs SLA: farklar ve nasıl kurulur

· 7 dk okuma

Kısaca: SLI ne ölçtüğünüzdür, SLO hangi hedefe ulaşmak istediğinizdir, SLA sözleşmesel taahhüttür. Google SRE kitabındaki bu terimler, web servisi işletmesinde en çok kullanılan ifadeler arasındadır - ve sıkça karıştırılır.

Kısaca: SLI ne ölçtüğünüzdür, SLO hangi hedefe ulaşmak istediğinizdir, SLA sözleşmesel taahhüttür. Google SRE kitabındaki bu terimler, web servisi işletmesinde en çok kullanılan ifadeler arasındadır - ve sıkça karıştırılır.

SLI - Service Level Indicator

Servis güvenilirliğini ölçtüğünüz somut metrik. Örnekler:

  • son 30 günde HTTP 2xx veya 3xx ile biten isteklerin %'si
  • 500 ms altında response time olan isteklerin %'si
  • doğru teslim edilen emaillerin (delivered, bounced değil) %'si
  • başarılı ödeme işlemlerinin tüm denemelere oranı

İyi bir SLI'nin temel özellikleri:

  • Ölçülebilir - somut bir veri toplama yöntemi vardır
  • Kullanıcı için ilgili - iç teknik bir metrik değil, gerçek müşteri deneyimini yansıtır
  • Spesifik - "uptime" çok belirsiz; "5 dakikalık pencerede /api/v1/orders'a başarılı isteklerin %'si" bir SLI'dır

SLO - Service Level Objective

İç hedef, SLI'nin hangi değere ulaşması gerektiği. Bir zaman penceresi üzerinde yüzde olarak ifade edilir.

Örnekler:

  • "/api/orders'a isteklerin %99,9'u 30 gün içinde HTTP 2xx ile bitmeli"
  • "İsteklerin %95'i 7 gün içinde 200 ms altında response time'a sahip olmalı"
  • "Takvim ayında ödeme işlemlerinin %99,5'i başarıyla geçer"

SLO SLA'dan yüksektir, böylece bir buffer'ınız olur. SLA %99,9 diyorsa, iç SLO örneğin %99,95 olmalı - beklenmedik olaylar için rezervi olsun diye.

SLA - Service Level Agreement

Müşterilere karşı sözleşmesel taahhüt. SLO'yu tutmadığınızda ne olacağını tanımlar - tipik olarak:

  • Service credits - aylık ücretin bir kısmını iade edersiniz (ihlalin büyüklüğüne göre %10-50)
  • Termination rights - müşteri sözleşmeyi yaptırımsız feshedebilir
  • Reporting yükümlülüğü - postmortem ve uptime raporlarını yayınlamalısınız

SLA'nın yasal sonuçları vardır. SLO bir iç hedeftir.

Error budget

SRE'nin temel kavramı: SLO'yu ihlal etmeden karşılayabileceğiniz downtime.

Örnek: SLO = 30 günde %99,9 uptime. Bu %0,1 izin verilen downtime demek. 30 günün %0,1'i = ayda 43 dakika. Bu sizin error budget'ınız.

Pratik sonuçlar:

  • Ayda zaten 35 dakika downtime varsa, "SLO ihlali"ne 8 dakika kalır. Ekip sonraki deploylar için muhafazakar olmalı.
  • 5 dakika downtime varsa, riskler için 38 dakika budget'ınız var - daha agresif değişiklikler, A/B testler, deneyler yapabilirsiniz.
  • Error budget inovasyon hızı (dev team) ile stabilite (ops team) arasındaki çatışmayı çözer. Her ikisi de aynı sayıyı takip eder.

Pratik örnek: e-ticaret API

SLI: Son 30 günde 1 dakikalık bucket'larda ölçülen POST /api/checkout'a 2xx ile biten HTTP isteklerinin %'si.

SLO: Rolling 30 günlük pencerede ≥ %99,9 başarılı istek.

SLA (Enterprise müşterileri için):

  • Takvim ayında ≥ %99,5 uptime
  • %99,0-99,5'te = aylık ücretten %10 credit
  • %95,0-99,0'da = %25 credit
  • < %95,0'te = %50 credit + sözleşmeyi feshetme hakkı

Error budget: %99,9 SLO ay başına 43 dakika downtime budget anlamına gelir. SLA ekonomik cezadan önce daha büyük buffer sağlar.

Özet: tablo

Terim Ne olduğu Kim için
SLI Somut güvenilirlik metriği Engineering ekibi
SLO SLI için iç hedef Engineering + product
SLA Sözleşmesel taahhüt Müşteri + legal
Error budget SLO ihlali öncesi karşılayabileceğiniz downtime Engineering risk management

Pratik hatalar

  • Çok iddialı SLO. %99,99, birden fazla bölgede active-active redundancy gerektirir. Küçük bir şirket için gerçekçi değil.
  • Sadece uptime SLO. Web "up" olabilir ve hâlâ kullanılamaz. Latency SLO ve error rate SLO ekleyin.
  • Otomatik ölçüm olmadan SLA. Manuel hesaplanmış SLA raporu güvenilir değildir. Otomatikleştirilmiş uptime tracking'e yatırım yapın.
  • Sonuç olmadan SLO. SLO ihlali kimseyi ilgilendirmiyorsa, kimse umursamaz. Deploy freeze, on-call escalation vb. bağlayın.

Sonuç

SLI/SLO/SLA framework'ü kağıt bürokrasi değildir - engineering ekibinin business stakeholder'lar ile güvenilirlik hakkında konuştuğu dildir. Bu terimler olmadan stabilite tartışması öznel hale gelir ("webimiz dengesiz"). Onlarla sayısaldır ("son 30 günde %99,87 SLI'ya ulaştık, bu %99,9 SLO'muzun altında - işte aksiyon planı").

SLI'yı gerçek zamanlı ölçün

ePulz.io 30/90/365 günlük rollup ile tarihsel uptime kaydı sağlar. SLO reporting'in temeli.

İzlemeyi başlat →


ePulz.io'yu ücretsiz deneyin - 7 gün, kredi kartı gerekmez.

Hesap oluştur