Có không ít người khi mới bắt đầu tìm hiểu về SRE thường nhầm lẫn ngành này với DevOps. Thực tế cho thấy đây là hai lĩnh vực riêng biệt nhưng lại có sự tương đồng, chồng chéo nhau khá lớn. Ở bài viết này, topviecit.vn sẽ giúp bạn hiểu hơn về lĩnh vực SRE là gì cũng như những điển khác biệt giữa SRE và DevOps.
Tìm hiểu về SRE là gì?
SRE là gì?
SRE là viết tắt của cụm từ Site Reliability Engineering, nghĩa là Kỹ sư quản lý độ tin cậy. Đây là khái niệm ra đời vào năm 2003 do Google định nghĩa và phổ biến cho tới ngày này. SRE là sự hợp nhất giữa các phần mềm với các nguyên tắc vận hành.
Cụ thể, các kỹ sư Site Reliability sẽ dành thời gian để phát triển các phần mềm giúp tự động hóa các hoạt động trong quá trình phát triển và vận hành sản phẩm. Họ sẽ xây dựng các công cụ, phần mềm tự phục vụ cho các nhân viên theo nhu cầu sử dụng. Đây sẽ là cầu nối giúp hai bộ phận Dev và Ops kết nối và chia sẻ thông tin, đẩy nhanh hiệu suất cũng như sự thống nhất công việc giữa hai bên.
Tìm hiểu thêm: Kỹ Sư IT Là Gì? Lương Kỹ Sư IT Ở Việt Nam Cao Không?
Lợi ích của SRE là gì?
Việc áp dụng SRE vào quá trình phát triển phần mềm mang lại nhiều lợi ích thực tế cho doanh nghiệp. Cụ thể như sau:
- Giảm thiểu thời gian cho quá trình sửa lỗi do luôn đưa ra công thức cân bằng cho các sự cố và thất bại. Đây là tiền đề nhằm hạn chế các lỗi có thể xảy ra trong lần phát hành mới.
- Giảm thiểu các rủi ro nhờ các công cụ và quy trình làm việc liên tục được tự động hóa.
- Giảm thiểu áp lực cho đội ngũ nhân sự khi chỉ cần tập trung vào các giá trị lâu dài.
- Thống nhất mục tiêu, cân bằng các yêu cầu cũng như quá trình làm việc cho hai bộ phận Dev và Ops.
- Nâng cao mức độ bảo mật và tương thích giữa các bộ phận vì toàn bộ hệ thống đều dùng chung các công cụ và công nghệ.
Tìm hiểu thêm: So Sánh Các Mô Hình Phát Triển Phần Mềm Hot Nhất 2022
Mô tả công việc của kỹ sư SRE – Site Reliability Engineering
Kỹ sư SRE làm gì?
Kỹ sư Site Reliability Engineering là những người có kinh nghiệm vận hành dịch vụ sản xuất và cũng là các nhà phát triển phần mềm. Cụ thể công việc của kỹ sư SRE như sau:
- Chịu trách nhiệm kiểm soát toàn diện từ quy trình phân phối, cam kết đến giải quyết các sự cố.
- Đo lường thời gian hoạt động các phần mềm và tìm cách cải thiện, nâng cấp.
- Thiết lập các chuẩn mực về mức dịch vụ (SLO) để hỗ trợ cho mục tiêu về độ tin cậy của tổ chức. Ví dụ họ sẽ quan sát chỉ số mức độ dịch vụ (SLI) về tỷ lệ lỗi, số lượng vé yêu cầu,… nhằm xác định mục tiêu có được đáp ứng hay không.
- Là người “gác cổng” với những dự án mới. Họ sẽ giúp đội ngũ phát triển giải quyết tận gốc các vấn đề, đồng thời duy trì sự ổn định cho các công việc đã triển khai.
Ngoài ra, SRE có thể đóng vai trò là những nhà phát triển chính thống. Bởi họ đều có kiến thức chuyên sâu về kỹ thuật phần mềm, viết được mã mới để giải quyết vấn đề. Ví dụ tại Google, kỹ sư SRE sẽ dành tối thiểu 1/2 thời gian để phát triển.
Mức lương của kỹ sư Site Reliability như thế nào?
Từ những mô tả cụ thể về SRE là gì phía trên có thể nhận thấy tầm quan trọng của SRE đối với doanh nghiệp. Vì vậy mức lương của vị trí này sẽ khá cao so với mặt bằng chung các ngành nghề hiện nay.
Nếu tìm hiểu về vị trí này trên các trang tuyển dụng ngành IT, bạn có thể dễ dàng tìm thấy các vị trí nhân viên SRE tại các doanh nghiệp với mức lương giao động từ 1000 – 15000 USD/ tháng. Còn với vị trí quản lý, bạn hoàn toàn có thể đạt tới mức thu nhập 3500 USD/ tháng nếu làm việc tại các doanh nghiệp, tập đoàn lớn.
Xem thêm: Hé Lộ Mức Lương Ngành Công Nghệ Thông Tin – Có Cao Như Lời Đồn?
Những điểm khác biệt giữa DevOps và SRE là gì?
DevOps là gì?
DevOps là khái niệm tổng hợp của 2 từ Development và Operations. Vậy tại sao lại có sự kết hợp này? Trước đây, quá trình phát triển phần mềm được phân hóa thành hai giai đoạn là:
- Development chuyên nghiên cứu, xây dựng và phát triển hệ thống phần mềm với sự tham gia của designer, developer,…
- Operations chuyên vận hành và kiểm thử phần mềm với sự tham gia của system engineer, system administrator,…
Sự phân chia này giúp chuyên môn hóa nhiệm vụ của từng phòng ban nhưng lại tạo sự mâu thuẫn do mỗi bộ phận có những yêu cầu kỹ thuật riêng. Do đó cần một vị trí để thống nhất hoạt động của hai bên, đó chính là DevOps.
Thực tế khái niệm DevOps là cách suy nghĩ, văn hóa làm việc mới giúp thu hẹp khoảng cách giữa các nhóm lập trình viên, nhóm vận hành và cả các nhóm QA. Kỹ sư DevOps sẽ là người vừa am hiểu phát triển lẫn vận hành phần mềm để đảm bảo công việc giữa các phòng ban có sự phối hợp nhịp nhàng.
Xem thêm: DevOps Là Gì? Bật Mí Những Kỹ Năng Cần Có Của Một DevOps Engineer
Khác nhau giữa SRE và Devops là gì?
Nhiều người cho rằng SRE khá tương tự như DevOps. Tuy nhiên thực tế đây là hai quy tắc bổ sung, hỗ trợ lẫn nhau. Dưới đây là một số đặc điểm giúp bạn phân biệt DevOps và SRE theo Google:
DevOps | SRE |
Phá vỡ rào cản “Silo”, tăng cường sự hợp tác các bộ phận trong tổ chức | Dùng chung các công cụ và công nghệ trên toàn hệ thống nên có quyền quản trị tương đương Dev |
Chấp nhận sự thất bại | Chấp nhận thất bại và đưa ra công thức giúp cân bằng sự cố và thất bại cho lần sau |
Thay đổi dần dần theo từng bước | Khuyến khích giảm chi phí thất bại và thay đổi nhanh chóng để đẩy nhanh quá trình |
Tận dụng tối đa các công vụ và phần mềm tự động hóa | Tự động hóa các công cụ, quy trình thủ công để tập trung vào các giá trị lâu dài |
Đo lường mọi thứ | Đo lường các tính khả dụng, tính sẵn sàng, thời gian hoạt động của quá trình Operations |
Một số câu hỏi khác về SRE
Có những vị trí nào trong team SRE?
- SRE Team Lead – Trưởng nhóm team SRE: Trưởng nhóm sẽ phân chia cụ thể công việc cho các nhân viên SRE khác, tham gia thiết kế cơ sở hạ tầng và quy trình làm việc cho các thành viên trong team.
- System Architect – Kiến trúc sư thiết kế phần mềm: Chịu trách nhiệm xây dựng hệ thống, phần mềm minh bạch, có khả năng mở rộng để tăng độ tin cậy cho sản phẩm.
- SRE Infrastructure Engineer – Kỹ sư cơ sở hạ tầng: Đây là vị trí có 50% công việc liên quan đến SRE và 50% về DevOps. Công việc kỹ sư cơ sở hạ tầng là đảm bảo mọi hệ thống công nghệ thông tin hỗ trợ cho các doanh nghiệp hoạt động hiệu quả.
- Release manager – Quản lý phát hành & triển khai: Quản lý sẽ chịu trách nhiệm lên kế hoạch và thực thi các chiến lược phát hành code và khôi phục nếu có.
- Monitoring engineer – Kỹ sư giám sát: Chịu trách nhiệm giám sát 4 dấu hiệu quan trọng: độ trễ, độ bão hòa, lỗi và lưu lượng truy cập.
Tìm hiểu thêm: Software Engineer Là Gì? Lương Có Cao Không?
Những kỹ năng nhân viên SRE cần có là gì?
Kỹ năng chuyên môn
- Hiểu biết về DevOps và biết cách áp dụng.
- Nắm vững các kiến thức về quản lý phiên bản (version control)
- Thành thạo về CI/CD (Continuous Integration and Continuous Delivery)
- Thành thạo hệ điều hành Linux
- Có kinh nghiệm viết code.
- Có kiến thức về nền tảng phần mềm (software stack)
- Phân tích nghiệp vụ (Business analysis)
- Chuyên gia về xử lý các vấn đề hay xử lý sự cố.
Kỹ năng mềm
- Kỹ năng giải quyết vấn đề
- Làm việc nhóm
- Có khả năng làm việc dưới áp lực cao
- Giao tiếp tốt, xét về cả mặt lời nói và văn bản
- Có khả năng diễn giải kỹ thuật cho nhiều đối tượng khác nhau.
Có thể bạn quan tâm: Học IT Có Khó Không? Cơ Hội Việc Làm Của Ngành IT Sau Khi Ra Trường?
Trên đây là toàn bộ thông tin mà chúng tôi muốn gửi tới bạn về vị trí SRE là gì. Đây là vị trí có vai trò cực kỳ quan trọng trong các doanh nghiệp với nhu cầu tuyển dụng lớn. Bên cạnh đó, bạn cũng có thể truy cập vào mục chia sẻ kinh nghiệm để tham khảo thêm nhiều kiến thức thú vị về lĩnh vực IT. Nếu bạn cũng đang tìm kiếm việc làm IT, hãy truy cập vào TopCV để tiếp cận nhiều cơ hội hấp dẫn hơn nhé.