SRE là gì ? Vai trò của kỹ sư Site Reliability Engineer là gì ?

153

SRE là gì ? Vai trò của kỹ sư Site Reliability Engineer là gì ?Cuongquach.com | Hiện nay, cùng với DevOps, khái niệm Site Reliability Engineer (SRE), tạm dịch là Kỹ sư quản lý độ tin cậy của hệ thống hoặc Kỹ sư ổn định hệ thống, ngày càng được biết đến nhiều hơn.

ky-su-sre-la-gi

Nhiệm vụ của SRE là áp dụng các khía cạnh và kiến thức của công nghệ phần mềm vào vận hành (Operation) nhằm mục tiêu tạo ra các hệ thống phần mềm/dịch vụ có khả năng mở rộng và tin cậy cao. Bài viết này sẽ phân tích chi tiết vai trò của SRE và các kiến thức cần thiết để đảm nhiệm tốt nhất vai trò này.

1. Công việc của SRE

Công việc của SRE
Công việc của SRE

Theo Ben Treynor, nhà sáng lập nhóm SRE của Google, thì SRE là “những kỹ sư phần mềm làm các công việc liên quan đến vận hành”. Họ chịu trách nhiệm đảm bảo độ sẵn sàng và hiệu suất của website/dịch vụ/phần mềm, đồng thời giám sát và ứng phó sự cố xảy ra bằng các nền tảng và dịch vụ mà công ty cung cấp hoặc sử dụng.

Hiệu suất của đội ngũ SRE được đo lường bằng thời gian khắc phục lỗi trung bình (mean time to recover – MTTR) và thời gian chịu lỗi trung bình (mean time to failure – MTTF). Nói cách khác, họ phải tìm cách làm cho dịch vụ của mình hoạt động trở lại nhanh nhất khi gặp sự cố và lần mắc lỗi tiếp theo (nếu có) cách càng xa càng tốt.

2. Runbook là gì? Vai trò của Runbook với SRE

Runbook là gì?
Runbook là gì?

Nói một cách đơn giản, Runbook là một tập hợp các hướng dẫn những điều cần thực hiện hoặc kiểm tra khi có sự cố xảy ra với bất kỳ dịch vụ, ứng dụng hoặc nền tảng nào đó. Runbook nên được viết sẵn trước khi phần mềm được triển khai và đưa vào sử dụng.

Nội dung của Runbooks hướng tới rất nhiều chủ đề như khắc phục sự cố cơ sở hạ tầng, hệ thống lưu trữ hoặc bất kỳ dịch vụ và nền tảng khác đang được sử dụng. Nếu bạn đang làm việc cho một tổ chức chưa có Runbook, thì hãy tự mình ghi lại nó trong quá trình khắc phục sự cố.

Runbook đặc biệt hữu ích cho các SRE mới chưa có nhiều kinh nghiệm xử lý sự cố xảy ra với những phần mềm mới hoặc các nền tảng xa lạ.

3. Báo cáo ứng phó sự cố

Báo cáo ứng phó sự cố
Báo cáo ứng phó sự cố

Sau khi giải quyết sự cố, để tránh xảy ra trường hợp tương tự, bạn nên ghi lại đầy đủ, chính xác những gì đã xảy ra, các bước thực hiện cũng như tất cả các câu lệnh mà bạn đã dùng, dù chúng có hữu ích hay không. Đây chính là thao tác ghi lại báo cáo ứng phó sự cố.

Ngoài việc mô tả những gì đã xảy ra, báo cáo ứng phó sự cố nên bao gồm tất cả các thông tin liên quan đến quá trình xử lý như:

  • Ai đã thông báo về việc dịch vụ ngừng hoạt động?
  • Ai đã giúp đỡ khắc phục vấn đề?
  • Ai sẽ bị ảnh hưởng bởi sự cố đó? Sự cố nghiêm trọng đến mức nào, và dịch vụ đã ngừng hoạt động trong bao lâu?

Những thông tin trên phục vụ cho việc tìm ra nguyên nhân gốc rễ của sự cố. Khi xác định được nguyên nhân, chúng ta có thể sửa chữa hoặc thay đổi một số chi tiết cần thiết để tăng độ tin cậy của nền tảng. Điều này sẽ giúp rút ngắn thời gian phục hồi khi xảy ra sự cố một lần nữa.

4. Báo cáo sau sự cố

Báo cáo sau sự cố
Báo cáo sau sự cố

Đối với SRE, giải quyết sự cố chỉ là một nửa công việc. Nhóm phải đảm bảo sự cố đó không xảy ra nữa bằng cách phân tích nguyên nhân gốc rễ của sự cố.

Từ báo cáo ứng phó sự cố đã ghi nhận từ trước, SRE cần tạo ra báo cáo sau sự cố, bao gồm các bước xử lý sự cố tại thời điểm đó, nguyên nhân của sự cố, biện pháp khắc phục và phòng ngừa sự cố, giải pháp khôi phục hoạt động bình thường của dịch vụ.

5. Giám sát và cảnh báo

Giám sát và cảnh báo
Giám sát và cảnh báo

Giám sát và cảnh báo là hai nhiệm vụ thiết yếu mà SRE phải thực hiện. Họ phải theo dõi mọi số liệu có thể có trong nền tảng của mình để hiểu chính xác về tình trạng của hệ thống mọi lúc. Đồng thời, kế hoạch giám sát phải được tạo ra cùng với thiết kế hệ thống hoặc với từng dịch vụ mà công ty cung cấp.

Trong thực tế, SRE sẽ theo dõi các số liệu cụ thể, đặt ngưỡng và kích hoạt cảnh báo dựa trên các ngưỡng đó. Tuy nhiên trong tương lai, SRE cần nghiên cứu phát triển các hệ thống giám sát và xử lý tự động các sự cố, chỉ gửi cảnh báo cho kỹ sư trong các trường hợp cần thiết.

6. Thay đổi cách quản lý

Thay đổi cách quản lý
Thay đổi cách quản lý

Các SRE thường xuyên gặp phải trường hợp nền tảng bị thay đổi mà không tuân theo bất kỳ hướng dẫn thiết lập và triển khai nào. Thậm chí họ cũng không được phổ biến kiến thức về những thay đổi đó. Đây chính là lý do tại sao cần thiết lập quy trình quản lý các thay đổi của nền tảng, và mọi nhà phát triển cần phải tuân thủ quy trình này.

SRE là bộ phận quan trọng góp phần thiết lập các quy tắc đó và tạo ra các công cụ cần thiết để tự động hóa toàn bộ quy trình. Đồng thời tạo điều kiện triển khai và khôi phục các dịch vụ mới, hoặc thay đổi các dịch vụ hiện có. Quy trình quản lý này thường bao gồm các yếu tố chính sau:

  • Sơ đồ
  • Các bên liên quan
  • Kế hoạch giám sát
  • Runbook
  • Danh sách chủ sở hữu
  • Chiến lược sẵn sàng
  • Quá trình triển khai và rollback
  • Lưu giữ dữ liệu
  • Tài liệu
  • SLA

Kết luận

Việc thành lập các nhóm kỹ sư SRE trong công ty là một bước tiến lớn, giúp nền tảng ngày một hoàn thiện hơn hơn. Để đảm nhiệm tốt công việc, mọi SRE cần học cách tự động hóa các bước có thể, và ghi chép lại những bước không thể tự động hóa được. Cũng nhờ có vai trò của SRE, những sự cố xảy ra với hệ thống đã giảm thiểu đáng kể!

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

LEAVE A REPLY