Pilih indikator tingkat layanan (SLI)

Last reviewed 2024-03-29 UTC

Dokumen dalam Framework Arsitektur Google Cloud ini menjelaskan cara memilih indikator tingkat layanan (SLI) yang sesuai untuk layanan Anda. Dokumen ini dibuat berdasarkan konsep yang ditentukan dalam Komponen SLO.

Metrik diperlukan untuk menentukan apakah tujuan tingkat layanan (SLO) Anda terpenuhi. Anda menentukan metrik tersebut sebagai SLI. Setiap SLI merupakan pengukuran aspek tertentu dari layanan Anda seperti waktu respons, ketersediaan, atau tingkat keberhasilan.

SLO mencakup satu atau beberapa SLI, dan idealnya didasarkan pada perjalanan pengguna yang penting (CUJ). CUJ mengacu pada serangkaian interaksi atau jalur pengguna tertentu yang diambil pengguna untuk mencapai sasarannya di situs. Pertimbangkan pelanggan untuk berbelanja di layanan e-commerce. Pelanggan login, menelusuri produk, menambahkan item ke keranjang, membuka halaman checkout, dan melakukan check out. CUJ mengidentifikasi berbagai cara untuk membantu pengguna menyelesaikan tugas secepat mungkin.

Saat memilih SLI, Anda harus mempertimbangkan metrik yang sesuai dengan layanan Anda, berbagai jenis metrik yang dapat digunakan, kualitas metrik, dan jumlah metrik yang tepat yang diperlukan.

Pilih SLI yang sesuai untuk jenis layanan Anda

Ada banyak jenis layanan. Tabel berikut mencantumkan jenis layanan umum dan memberikan contoh SLI untuk setiap jenis layanan. Beberapa SLI berlaku untuk beberapa jenis layanan. Jika SLI muncul lebih dari sekali dalam tabel, hanya instance SLI pertama yang akan memberikan definisi. Ingat bahwa SLI sering kali dinyatakan dengan jumlah "sembilan" dalam metrik.

Jenis layanan SLI Umum
Sistem penayangan
  • Ketersediaan — persentase layanan yang dapat digunakan. Ketersediaan didefinisikan sebagai bagian dari permintaan yang berhasil dibagi dengan jumlah total permintaan, dan dinyatakan sebagai persentase, seperti 99,9%.
  • Latensi — seberapa cepat persentase permintaan tertentu terpenuhi. Misalnya, persentil ke-99 pada 300 md.
  • Kualitas — sejauh mana konten dalam respons terhadap permintaan menyimpang dari konten respons yang ideal. Misalnya, skala dari 0% sampai 100%.
Sistem pemrosesan data
  • Cakupan — jumlah data yang telah diproses, yang dinyatakan sebagai pecahan. Misalnya, 95%.
  • Koreksi — bagian dari data {i>output<i} yang dianggap benar. Misalnya, 99,99%.
  • Keaktualan — Keaktualan data sumber atau data output gabungan. Misalnya, data diperbarui 20 menit yang lalu.
  • Throughput — Jumlah data yang diproses. Misalnya, 500 MiB per detik atau 1.000 permintaan per detik.
Sistem penyimpanan
  • Ketahanan — kemungkinan data yang ditulis ke sistem diakses di masa mendatang. Misalnya, 99,9999%.
  • Time to first byte (TTFB) — waktu yang diperlukan untuk mengirim dan mendapatkan byte pertama dari sebuah halaman.
  • Ketersediaan blob — rasio permintaan pelanggan yang menampilkan respons error non-server terhadap jumlah total permintaan pelanggan.
  • Throughput
  • Latensi
Sistem request-drive
  • Ketersediaan
  • Latensi
  • Kualitas
Sistem eksekusi terjadwal
  • Skew — proporsi eksekusi yang dimulai dalam periode yang dapat diterima dari waktu mulai yang diharapkan.
  • Eksekusi — Waktu yang diperlukan untuk menyelesaikan tugas. Untuk eksekusi tertentu, mode kegagalan umum adalah agar durasi sebenarnya melebihi durasi yang dijadwalkan.

Mengevaluasi berbagai jenis metrik

Selain memilih SLI yang sesuai untuk layanan Anda, Anda harus memutuskan jenis metrik yang akan digunakan untuk SLI Anda. SLI yang tercantum di bagian sebelumnya cenderung merupakan salah satu dari jenis berikut:

  • Penghitung: Jenis metrik ini dapat meningkat, tetapi tidak dapat menurun. Misalnya, jumlah error yang terjadi hingga titik pengukuran tertentu.
  • Pengukuran: Jenis metrik ini dapat meningkat atau menurun. Misalnya, nilai sebenarnya dari bagian sistem yang dapat diukur (seperti panjang antrean).
  • Distribusi (histogram): Jumlah peristiwa yang menghuni segmen pengukuran tertentu selama jangka waktu tertentu. Misalnya, mengukur berapa banyak permintaan yang memerlukan waktu 0-10 milidetik untuk diselesaikan, berapa banyak yang memerlukan waktu 11-30 milidetik, dan berapa banyak yang memerlukan waktu 31-100 milidetik. Hasilnya adalah jumlah untuk setiap bucket, seperti [0-10: 50], [11-30: 220], dan [31-100: 1103].

Untuk mengetahui informasi selengkapnya tentang jenis-jenis ini, baca dokumentasi project Prometheus serta Jenis nilai dan jenis metrik di Cloud Monitoring.

Mempertimbangkan kualitas metrik

Tidak setiap metrik berguna. Selain rasio peristiwa yang berhasil terhadap total peristiwa, Anda perlu menentukan apakah suatu metrik merupakan SLI yang baik untuk kebutuhan Anda. Untuk membantu Anda melakukan determinasi tersebut, pertimbangkan karakteristik metrik yang baik berikut:

  • Metrik berhubungan langsung dengan kebahagiaan pengguna. Pengguna tidak senang jika layanan tidak berperilaku seperti yang diharapkan, seperti saat layanan lambat, tidak akurat, atau gagal sepenuhnya. Validasi SLO apa pun berdasarkan metrik ini dengan membandingkan SLI dengan sinyal lain terkait kepuasan pengguna. Perbandingan ini mencakup data seperti jumlah tiket keluhan pelanggan, volume panggilan dukungan, dan sentimen media sosial. (Untuk mempelajari lebih lanjut, lihat Peningkatan Berkelanjutan Target SLO).

    Jika metrik Anda tidak selaras dengan indikator kepuasan pengguna lainnya, metrik tersebut mungkin bukan SLI yang baik.

  • Penurunan metrik berkorelasi dengan pemadaman layanan. Setiap metrik yang melaporkan hasil layanan yang baik selama pemadaman layanan jelas merupakan metrik yang salah untuk SLI. Sebaliknya, metrik yang terlihat buruk selama operasi normal juga bermasalah

  • Metrik ini memberikan rasio sinyal terhadap derau yang baik. Abaikan metrik apa pun yang menghasilkan negatif palsu atau positif palsu dalam jumlah besar.

  • Metrik ini diskalakan secara monoton dan linear dengan kebahagiaan pelanggan. Sederhananya, saat metrik meningkat, kepuasan pelanggan juga meningkat.

Pilih jumlah metrik yang benar

Satu layanan dapat memiliki beberapa SLI, terutama jika layanan tersebut melakukan berbagai jenis pekerjaan atau melayani berbagai jenis pengguna. Sebaiknya pilih metrik yang sesuai untuk setiap jenis.

Sebaliknya, beberapa layanan melakukan jenis pekerjaan serupa yang dapat langsung dibandingkan. Misalnya, pengguna yang melihat halaman yang berbeda di situs Anda (seperti halaman beranda, subkategori, dan daftar 10 teratas). Daripada mengembangkan SLI terpisah untuk setiap tindakan ini, gabungkan ke dalam satu kategori SLI, seperti penjelajahan layanan.

Ekspektasi pengguna Anda tidak banyak berubah di antara tindakan dari kategori yang serupa. Kebahagiaan mereka dapat diukur dengan jawaban atas pertanyaan: "Apakah saya melihat halaman penuh item dengan cepat?"

Gunakan SLI sesedikit mungkin untuk merepresentasikan toleransi layanan Anda secara akurat. Sebagai panduan umum, miliki dua hingga enam SLI. Dengan terlalu sedikit SLI, Anda dapat kehilangan sinyal yang berharga. Terlalu banyak dan tim dukungan Anda memiliki terlalu banyak data dengan sedikit manfaat tambahan. SLI harus menyederhanakan pemahaman Anda tentang kondisi produksi dan memberikan cakupan, tidak membebani (atau mengecewakan) Anda.

Apa langkah selanjutnya?