Làm thế nào để bạn tính toán Thỏa thuận cấp độ dịch vụ hỗn hợp (SLA) cho các dịch vụ đám mây?


27

Dịch vụ đám mây được tổ chức bởi Amazon Web Services , Azure , Google và hầu hết những người khác công bố S ervice L Evel Một greement , hoặc SLA, cho các dịch vụ cá nhân mà họ cung cấp. Kiến trúc sư, Kỹ sư nền tảng và Nhà phát triển sau đó chịu trách nhiệm kết hợp những thứ này lại với nhau để tạo ra một kiến ​​trúc cung cấp dịch vụ lưu trữ cho một ứng dụng.

Được thực hiện một cách cô lập, các dịch vụ này thường cung cấp một cái gì đó trong phạm vi từ ba đến bốn chín sẵn có:

  • Trình quản lý lưu lượng Azure: 99,99% hoặc 'bốn số'.
  • SQL Azure: 99,99% hoặc 'bốn số'.
  • Dịch vụ ứng dụng Azure: 99,95% hoặc 'ba chín năm'.

Tuy nhiên, khi kết hợp với nhau trong các kiến ​​trúc, có khả năng bất kỳ một thành phần nào cũng có thể bị mất điện dẫn đến tính khả dụng tổng thể không bằng các dịch vụ thành phần.

Sẵn có hợp chất nối tiếp

Sẵn có nối tiếp

Trong ví dụ này, có ba chế độ thất bại có thể xảy ra:

  • SQL Azure không hoạt động
  • Dịch vụ ứng dụng ngừng hoạt động
  • Cả hai đều xuống

Do đó, tính khả dụng chung của "hệ thống" này phải thấp hơn 99,95%. Lý do của tôi khi nghĩ điều này là nếu SLA cho cả hai dịch vụ là:

Dịch vụ sẽ hoạt động 23 giờ trong số 24

Sau đó:

  • Dịch vụ ứng dụng có thể nằm ngoài từ 0100 đến 0200
  • Cơ sở dữ liệu trong khoảng từ 0500 đến 0600

Cả hai bộ phận cấu thành đều nằm trong SLA của chúng nhưng toàn bộ hệ thống không khả dụng trong 2 giờ trong số 24 giờ.

Sẵn có nối tiếp và song song

Sẵn có nối tiếp và song song

Trong kiến ​​trúc này, có một số lượng lớn các chế độ thất bại, tuy nhiên, chủ yếu là:

  • Máy chủ SQL trong VùngA không hoạt động
  • Máy chủ SQL trong VùngB không hoạt động
  • Dịch vụ ứng dụng trong VùngA ngừng hoạt động
  • Dịch vụ ứng dụng trong VùngB ngừng hoạt động
  • Quản lý giao thông ngừng hoạt động
  • Sự kết hợp ở trên

Bởi vì Trình quản lý lưu lượng là một bộ ngắt mạch, nó có khả năng phát hiện sự cố ngừng hoạt động ở một trong hai khu vực và định tuyến lưu lượng truy cập đến khu vực làm việc, tuy nhiên vẫn có một điểm lỗi duy nhất ở dạng Trình quản lý lưu lượng, do đó, toàn bộ "hệ thống" không thể có cao hơn 99,99%.

Làm thế nào tính khả dụng gộp của hai hệ thống trên có thể được tính toán và ghi lại cho doanh nghiệp, có khả năng yêu cầu tìm kiếm lại nếu doanh nghiệp mong muốn mức dịch vụ cao hơn kiến ​​trúc có khả năng cung cấp?

Nếu bạn muốn chú thích các sơ đồ, tôi đã xây dựng chúng trong Biểu đồ Lucid và tạo một liên kết đa sử dụng, hãy nhớ rằng bất kỳ ai cũng có thể chỉnh sửa biểu đồ này để bạn có thể muốn tạo một bản sao của các trang để chú thích.


SLA thấp nhất từ ​​SPOF, giả sử ứng dụng của bạn có thể đối phó với việc phá vỡ phiên?
Tensibai

1
@Tensibai - Tôi không nghĩ nó có thể, dựa trên ví dụ đầu tiên của tôi nếu SLA cho cả hai dịch vụ sẽ có sẵn 23 giờ trong số 24 sau đó, Dịch vụ Ứng dụng có thể nằm ngoài từ 0100 đến 0200 và Cơ sở dữ liệu nằm giữa 0500 và 0600, cả hai bộ phận đều nằm trong SLA của chúng nhưng toàn bộ hệ thống không khả dụng trong 2 giờ trong số 24. Có ý nghĩa gì không?
Richard Slater

Đúng, có ý nghĩa, nhưng trong trường hợp này kết quả có nên là sản phẩm của tất cả không?
Tensibai

Ý tôi là ứng dụng 99,95 x sql 99,95 nên là tính khả dụng chung của nhóm
Tensibai

Cũng nên nhớ rằng bạn có thể xây dựng một hệ thống đáng tin cậy hơn các thành phần của nó, thông qua thử lại hoặc thất bại hoặc xuống cấp thay vì thất bại hoàn toàn.
Xiong Chiamiov

Câu trả lời:


19

Tôi coi đó là một vấn đề toán học với SLA là xác suất ổn.

Trong trường hợp này, chúng ta có thể dựa vào các quy tắc xác suất để có được một tổng thể.

Đối với trường hợp đầu tiên của bạn, xác suất Dịch vụ Ứng dụng (A) và Dịch vụ Sql (B) không hoạt động cùng lúc là sản phẩm của xác suất của họ:

P(A)*P(B) = 0.0005 * 0.0005 = 0,00000025

Xác suất mà một trong số họ giảm là tổng xác suất của họ:

P(A)+P(B) = 0.001

Khi hai sự kiện là độc lập, công thức kết quả sẽ tính đến xác suất của cả hai sự cố là:

P(A,B) = P(A) + P(B) - P(A)*P(B) = 0.001 - 0,00000025 = 0,00099975

Vì vậy, SLA tổng thể sẽ được tính 1 - 0,00099975 = 0,99900025theo phần trăm là99.900025 %

Một sự đơn giản hóa là sản phẩm của xác suất đầu tiên : 0.9995 * 0.9995 = 0,99900025.

Áp dụng cho thời gian ngừng hoạt động 1h / 24h của bạn (4.166666% mỗi ngày), điều này mang lại (số thập phân được viết tắt):

0.0416 + 0.0416 - (0.0416 * 0.0416) = 0,081597222

Vì vậy, xác suất ổn là 1 - 0.0816 = 0.9184bằng phần trăm:91,84%

24 * 0.0816 = 1.95 h

Đây là ít hơn trường hợp xấu nhất trong 2 giờ vì có khả năng cả hai đều xuống cùng một lúc.

Hãy ghi nhớ điều đó, bạn có thể nhận thấy tính khả dụng của từng loại 95,84%0,958333333 * 0,958333333 = 0,918402778là của chúng tôi 91.84%ở trên (xin lỗi vì số thập phân đầy đủ ở đây, nhưng chúng cần thiết cho cuộc biểu tình)

Bây giờ đối với trường hợp thứ hai của bạn, chúng tôi sẽ bắt đầu đạt được từ xác suất gộp của chúng tôi cho từng khu vực (Xin lỗi tôi đã bỏ qua thay đổi cho SQL để giữ cho hợp lý), giả sử không có xác suất độc lập cho chính khu vực đó và mỗi khu vực bị cô lập và như vậy một lỗi DB chỉ mất khu vực của nó.

Chúng tôi có xác suất OK của người quản lý lưu lượng P(T) = 0.9999và mỗi ứng dụng + cặp DB có xác suất OK P(G) = 0,99900025từ

Chúng ta đóng vai trò bao nhiêu khu vực vì chúng ta phải áp dụng sản phẩm xác suất thất bại chỉ để xác suất cả hai khu vực giảm xuống cùng một lúc:
0,00099975 * 0,00099975 = 0,0000009995000625có nghĩa là có sẵn ít nhất một khu vực99,049375 %

Bây giờ chúng tôi có tính khả dụng của các vùng tổng thể, sản phẩm có trình quản lý lưu lượng cung cấp cho chúng tôi tính khả dụng chung của hệ thống:

0.9999 * 0,9999990004999375 = 0,99989900059988750625

Tính khả dụng chung là 99.989900 %

Một nguồn khác như lời giải thích có sẵn trên tài liệu của Azure (liên kết lịch sự của Raj Rao )


Tính khả dụng tổng thể có vẻ rất thấp - trên thực tế bằng cách thêm một khu vực và trình quản lý lưu lượng bổ sung, SLA là một thứ tự có độ lớn thấp hơn so với nếu nó chỉ là một khu vực duy nhất. Tôi đang cố gắng đào cách tôi từng làm điều này cho các mạng ra khỏi não.
Richard Slater

Phù! Tôi chắc chắn rằng tôi đã phát điên.
Richard Slater

Toán học
@RichardSlater

2
@BruceBecker có lẽ là có, dường như chắc chắn rằng IEEE đã công bố nghiên cứu về chủ đề này, tôi nghi ngờ tuy nhiên với mục đích tính toán những con số này, đó là việc có "bằng chứng" cụ thể mà bạn làm, hoặc không, cần khả năng sẵn sàng cao được thêm vào một hệ thống - tức là chúng tôi sử dụng những con số này để thúc đẩy các quyết định lợi ích chi phí dựa trên khẩu vị rủi ro của các công ty. Xây dựng một mô hình Bayes có thể không đại diện cho việc sử dụng tốt nhất thời đại của chúng ta.
Richard Slater

1
@BruceBecker Có một phần của thăm dò bị ràng buộc (cùng một trung tâm dữ liệu bị hỏng và cả hai dịch vụ đều ở trong đó, phải ở mức thấp), phần còn lại tôi nghĩ rằng chúng ta có thể giả định một cách an toàn các dịch vụ ứng dụng và dịch vụ sql chạy trên các hệ thống khác nhau và không có khả năng thất bại cùng một lúc vì cùng một lý do . Đi sâu hơn vào toán học sẽ yêu cầu một tài liệu chính xác về cách kiến ​​trúc Azure được thực hiện và do đó chỉ có thể được trả lời bởi một người nào đó từ Microsoft.
Tensibai

18

Sau khi đọc câu trả lời tuyệt vời của Tensibai , tôi nhận ra rằng tôi đã từng có thể tính toán điều này cho mục đích phân tích mạng. Tôi đã đào bản sao Nguyên tắc mạng khả dụng cao của Chris Oggerino và đã có một cơ hội để giải quyết vấn đề này, không phải là hiệu trưởng đầu tiên.

Lấy ví dụ nối tiếp của tôi trực tiếp ra khỏi câu trả lời của Tensibai chỉ đơn giản là một trường hợp nhân xác suất của từng thành phần có sẵn:

Sẵn có nối tiếp

Vì thế

99,95% * 99,95% = 99,9%

Tính toán song song thì phức tạp hơn một chút vì chúng ta cần xem xét tỷ lệ phần trăm không có sẵn sẽ là bao nhiêu:

Sẵn có nối tiếp và song song

Việc tính toán được thực hiện như sau:

  1. Nhân số không có sẵn của hai vùng với nhau.

    0,1% * 0,1% = 0,0001%

  2. Chuyển đổi trở lại để có sẵn

    100% - 0,0001% = 99,9999%

  3. Nhân số khả dụng của Trình quản lý lưu lượng với tính khả dụng của hai vùng.

    99,99% * 99,9999% = 99,9899%

  4. Kết quả là toàn bộ hệ thống có sẵn.

    99,9899% gần với 99,99%

Tôi đã kết thúc việc sử dụng Excel để thực hiện các tính toán, đây là các giá trị:

Giá trị Excel

... và các công thức ...

Công thức Excel


1
Đó là, theo một cách đơn giản hơn so với của tôi (tôi cảm thấy cần phải chứng minh các phép toán phía sau :))
Tensibai

Đồng ý, câu trả lời của bạn thực sự tốt cho toán học.
Richard Slater

SQL Azure là 99,99% chứ không phải 99,95%
Jeffery Tang

1
@JefferyTang nó (có lẽ) là vào thời gian viết câu hỏi / câu trả lời (tôi không nhớ chính xác) và giá trị thực tế không thay đổi phương pháp luận để có câu trả lời cho "Cách tính SLA ghép từ các phần SLA riêng lẻ" là câu hỏi thực sự
Tensibai
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.