Portal/Notes πŸ“
Sre

SLA, SLO, dan SLI Metrics

Versi Bahasa Indonesia. Baca dalam Bahasa Inggris

Memahami SLA, SLO, dan SLI

Service Level Agreement (SLA)

  • Definisi: Kontrak antara penyedia layanan dan pelanggan yang menentukan tingkat layanan yang diharapkan.
  • Tujuan: Mendefinisikan kewajiban dan konsekuensi jika keandalan yang disepakati tidak terpenuhi.
  • Contoh: "Layanan akan tersedia 99,9% setiap bulan. Jika tidak terpenuhi, pengembalian dana 10% akan diberikan."

Service Level Objective (SLO)

  • Definisi: Target spesifik dan terukur untuk tingkat keandalan layanan.
  • Tujuan: Berfungsi sebagai tolok ukur untuk memastikan SLA terpenuhi.
  • Contoh: "99,95% permintaan HTTP akan mengembalikan respons dalam 200ms."
  • Hubungan dengan SLA: Biasanya lebih ketat dari SLA, memberikan ruang untuk menangani kegagalan sebelum melanggar SLA.

Service Level Indicator (SLI)

  • Definisi: Metrik yang mengukur kinerja sistem untuk melacak kepatuhan terhadap SLO.
  • Tujuan: Bertindak sebagai data mentah yang digunakan untuk mengukur apakah SLO terpenuhi.
  • Contoh: "Persentase permintaan HTTP yang berhasil selama 30 hari terakhir."

Contoh Hubungan Antara SLA, SLO, dan SLI

  • SLI: Uptime terukur = 99,93%
  • SLO: Target uptime = 99,95%
  • SLA: Uptime yang dijamin = 99,90%

Menghitung Availability dan Reliability

Availability sering dinyatakan sebagai persentase uptime selama periode tertentu:

\text{Availability (%)} = \left( \frac{\text{Uptime}}{\text{Total Time}} \right) \times 100

Contoh:

  • Total Waktu: 30 hari (43.200 menit)
  • Downtime: 30 menit
Availability=(43,200βˆ’3043,200)Γ—100=99,93\text{Availability} = \left( \frac{43,200 - 30}{43,200} \right) \times 100 = 99,93%

Reliability mengukur kemungkinan sistem berfungsi tanpa kegagalan selama waktu tertentu:

\text{Reliability (%)} = e^{-\left(\frac{\text{Total Failures}}{\text{Total Time}}\right)}

Contoh:

  • Kegagalan: 2
  • Waktu: 100 jam
Reliability=eβˆ’(2100)=eβˆ’0.02β‰ˆ98,02\text{Reliability} = e^{-\left(\frac{2}{100}\right)} = e^{-0.02} \approx 98,02%

Contoh Mendefinisikan Metrik untuk Sebuah Layanan

Mari definisikan SLA, SLO, dan SLI untuk web API sederhana

1. Contoh SLI:

  • Latensi: 95% permintaan selesai dalam 200ms.
  • Uptime: Persentase waktu layanan dapat dijangkau.
  • Error Rate: Persentase permintaan yang gagal.

2. Contoh SLO:

  • Uptime SLO: "Uptime layanan akan setidaknya 99,95% per bulan."
  • Latensi SLO: "95% permintaan akan selesai dalam 200ms selama seminggu terakhir."
  • Error Rate SLO: "Error rate tidak akan melebihi 0,1% dari total permintaan selama sebulan terakhir."

3. Contoh SLA:

  • SLA: "Layanan akan mempertahankan uptime 99,9% per bulan. Untuk setiap 0,1% di bawah ambang ini, pengembalian dana 5% dari biaya bulanan akan diberikan."

Pemantauan dan Implementasi

Memantau SLIs:

  • Latensi: Gunakan alat seperti Prometheus untuk melacak response time.
  • Uptime: Gunakan alat pemantau uptime seperti Pingdom atau custom Prometheus exporter.
  • Error Rate: Hitung respons HTTP 4xx dan 5xx menggunakan metrik.

Visualisasi di Grafana:

  • Buat panel untuk setiap metrik untuk menampilkan kinerja SLI dari waktu ke waktu.
  • Atur alert ketika SLO dilanggar (misalnya, error rate melebihi 0,1%).

Edit on GitHub

Last updated on

SLA, SLO, dan SLI Metrics | Faisal Affan