Tìm hiểu về SRE? Vai trò của các kỹ sư SRE? Khác biệt giữa SRE và Devops?

Trong thực tế design và code ra một hệ thống là chuyện khó, nhưng giữ cho hệ thống đó hoạt động, phát triển thêm chức năng mới là một chuyện còn … khó khăn hơn nữa!

Bạn có biết điều gì giúp cho những hệ thống lớn như Google, Gmail, Youtube hoạt động ổn định, ít gặp sự cố dù có đến hàng triệu hàng tỷ người dùng không?

Một trong những yếu tố quan trọng đó là Google có một đội ngũ SRE – Site Reliability Enginner, những người đứng phía sau theo dõi, bảo trì hệ thống, xử lý sự cố khi có vấn đề xảy ra.

Site Reliability Engineering (SRE), hay còn gọi là Kỹ sư quản lý độ tin cậy, là khái niệm ra đời tại Google vào năm 2003, trước khi DevOps bắt đầu thịnh hành. Khi đó nhóm kỹ sư phần mềm được giao nhiệm vụ làm cho các trang web của Google trở nên đáng tin cậy, hiệu quả và luôn sẵn sàng để mở rộng. Các phương pháp mà họ phát triển đã đáp ứng rất tốt nhu cầu của Google đến mức các công ty công nghệ lớn khác, chẳng hạn như Amazon và Netflix, cũng áp dụng và mang lại các kết quả rất tốt.

SRE là gì?

SRE là phương pháp tiếp cận áp dụng kỹ thuật phần mềm vào quá trình 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.

Trong đó, đội ngũ SRE sử dụng phần mềm như một công cụ để quản lý hệ thống, giải quyết các vấn đề găp phải và tự động hóa các công việc vận hành.

Site reliability engineering (SRE) is a software engineering approach to IT operations. In general, an SRE team is responsible for availability, latency, performance, efficiency, change management, monitoring, emergency response, and capacity planning.

SRE teams use software as a tool to manage systems, solve problems, and automate operations tasks.

Công việc của SRE?

Về cơ bản, SRE đang thực hiện công việc mà trước đây được thực hiện bởi một đội vận hành (operations).

Điều khác biệt là SRE sử dụng các kỹ sư có chuyên môn về phần mềmnhững kỹ sư này có khả tự động hóa những hoạt động của con người.

Nói chung, nhóm SRE chịu trách nhiệm về tính sẵn sàng, độ trễ, hiệu suất, hiệu quả, quản lý thay đổi, giám sát, ứng phó khẩn cấp và hoạch định công suất.

Làm sao để trở thành một Site Reliability engineer?

Để trở thành một Site Reliability Engineer, bạn cần có background là kỹ sư phần mềm hoặc kỹ sư hệ thống. Điều quan trọng là bạn có được một nền tảng vững chắc trong cả hai lĩnh vực đó. Đồng thời bạn cần có ý thức về sự cải tiến và tự động hóa. Nếu bạn là một kỹ sư hệ thống và muốn cải tiến kỹ năng lập trình, hoặc bạn là một kỹ sư phần mềm và muốn học cách quản lý những hệ thống có quy mô lớn thì SRE chính là vị trí bạn nên hướng tới.

Tại sao SRE quan trọng?

SRE mang lại rất nhiều lợi ích ý nghĩa:

  • Giảm thiểu thời gian để sửa lỗi (time to repair – MTTR) và thời gian trung bình giữa hai lỗi (mean time between failures – MTBF)
  • Đẩy nhanh việc cập nhật phần mềm và sửa lỗi.
  • Giảm thiểu các rủi ro do con người bằng cách tự động hóa.
  • Giảm thiểu sự quá tải của nhân viên.
  • Cân bằng sự nỗ lực giữa các developers và đội SRE vì cả hai có cùng mục tiêu
  • Nâng cao sự bảo mật và tương thích

Khác nhau giữa SRE và Devops

Thuật ngữ SRE xuất hiện sau DevOps. Cụ thể là vào đầu những năm 2000, SRE được Google khởi động nhằm đáp ứng các nhu cầu nội bộ. Tuy độc lập với văn hóa DevOps nhưng “tình cờ” cả hai đều hướng đến cùng một lý tưởng.

DevOps nhằm mục đích thu hẹp khoảng cách giữa hoạt động phát triển và vận hành bằng cách phối hợp linh hoạt giữa công việc, mục tiêu và ý tưởng ​của 2 nhóm này theo 1 dạng “văn hóa”, SRE đặt nhóm phát triển vào vị trí đứng đầu của toàn bộ việc triển khai này.

Mặc dù DevOps và SRE nghe có vẻ như chúng ở hai phía đối diện, nhưng cả hai phương pháp đều có chung mục tiêu hướng tới sau cùng:

  • Giúp cho việc thay đổi liên tục nhanh và hiệu quả
  • Giảm số lượng của các tổ chức độc lập
  • Có được sự linh hoạt, tư tưởng mở và văn hóa làm việc theo dạng thích nghi
  • Sử dụng tự động hóa khi có thể
  • Giám sát hiệu năng và cải thiển khi cần thiết

DevOps aims to bridge the gap between development and operations by culturally aligning their tasks, objectives and initiatives, SRE places the development team at the head of the entire initiative. While DevOps and SRE sound like they’re on opposite sides of the spectrum, both approaches share the same end goals

  • To make incremental changes fast and efficiently
  • To reduce the number of organization silos
  • To have a flexible, open-minded and adaptable working culture
  • Use automation wherever possible
  • To monitor performance and improve when necessary

spectrum: phạm trù

Tham khảo:

https://toidicodedao.com/tag/site-reliability-engineering/

https://cloudfun.vn/threads/su-khac-biet-giua-sre-va-devops.449/

Leave a Reply

Your email address will not be published. Required fields are marked *