Nguyên tắc cơ bản của SRE: SLI, SLA và SLO

76

Nguyên tắc cơ bản của SRE: SLI, SLA và SLOCuongquach.com | Một trong những cách mà kỹ sư SRE thực hiện để đảm bảo tính khả dụng của các ứng dụng là thiết lập và giám sát các số liệu cấp độ dịch vụ. Điều này nhằm hướng đến mục tiêu cuối cùng là cải thiện chất lượng dịch vụ và trải nghiệm người dùng.

sre-sli-slo-sla

Việc do lường và giám sát các số liệu này cần ràng buộc chặt chẽ với các mục tiêu kinh doanh. Nếu không, bạn sẽ không có cơ sở để đánh giá tác động của SRE đối với hoạt động kinh doanh của doanh nghiệp. Bài viết này sẽ đề cập đến 3 nguyên tắc thiết yếu dùng để đánh giá sự tin cậy, sẵn sàng và hữu ích của hệ thống. Đó là SLO, SLA SLI.

1. Service-Level Objective (SLO) – Mục tiêu cấp độ dịch vụ

Service-Level Objective (SLO) - Mục tiêu cấp độ dịch vụ
Service-Level Objective (SLO) – Mục tiêu cấp độ dịch vụ

Điều kiện tiên quyết để triển khai SRE thành công là sự sẵn sàng của hệ thống. Một hệ thống không khả dụng không thể thực hiện hết chức năng của nó và có thể bị lỗi. Tính khả dụng ở đây xác định rằng, liệu một hệ thống có thể thực hiện chức năng của nó tại một thời điểm nhất định hay không. Ngoài việc được sử dụng làm công cụ báo cáo, việc đo lường tính khả dụng trong quá trình hoạt động của hệ thống cũng giúp tính toán xác suất “khả dụng” của hệ thống trong tương lai.

SLO chính là chỉ số đại diện cho tính khả dụng của hệ thống. Mọi yếu tố như độ tin cậy, sự thay đổi thiết kế hoặc kiến trúc của hệ thống trong tương lai đều phải đảm bảo rằng hệ thống đáp ứng được SLO.

Một dịch vụ càng đáng tin cậy thì chi phí vận hành càng cao. Bạn có thể đặt SLO dựa trên mức độ tin cậy thấp nhất của mỗi dịch vụ. Bất kỳ dịch vụ nào cũng cần có SLO để làm cơ sở đánh giá xem liệu dịch vụ cần tăng độ tin cậy (tăng chi phí và giảm tốc độ phát triển) hay phải giảm độ tin cậy (tăng tốc độ phát triển). Không nên đặt SLO cao quá để tránh gây áp lực khi mà độ tin cậy của hệ thống không đạt như kỳ vọng.

Tại Google, một số dịch vụ thường bị cho “downtime” định kỳ theo kế hoạch để ngăn hoạt động quá mức. Bạn có thể áp dụng cách này cho các front-end servers để tìm ra các dịch vụ đang sử dụng máy chủ không phù hợp. Nhờ vậy, bạn có thể chuyển bớt các dịch vụ sang máy chủ khác phù hợp hơn để duy trì sự ổn định của hệ thống.

2. Service-Level Agreement (SLA) – Thỏa thuận cấp độ dịch vụ

Service-Level Agreement (SLA) - Thỏa thuận cấp độ dịch vụ
Service-Level Agreement (SLA) – Thỏa thuận cấp độ dịch vụ

SLA là lời hứa của nhà cung cấp với khách hàng về SLO của dịch vụ và trách nhiệm của nhà cung cấp nếu không đáp ứng được điều đó. Nếu không đạt được mức SLO đã cam kết, nhà cung cấp dịch vụ thường hoàn trả một phần phí thuê bao dịch vụ hoặc gia hạn thêm thời gian sử dụng miễn phí cho khách hàng. Việc cam kết SLO là cách để tạo sự tin tưởng với khách hàng, và đó là lí do SLA tồn tại!

Chính vì vậy, SLA mà các nhà cung cấp dịch vụ đưa ra thường có SLO thấp hơn mức SLO thực tế của hệ thống. Ví dụ như mức SLO khả dụng thực tế của dịch vụ là 99.9% thì mức SLO được cam kết với khách hàng sẽ vào khoảng 99,95%.

Có thể thấy rằng sự khác nhau của SLO trong SLA và SLO thực tế là rất bình thường. Điều quan trọng là bạn phải giám sát SLO kỹ lưỡng để xem liệu tính khả dụng của hệ thống theo lịch SLA có nguy cơ vượt mức SLO đã cam kết hay không. Trong trường hợp này, Logs analysis – Phân tích nhật ký là một phương pháp đo lường hiệu quả. Vì SLA cam kết trách nhiệm của bạn là phải hoàn tiền cho khách hàng, nên bạn cần ưu tiên đo lường các truy vấn của họ so các truy vấn khác.

Một khi đã xác định được SLO khả dụng của SLA, bạn cần đánh giá cẩn thận các truy vấn từ khách hàng. Trong trường hợp khách hàng vượt quá mức cho phép vì họ đã phát hành một phiên bản ứng dụng di động lỗi, bạn hoàn toàn không cần chịu trách nhiệm cho việc này.

3. Service-Level Indicator (SLI) – Chỉ báo cấp độ dịch vụ

Service-Level Indicator (SLI) - Chỉ báo cấp độ dịch vụ
Service-Level Indicator (SLI) – Chỉ báo cấp độ dịch vụ

SLI là các thông số theo thời gian như độ trễ của request, thường được đo lường bằng đơn vị request/giây hoặc số lỗi/request, sau đó chuyển đổi thành tỷ lệ, trung bình hoặc tỷ lệ phần trăm.

Khi cần đánh giá xem hệ thống hoạt động đảm bảo mức SLO trong tuần hay không, bạn cần xem xét SLI để tính được tỷ lệ phần trăm khả dụng của dịch vụ. Nếu SLI nằm dưới SLO, nghĩa là hệ thống cần cải thiện tính sẵn sàng. Nếu muốn biết dịch vụ đáng tin cậy đến mức nào, bạn cần có khả năng đo lường tỷ lệ truy vấn thành công và không thành công theo SLI.

Nếu bạn đang xây dựng một hệ thống từ đầu, hãy đảm bảo tuân thủ SLISLO. Hoặc nếu hệ thống của bạn đang vận hành nhưng chưa có SLI SLO, thì đó là điều mà bạn cần ưu tiên xác định.

Nguồn: https://cuongquach.com/

LEAVE A REPLY