SRE là gì? Nó liên quan như thế nào đến

[ad_1]

Sửa máy tính tại nhà TPHCM

Shutterstock.com/Blackboard

SRE là viết tắt của Kỹ thuật độ tin cậy của trang web. Nó được xây dựng dựa trên các nguyên tắc của DevOps để mang lại cách tiếp cận dựa trên kỹ thuật cho các hoạt động CNTT. SRE sử dụng phần mềm để tự động hóa hoạt động của hệ thống, xác định các vấn đề và triển khai các giải pháp.

Khái niệm về SRE được phát triển tại Google. Nó dựa trên ý tưởng rằng mã và phần mềm là cách hiệu quả nhất để quản lý các hệ thống quy mô lớn. Các thủ tục thủ công do một nhóm riêng khởi xướng có nguy cơ bị giám sát và không nhất quán.

Trong bài viết này, bạn sẽ tìm hiểu SRE là gì và nó giúp hợp lý hóa các hoạt động trên đám mây như thế nào. Chúng tôi cũng sẽ giải thích nơi SRE trùng lặp với DevOps, cũng như các cách khác nhau của nó.

SRE phù hợp với phân phối phần mềm ở đâu?

SRE liên quan đến quản lý hoạt động. Nó đi vào quá trình phân phối phần mềm sau khi mã đã được phát triển, xem xét và triển khai. Các kỹ sư về độ tin cậy của trang web thường quan sát, duy trì và tối ưu hóa các dịch vụ đã triển khai đó, đảm nhận trách nhiệm của quản trị viên.

Đặc điểm khác biệt của SRE so với các hoạt động truyền thống là nó tập trung vào tự động hóa. Tất cả các kiểm soát cơ sở hạ tầng, quản lý thay đổi, đánh giá và ứng phó sự cố phải được tự động hóa trong mô hình. Người thực hành SRE tập trung vào việc cung cấp và chạy các công cụ phần mềm để đạt được các nhiệm vụ này, thay vì tương tác trực tiếp với hệ thống.

SRE thống nhất các khía cạnh khác nhau của kinh nghiệm quản lý hoạt động. Sử dụng quy trình dựa trên công cụ có nghĩa là có ít nơi xảy ra sự cố hơn. Điều này giúp tăng tính ổn định khi hệ thống phát triển, ngay cả khi quy mô của nhóm SRE vẫn ở trạng thái tĩnh.

Kỹ sư SRE thực sự làm gì?

Các kỹ sư của SRE thường là các nhà phát triển phần mềm, những người cũng có kinh nghiệm vận hành các dịch vụ sản xuất. Điều này mang lại cho họ nhận thức toàn diện về quy trình phân phối, từ cam kết mã đến giải quyết sự cố. Họ sẽ sử dụng kiến ​​thức này để thiết kế và thực hiện các cơ chế triển khai và giám sát môi trường trực tiếp.

Vì tên gọi là “độ tin cậy” theo nghĩa đen, các nhóm SRE cũng chịu trách nhiệm đo lường thời gian hoạt động và tìm ra cách để cải thiện nó. Các kỹ sư của SRE đặt ra các mục tiêu cấp độ dịch vụ (SLO) nhằm cung cấp các mục tiêu về độ tin cậy cho tổ chức. Họ sẽ thiết lập và quan sát các chỉ số mức dịch vụ (SLI) thông báo liệu các mục tiêu có được đáp ứng hay không, chẳng hạn như tỷ lệ lỗi, thông lượng yêu cầu và số lượng vé. Các SRE cũng sẽ tham gia vào việc viết các thỏa thuận cấp dịch vụ (SLA) được chia sẻ với khách hàng.

Các kỹ sư của SRE là những người gác cổng hiệu quả trong việc triển khai mới. Việc họ tập trung vào việc duy trì sự ổn định có nghĩa là đôi khi họ sẽ kích động việc triển khai bị đóng băng nếu SLO hoặc SLA sắp bị vi phạm. Nhóm SRE có thể chỉ đạo các nhà phát triển tập trung vào việc giải quyết nguyên nhân của các sự cố, thay vì tiếp tục triển khai công việc mới.

Không có dịch vụ nào có thể chạy với độ tin cậy 100%. SRE nhận ra điều này bằng cách cấp cho các nhà phát triển “ngân sách lỗi” mà họ được phép “chi tiêu”. Khi ngân sách đó bị vượt quá do lỗi, vé mới hoặc sự cố, việc giải quyết các vấn đề trở thành ưu tiên của mọi người cho đến khi ngân sách lỗi và SLO được khôi phục.

Đó có thể là một kỹ sư SRE, người hoàn thành công việc khắc phục này bằng cách viết mã mới. Vì nhóm SRE có kiến ​​thức nền tảng về kỹ thuật phần mềm, họ được trang bị để tự xử lý các vấn đề. Trong thời gian khi dịch vụ đang hoạt động tốt, những người trong vai trò SRE trở lại trở thành nhà phát triển bình thường. Các kỹ sư SRE của Google dự kiến ​​sẽ dành ít nhất một nửa thời gian của họ cho công việc phát triển.

Sự cân bằng duy nhất giữa phát triển và hoạt động này giúp duy trì khả năng giám sát quá trình giao hàng của kỹ sư SRE. Mức độ hiển thị của họ là vô giá khi phát hiện ra những rủi ro có thể gây ra sự cố. Nó cũng khuyến khích các kỹ sư giảm thiểu thời gian dành cho các nhiệm vụ vận hành bằng cách triển khai các công cụ mới và quy trình tự động. Điều này có thể tạo ra một chu trình tự duy trì: mức độ tự động hóa cao hơn thường làm cho dịch vụ đáng tin cậy hơn, giảm khối lượng công việc hoạt động cho nhóm SRE. Đổi lại, các kỹ sư được giải phóng để trở lại phát triển, tăng thông lượng.

Làm thế nào để SRE liên kết với DevOps?

DevOps là một thuật ngữ sâu rộng mô tả việc sử dụng các công nghệ và phương pháp luận hiện đại để cung cấp phần mềm chất lượng cao hơn một cách nhanh chóng hơn. Điều này đạt được bằng cách thu hẹp khoảng cách giữa các nhóm phát triển và vận hành, sau đó tự động hóa phân lớp trong quá trình phân phối phần mềm.

Cho đến nay điều này nghe tương tự như SRE. Tuy nhiên, SRE có một mục tiêu duy nhất trong tâm trí – độ tin cậy – trong khi DevOps cũng xem xét các mối quan tâm tiếp theo, chẳng hạn như hiệu quả của nhà phát triển và tốc độ phân phối. Đáng chú ý là DevOps thường được tiếp cận như một cầu nối giữa phát triển và hoạt động trong khi SRE kết hợp chúng lại với nhau. Trong SRE, các nhiệm vụ của nhà phát triển và hoạt động được hoàn thành bởi cùng một người, với sự phát triển thu hút phần lớn sự chú ý.

Vì những lý do này, SRE có thể được coi là một triển khai cụ thể của DevOps. Mặc dù các mục tiêu tổng thể tương tự nhau và được liên kết chặt chẽ, SRE mô tả một phương pháp đạt được chúng: sử dụng ngân sách lỗi, SLO và SLI để bảo vệ các dịch vụ chống lại lỗi, sau đó thực hiện các biện pháp bảo vệ cho phép sự sai lệch của công việc quay trở lại hướng phát triển.

Benjamin Treynor Sloss, kỹ sư của Google, người đã đặt ra thuật ngữ SRE, tuyên bố rằng SRE có thể được coi là “một triển khai cụ thể của DevOps với một số tiện ích mở rộng mang phong cách riêng”. Ngoài ra, bạn có thể đảo ngược mô hình và tiếp cận DevOps “như một sự tổng hợp của một số nguyên tắc SRE cốt lõi cho nhiều loại tổ chức, cơ cấu quản lý và nhân sự hơn”.

Một cách quan trọng mà SRE khác với DevOps là sự phụ thuộc của nó vào dữ liệu. DevOps thường được coi là một tập hợp các nguyên tắc để di chuyển mã hiệu quả từ máy trạm của nhà phát triển sang môi trường sản xuất. Điều này có nghĩa là làm việc về các cam kết, yêu cầu hợp nhất, đường ống và thùng chứa. SRE là một chiến lược để triển khai các thay đổi với độ tin cậy tối đa và giảm cơ hội hồi quy. SRE hiệu quả đòi hỏi sự quan sát và phân tích liên tục để tìm ra lỗi đã xảy ra ở đâu và chúng có thể lặp lại như thế nào trong tương lai. Nó mang tính điều tra và tự nhận thức nhiều hơn so với việc triển khai DevOps thông thường.

SRE có phải là một hướng đi tốt trong nghề nghiệp không?

SRE chỉ mới bắt đầu thu hút sự chú ý của cộng đồng gần đây. Việc tìm kiếm một vai trò SRE có thể là một thách thức vì nhiều tổ chức vẫn chưa nhận ra lợi ích của mô hình. Trong một số trường hợp, một dạng SRE có thể xuất hiện bên trong một tổ chức nhưng điều này có thể không được phản ánh trong các vai trò mà họ quảng cáo.

Mặc dù bản chất chuyên biệt của nó, SRE thường là một động thái nghề nghiệp tốt. Nó đòi hỏi sự giao thoa của các kỹ năng, trải dài từ phát triển phần mềm đến vận hành dịch vụ và ứng phó sự cố, với mức độ chuyên sâu của từng kỹ năng. Có rất ít ứng viên có thể đưa ra điều này, điều này có nghĩa là các vai trò SRE có xu hướng trở thành những vị trí sinh lợi.

Một phân tích của GitLab vào tháng 4 năm 2022 chỉ tìm thấy 21.000 SRE mở trong khi có 104.000 vị trí DevOps. Dữ liệu từ Glassdoor cho thấy mức lương lên đến 300.000 đô la cho công việc SRE, trái ngược với 234.000 đô la cho DevOps.

Chuyển sang vai trò SRE có thể là một cơ hội bổ ích cho những cá nhân muốn tiếp tục hoạt động trong lĩnh vực phát triển trong khi tích lũy kinh nghiệm vận hành dịch vụ. Nó đặc biệt phù hợp với những người thấy các vai trò quản trị viên truyền thống quá lặp đi lặp lại và thực hành. Là một SRE, bạn sẽ được kỳ vọng sẽ tự động hóa các hoạt động, tìm kiếm cơ hội để nâng cao chất lượng dịch vụ và đóng góp vào các nỗ lực phát triển thường xuyên sau khi máy nhắn tin sự cố không còn nữa.

Sự kết luận

Kỹ thuật độ tin cậy của trang web sử dụng các phương pháp thường được kết hợp với phát triển phần mềm để tự động hóa các hoạt động dịch vụ. Các kỹ sư của SRE là những nhà phát triển có kinh nghiệm, những người cũng quen thuộc với những thách thức của việc vận hành và mở rộng các dịch vụ trong sản xuất. Họ thiết lập một chuỗi công cụ để đo lường và tối ưu hóa độ tin cậy, đảm nhận các nhiệm vụ trước đây do quản trị viên hệ thống chuyên dụng xử lý.

SRE có thể được coi là một thực thi của các nguyên tắc DevOps. Việc bổ nhiệm các kỹ sư SRE nên mang lại một dịch vụ linh hoạt hơn, có thể chấp nhận sự thay đổi nhanh chóng. Điều này đạt được mục tiêu của DevOps là tăng tốc triển khai phần mềm mà không ảnh hưởng đến chất lượng. SRE đề ra một chiến lược cụ thể hướng tới điều này bằng cách nhấn mạnh vào việc đo lường dữ liệu, cũng như hợp nhất tài năng của nhà phát triển và hoạt động.

Trong khi DevOps hiện được hiểu rộng rãi trong cộng đồng, SRE vẫn là một lĩnh vực trọng tâm mới nổi của nhiều tổ chức. Các sơ hở có thể khó tìm hơn nhưng chúng có xu hướng sinh lợi nhiều hơn khi chúng xuất hiện. Điều này phản ánh nhóm kỹ năng đa dạng mà các kỹ sư SRE cần phải có. Nhu cầu có thể sẽ tăng nhanh trong vài năm tới, vì vậy, bây giờ là lúc các ứng viên và tổ chức bắt đầu chú ý đến sự chuyển hướng sang SRE.

dịch vụ cài win online từ xa

[ad_2]