Chuyển đến nội dung chính

Kỹ thuật quản lý độ tin cậy hệ thống là gì?

Kỹ thuật quản lý độ tin cậy hệ thống (SRE) là thực hành sử dụng công cụ phần mềm để tự động hóa tác vụ cơ sở hạ tầng CNTT như quản lý hệ thống và giám sát ứng dụng. Các tổ chức sử dụng SRE để đảm bảo các ứng dụng phần mềm của họ vẫn đáng tin cậy giữa các bản cập nhật thường xuyên từ các nhóm phát triển. SRE đặc biệt cải thiện độ tin cậy của các hệ thống phần mềm có thể mở rộng bởi việc quản lý một hệ thống lớn sử dụng phần mềm bền vững hơn việc quản lý hàng trăm máy theo cách thủ công. 

Tại sao kỹ thuật quản lý độ tin cậy hệ thống lại quan trọng?

Độ tin cậy hệ thống mô tả tính ổn định và chất lượng dịch vụ do ứng dụng cung cấp sau khi được cung cấp cho người dùng cuối. Đôi khi, quá trình duy trì phần mềm ảnh hưởng tới độ tin cậy của phần mềm nếu những vấn đề kỹ thuật không được phát hiện. Ví dụ: khi các nhà phát triển thực hiện thay đổi mới, họ có thể vô tình tác động tới ứng dụng hiện tại và khiến ứng dụng đó gặp sự cố trong một số trường hợp sử dụng nhất định.

Sau đây là một số lợi ích của biện pháp thực hành kỹ thuật quản lý độ tin cậy hệ thống (SRE).

Cải thiện khả năng cộng tác

SRE cải thiện quan hệ cộng tác giữa đội ngũ phát triển và vận hành. Các nhà phát triển thường phải đưa ra các thay đổi nhanh chóng cho một ứng dụng để phát hành những tính năng mới hoặc sửa lỗi nghiêm trọng. Mặt khác, đội ngũ vận hành phải đảm bảo phân phối dịch vụ liền mạch. Do đó, đội ngũ vận hành sử dụng các biện pháp thực hành SRE để giám sát chặt chẽ mọi cập nhật và kịp thời phản ứng với bất kỳ vấn đề nào phát sinh do thay đổi.

Nâng tầm trải nghiệm của khách hàng

Các tổ chức sử dụng mô hình SRE để đảm bảo lỗi phần mềm không tác động tới trải nghiệm của khách hàng. Ví dụ: đội ngũ phần mềm sử dụng các công cụ SRE để tự động hóa vòng đời phát triển phần mềm. Việc này giúp giảm lỗi, tức là đội ngũ có thể ưu tiên phát triển tính năng mới hơn là sửa lỗi.

Cải thiện kế hoạch vận hành

 Đội ngũ SRE chấp nhận khả năng thực tế là phần mềm có thể bị lỗi. Do đó, đội ngũ lên kế hoạch ứng phó với sự cố sao cho thích hợp để giảm thiểu tác động của thời gian ngừng hoạt động tới doanh nghiệp và người dùng cuối. Họ cũng có thể ước tính sát hơn chi phí của thời gian ngừng hoạt động và nắm bắt tác động của những sự cố như vậy tới hoạt động kinh doanh. 

Các nguyên tắc chính trong kỹ thuật quản lý độ tin cậy hệ thống là gì?

Sau đây là một số nguyên tắc chính về kỹ thuật quản lý độ tin cậy hệ thống (SRE).

Giám sát ứng dụng

Đội ngũ SRE chấp nhận lỗi là một phần của quá trình triển khai phần mềm. Thay vì dốc sức tìm kiếm một giải pháp hoàn hảo, họ giám sát hiệu năng phần mềm theo thỏa thuận mức dịch vụ (SLA), chỉ báo mức dịch vụ (SLI) và mục tiêu mức dịch vụ (SLO). Họ quan sát và giám sát chỉ số hiệu năng sau khi triển khai ứng dụng trong các môi trường sản xuất. 

Triển khai thay đổi từ từ

Các biện pháp thực hành SRE khuyến khích phát hành thay đổi thường xuyên nhưng với lượng nhỏ để duy trì độ tin cậy hệ thống. Các công cụ tự động hóa của SRE áp dụng quy trình nhất quán mà có thể lặp đi lặp lại để thực hiện những việc sau:

  • Giảm rủi ro do thay đổi
  • Cung cấp các vòng lặp phản hồi để đo lường hiệu năng hệ thống
  • Tăng tốc độ và hiệu quả của quá trình triển khai thay đổi

Tự động hóa để cải thiện độ tin cậy

SRE sử dụng các chính sách và quy trình lồng ghép những nguyên tắc về độ tin cậy trong mọi bước của quy trình phân phối. Một số chiến lược tự động giải quyết vấn đề bao gồm:

  • Phát triển cổng chất lượng dựa trên mục tiêu mức dịch vụ để phát hiện vấn đề sớm hơn
  • Tự động hóa kiểm thử bản dựng bằng cách sử dụng chỉ báo mức dịch vụ
  • Đưa ra các quyết định về kiến trúc để đảm bảo khả năng phục hồi của hệ thống từ khi bắt đầu phát triển phần mềm

Khả năng quan sát trong kỹ thuật quản lý độ tin cậy hệ thống là gì?

Khả năng quan sát là quá trình chuẩn bị giúp đội ngũ phần mềm sẵn sàng trước những tình huống bất ngờ khi phần mềm bắt đầu được đưa đến tay người dùng cuối. Các đội ngũ kỹ thuật độ tin cậy của trang web (SRE) sử dụng công cụ để phát hiện những hành vi bất thường trong phần mềm và quan trọng hơn là thu thập thông tin, qua đó giúp các nhà phát triển nắm bắt nguyên nhân của vấn đề. Khả năng quan sát liên quan đến việc thu thập những thông tin sau bằng công cụ SRE. 

Chỉ số 

Chỉ số là giá trị định lượng được, phản ánh hiệu năng của ứng dụng hoặc tình trạng của hệ thống. Đội ngũ SRE sử dụng chỉ số để xác định phần mềm có tiêu thụ tài nguyên quá mức hay có hành vi bất thường không.

Bản ghi

Phần mềm SRE tạo ra các thông tin chi tiết, được gắn nhãn thời gian gọi là bản ghi nhằm phản hồi lại các sự kiện cụ thể. Các kỹ sư phần mềm sử dụng bản ghi để nắm bắt chuỗi sự kiện dẫn tới một vấn đề cụ thể. 

Vết 

Vết là quan sát đường dẫn mã của một hàm cụ thể trong hệ thống phân tán. Ví dụ: việc thanh toán giỏ hàng có thể liên quan tới:

  • Khớp giá với cơ sở dữ liệu
  • Xác thực với cổng thanh toán
  • Gửi đơn hàng cho nhà cung cấp

Vết bao gồm ID, tên và thời gian. Vết giúp các nhà phát triển phần mềm phát hiện vấn đề về độ trễ và cải thiện hiệu năng phần mềm. 

Giám sát trong kỹ thuật quản lý độ tin cậy hệ thống là gì?

Giám sát là quá trình quan sát những chỉ số được xác định trước trong ứng dụng. Các nhà phát triển quyết định thông số đóng vai trò quan trọng trong việc xác định tình trạng ứng dụng và cài đặt những thông số đó trong công cụ giám sát. Đội ngũ kỹ thuật quản lý độ tin cậy hệ thống (SRE) thu thập thông tin quan trọng phản ánh hiệu năng của hệ thống và trực quan hóa kết quả thu được bằng biểu đồ.

Trong SRE, đội ngũ phần mềm giám sát những chỉ số này để thu được thông tin chuyên sâu về độ tin cậy hệ thống.

Độ trễ 

Độ trễ mô tả sự chậm trễ khi ứng dụng phản hồi một yêu cầu. Ví dụ: mất 3 giây để gửi biểu mẫu trên trang web trước khi người dùng được chuyển hướng tới trang web xác nhận. 

Lưu lượng truy cập

Lưu lượng truy cập đo lường số người dùng đồng thời truy cập dịch vụ của bạn. Chỉ số này giúp đội ngũ phần mềm lập ngân sách tài nguyên điện toán sao cho phù hợp để duy trì mức dịch vụ thỏa đáng cho mọi người dùng.

Lỗi

Lỗi là một tình trạng, trong đó ứng dụng không thể thực hiện hoặc phân phối chức năng như mong đợi. Ví dụ: khi trang web không tải được hoặc giao dịch không được thực hiện, đội ngũ SRE sẽ sử dụng công cụ phần mềm để tự động theo dõi và phản ứng với lỗi trong ứng dụng. 

Độ bão hòa

Độ bão hòa cho biết công suất của ứng dụng theo thời gian thực. Mức độ bão hòa cao thường làm suy giảm hiệu năng. Các kỹ sư về độ tin cậy của trang web giám sát mức độ bão hòa và đảm bảo chỉ số này nằm dưới một ngưỡng cụ thể. 

Kỹ thuật quản lý độ tin cậy hệ thống có các chỉ số chính nào?

Đội ngũ Kỹ thuật quản lý độ tin cậy hệ thống (SRE) đo lường chất lượng phân phối dịch vụ và độ tin cậy bằng cách sử dụng những chỉ số sau. 

Mục tiêu mức dịch vụ

Mục tiêu mức dịch vụ (SLO) là những mục tiêu cụ thể và định lượng được mà bạn tin là phần mềm có thể đạt được với chi phí hợp lý so với các chỉ số khác, chẳng hạn như sau: 

  • Thời gian hoạt động, hay thời gian mà hệ thống hoạt động
  • Thông lượng hệ thống
  • Đầu ra hệ thống
  • Tốc độ tải xuống, hay tốc độ tải của ứng dụng

SLO cam kết phân phối thông qua phần mềm cho khách hàng. Ví dụ: bạn đặt thời gian hoạt động SLO 99,95% cho ứng dụng giao đồ ăn của công ty.

Chỉ báo mức dịch vụ

Chỉ báo mức dịch vụ (SLI) là những phép đo lường thực tế các chỉ số mà SLO xác định. Trong các tình huống thực tế, bạn có thể nhận được giá trị khớp hoặc khác với SLO. Ví dụ: ứng dụng của bạn đang hoạt động và thời gian chạy là 99,92%, mức này thấp hơn so với SLO đã cam kết. 

Thỏa thuận mức dịch vụ

Thỏa thuận mức dịch vụ (SLA) là tài liệu pháp lý nêu rõ điều gì sẽ xảy ra nếu không đáp ứng một hoặc nhiều SLO. Ví dụ: SLA nêu rõ đội ngũ kỹ thuật sẽ giải quyết vấn đề của khách hàng trong vòng 24 giờ sau khi tiếp nhận báo cáo. Nếu đội ngũ của bạn không thể giải quyết vấn đề trong thời hạn đã chỉ định, bạn có thể phải thực hiện nghĩa vụ hoàn tiền cho khách hàng.

Ngân sách lỗi

Ngân sách lỗi là khả năng chịu lỗi không tuân thủ SLO. Ví dụ: thời gian hoạt động 99,95% trong SLO nghĩa là thời gian ngừng hoạt động được phép là 0,05%. Nếu thời gian phần mềm ngừng hoạt động vượt quá ngân sách lỗi, đội ngũ phần mềm sẽ dành hết mọi tài nguyên và tâm trí để ổn định ứng dụng.

Kỹ thuật quản lý độ tin cậy hệ thống hoạt động như thế nào?

Kỹ thuật quản lý độ tin cậy hệ thống (SRE) liên quan đến việc kỹ sư quản lý độ tin cậy hệ thống tham gia vào đội ngũ phần mềm. Đội ngũ SRE đặt ra các chỉ số chính cho SRE và tạo ngân sách lỗi được xác định từ mức chịu rủi ro của hệ thống. Nếu số lượng lỗi ít, đội ngũ phát triển có thể phát hành các tính năng mới. Tuy nhiên, nếu số lỗi vượt quá ngân sách lỗi cho phép, đội ngũ sẽ tạm hoãn những thay đổi mới và giải quyết vấn đề hiện có.

Ví dụ: kỹ sư độ tin cậy của trang web sử dụng dịch vụ để giám sát chỉ số hiệu năng và phát hiện hành vi bất thường của ứng dụng. Nếu ứng dụng gặp vấn đề, đội ngũ SRE sẽ gửi báo cáo cho đội ngũ kỹ thuật phần mềm. Các nhà phát triển khắc phục những trường hợp trong báo cáo và ra mắt ứng dụng cập nhật.

DevOps

DevOps là văn hóa phần mềm phá vỡ ranh giới truyền thống của các đội ngũ phát triển và vận hành. Với DevOps, các nhà phát triển và kỹ sư vận hành không còn làm việc tách biệt nữa. Thay vào đó, họ sử dụng các công cụ phần mềm để cải thiện hoạt động cộng tác và bắt kịp nhịp độ gấp rút của những đợt phát hành bản cập nhật phần mềm.

SRE so với DevOps 

SRE là quá trình triển khai thực tế của DevOps. DevOps cung cấp nền tảng triết lý về những hoạt động phải thực hiện để duy trì chất lượng phần mềm trong bối cảnh tiến độ phát triển ngày càng rút ngắn. Kỹ thuật độ tin cậy của trang web đưa ra lời giải về cách đạt được thành công của DevOps. SRE đảm bảo đội ngũ DevOps đạt được sự cân bằng thích hợp giữa tốc độ và tình trạng ổn định. 

Trách nhiệm của kỹ sư quản lý độ tin cậy hệ thống là gì?

Kỹ sư quản lý độ tin cậy hệ thống là chuyên gia CNTT. Họ sử dụng công cụ tự động hóa để giám sát và quan sát độ tin cậy của phần mềm trong môi trường sản xuất. Họ cũng có kinh nghiệm trong việc khám phá vấn đề trong phần mềm và viết mã để khắc phục những vấn đề đó. Họ thường là cựu quản trị viên hệ thống hoặc kỹ sư vận hành có kỹ năng viết mã tốt. Sau đây là một số trách nhiệm về độ tin cậy hệ thống.

Vận hành

Kỹ sư quản lý độ tin cậy hệ thống dành tới một nửa thời gian của mình cho hoạt động vận hành. Việc này bao gồm một số tác vụ, chẳng hạn như: 

  • Phản ứng với sự cố khẩn cấp
  • Quản lý thay đổi
  • Quản lý cơ sở hạ tầng CNTT

Kỹ sư sử dụng công cụ SRE để tự động hóa một số tác vụ vận hành và tăng hiệu quả của đội ngũ.

Hỗ trợ hệ thống

Kỹ sư quản lý độ tin cậy hệ thống hợp tác chặt chẽ với đội ngũ phát triển để tạo ra nhiều tính năng mới, cũng như ổn định hệ thống sản xuất. Họ xây dựng một quy trình SRE cho toàn bộ đội ngũ phần mềm và luôn sẵn sàng hỗ trợ truyền đạt vấn đề lên cấp trên. Quan trọng hơn, đội ngũ quản lý độ tin cậy hệ thống cung cấp các quy trình được ghi lại cho bộ phận hỗ trợ khách hàng, qua đó giúp họ giải quyết khiếu nại một cách hiệu quả. 

Cải tiến quy trình

Kỹ sư quản lý độ tin cậy hệ thống cải thiện vòng đời phát triển phần mềm bằng cách tiến hành đánh giá sau sự cố. Đội ngũ SRE ghi chép tất cả vấn đề về phần mềm và giải pháp tương ứng trong một cơ sở kiến thức chung. Việc này giúp đội ngũ phần mềm phản ứng hiệu quả với những vấn đề tương tự trong tương lai. 

Kỹ thuật quản lý độ tin cậy hệ thống có những công cụ phổ biến nào?

Đội ngũ Kỹ thuật quản lý độ tin cậy hệ thống (SRE) sử dụng nhiều loại công cụ khác nhau để tạo điều kiện giám sát, quan sát và phản ứng với sự cố. 

Trình điều phối bộ chứa 

Các nhà phát triển phần mềm sử dụng trình điều phối bộ chứa để chạy ứng dụng nằm trong bộ chứa trên nhiều nền tảng khác nhau. Các ứng dụng nằm trong bộ chứa lưu trữ tệp mã và tài nguyên liên quan trong một gói duy nhất gọi là bộ chứa. Ví dụ: kỹ sư phần mềm sử dụng Dịch vụ Kubernetes linh hoạt Amazon (Amazon EKS) để chạy và điều chỉnh quy mô ứng dụng trên đám mây. 

Công cụ quản lý ca trực 

Công cụ quản lý ca trực là phần mềm cho phép đội ngũ SRE lên kế hoạch, sắp xếp và quản lý nhân sự hỗ trợ giải quyết vấn đề phần mềm được báo cáo. Đội ngũ SRE sử dụng phần mềm để đảm bảo luôn có đội ngũ hỗ trợ túc trực, sẵn sàng tiếp nhận cảnh báo kịp thời về vấn đề phần mềm. 

Công cụ phản hồi sự cố 

Công cụ phản hồi sự cố đảm bảo lộ trình rõ ràng để truyền đạt vấn đề phần mềm được phát hiện lên cấp trên. Các đội ngũ SRE sử dụng những công cụ phản ứng với sự cố để phân loại mức độ nghiêm trọng của trường hợp trong báo cáo và kịp thời giải quyết sự cố. Công cụ này cũng có thể cung cấp báo cáo phân tích sau sự cố để ngăn chặn vấn đề tương tự tái diễn trong tương lai. 

Công cụ quản lý cấu hình

Công cụ quản lý cấu hình là phần mềm tự động hóa quy trình làm việc của phần mềm. Đội ngũ SRE sử dụng những công cụ này để loại bỏ tác vụ lặp đi lặp lại cũng như để làm việc năng suất hơn. Ví dụ: kỹ sư quản lý độ tin cậy hệ thống sử dụng AWS OpsWorks để tự động thiết lập và quản lý máy chủ trong môi trường AWS. 

AWS hỗ trợ kỹ thuật quản lý độ tin cậy hệ thống như thế nào?

 

Các dịch vụ Quản lý và quản trị trên AWS cung cấp công cụ cần thiết để đội ngũ phần mềm xây dựng, điều chỉnh quy mô và triển khai ứng dụng phân tán mà không ảnh hưởng đến độ tin cậy hệ thống. Đội ngũ kỹ thuật quản lý độ tin cậy hệ thống (SRE) sử dụng nhiều dịch vụ Quản lý và quản trị khác nhau trên AWS để giám sát và quản trị tài nguyên điện toán tại chỗ và trên AWS:

  • Danh mục dịch vụ AWS cho phép đội ngũ SRE lập danh mục, quản lý và nhanh chóng triển khai dịch vụ CNTT
  • Trình quản lý hệ thống AWS cung cấp trung tâm quản lý tập trung để kỹ sư quản lý độ tin cậy hệ thống thu thập thông tin vận hành chuyên sâu về tài nguyên điện toán của phần mềm
  • AWS Proton là công cụ quản lý tự động hóa để triển khai ứng dụng phi máy chủ và nằm trong bộ chứa

Bắt đầu với kỹ thuật quản lý độ tin cậy hệ thống trên AWS bằng cách tạo tài khoản AWS ngay hôm nay.