Blog chia sẻ về công nghệ ...
Published on

[Google-SRE-bản dịch tiếng việt]-SLO, SLI và SLA trong Site Reliability Engineering

Authors

📑 Mục Lục

  1. Khái niệm chính
  2. Áp dụng thực tế
  3. SLO và kỳ vọng
  4. Thỏa thuận dịch vụ (SLA)

Khái niệm chính

SLI (Service Level Indicator) là chỉ số định lượng cho một khía cạnh của dịch vụ, ví dụ như: độ trễ, tỉ lệ lỗi, thông lượng.

SLO (Service Level Objective) là mục tiêu cụ thể cho một SLI. Ví dụ: 99% yêu cầu HTTP trả lời trong vòng dưới 100ms.

SLA (Service Level Agreement) là cam kết chính thức với người dùng, trong đó SLO được ghi nhận và ràng buộc bằng hậu quả nếu không đạt (ví dụ: hoàn tiền).

Áp dụng thực tế

  • Chỉ chọn vài SLI tiêu biểu đại diện cho trải nghiệm người dùng, tránh chọn quá nhiều gây loãng trọng tâm.
  • Dùng percentile (ví dụ: 95th, 99th) thay vì average để tránh bỏ sót độ trễ đuôi dài.
  • Áp dụng giám sát phía client nếu cần phản ánh đúng trải nghiệm thực tế.

Ví dụ:

  • Dịch vụ tìm kiếm: quan tâm đến độ trễ, độ sẵn sàng, thông lượng.
  • Hệ thống lưu trữ: độ bền dữ liệu (durability), độ trễ truy xuất, tỉ lệ thành công.

SLO và kỳ vọng

  • SLO giúp thiết lập kỳ vọng rõ ràng với người dùng.
  • Nên có SLO nội bộ chặt hơn SLO công khai để phòng ngừa rủi ro.
  • Không nên vượt quá SLO công khai quá nhiều, tránh khiến người dùng kỳ vọng sai.

Ví dụ thực tế: Google từng chủ động tắt hệ thống Chubby theo kế hoạch để nhắc nhở người dùng không phụ thuộc quá mức.

Thỏa thuận dịch vụ (SLA)

  • SLA là hợp đồng chính thức (đôi khi có yếu tố tài chính) mô tả hậu quả khi không đạt SLO.
  • Không phải tất cả dịch vụ đều có SLA (ví dụ: Google Search không có).
  • SRE thường hỗ trợ xây dựng SLO hợp lý để tránh kích hoạt SLA.

💡 Ghi nhớ: Bắt đầu với thứ người dùng quan tâm, không phải thứ dễ đo. Xây dựng từ mong muốn thành chỉ số, rồi mới đặt mục tiêu. SLO là đòn bẩy mạnh để định hướng kỹ thuật và sản phẩm.