클라우드 서비스에 대한 복합 서비스 수준 계약 (SLA)을 어떻게 계산합니까?


27

주최 클라우드 서비스를 아마존 웹 서비스 , 푸른 , 구글 및 대부분의 다른 사람들이 게시 S 서 비 스 L 레벨 레벨 greement 가 제공하는 개별 서비스에 대한, 또는 SLA를. 그런 다음 아키텍트, 플랫폼 엔지니어 및 개발자는이를 통합하여 애플리케이션 호스팅을 제공하는 아키텍처를 생성해야합니다.

격리 된 상태에서 이러한 서비스는 일반적으로 3 ~ 4 9의 가용성 범위를 제공합니다.

  • Azure Traffic Manager : 99.99 % 또는 'four nines'
  • SQL Azure : 99.99 % 또는 'four nines'
  • Azure App Service : 99.95 % 또는 'three nine five'

그러나 아키텍처에서 함께 결합하면 하나의 구성 요소가 중단되어 구성 요소 서비스와 같지 않은 전체 가용성이 발생할 수 있습니다.

일련의 화합물 가용성

시리얼 가용성

이 예에는 세 가지 가능한 실패 모드가 있습니다.

  • SQL Azure가 다운되었습니다
  • 앱 서비스가 다운되었습니다
  • 둘 다 다운

따라서이 "시스템"의 전체 가용성은 99.95 %보다 낮아야합니다. 이것이 두 서비스의 SLA 가 다음과 같은 경우 라고 생각한 이유 는 다음과 같습니다.

이 서비스는 24 시간 중 23 시간 동안 이용 가능합니다

그때:

  • 앱 서비스가 0100에서 0200 사이에있을 수 있습니다.
  • 0500에서 0600 사이의 데이터베이스 출력

두 구성 요소 모두 SLA 내에 있지만 24 시간 중 2 시간 동안 전체 시스템을 사용할 수 없습니다.

직렬 및 병렬 가용성

직렬 및 병렬 가용성

이 아키텍처에는 많은 실패 모드가 있지만 기본적으로 다음과 같습니다.

  • RegionA의 SQL Server가 다운되었습니다
  • RegionB의 SQL Server가 다운되었습니다
  • RegionA의 앱 서비스가 다운되었습니다
  • RegionB의 앱 서비스가 다운되었습니다
  • 트래픽 관리자가 다운되었습니다
  • 위의 조합

Traffic Manager는 회로 차단기이므로 어느 한 지역에서 중단을 감지하고 작업 지역으로 트래픽을 라우팅 할 수 있지만 Traffic Manager 형식으로 여전히 단일 장애 지점이 있으므로 "시스템"의 전체 가용성은 불가능합니다 99.99 %보다 높습니다.

위의 두 시스템의 복합 가용성을 비즈니스에 대해 어떻게 계산하고 문서화 할 수 있습니까? 아키텍처가 제공 할 수있는 것보다 비즈니스가 더 높은 서비스 수준을 원하는 경우 재구성이 필요할 수 있습니까?

다이어그램에 주석을 달고 싶다면 Lucid Chart 에서 다이어그램을 만들고 다중 사용 링크를 만들었습니다. 누구든지 편집 할 수 있으므로 주석을 달 수있는 페이지의 복사본을 만들 수 있습니다.


앱이 세션 중단에 대처할 수 있다고 가정하면 SPOF에서 가장 낮은 SLA?
Tensibai

1
@ Tensibai- 두 서비스에 대한 SLA가 24 시간 중 23 시간 동안 사용할 수 있다면 첫 번째 예제를 기반으로 할 수 있다고 생각하지 않습니다 . 응용 프로그램 서비스는 0100에서 0200 사이에 있고 데이터베이스는 0500 및 0600의 경우 두 구성 요소 모두 SLA 내에 있지만 24 시간 중 2 시간 동안 전체 시스템을 사용할 수 없습니다.
Richard Slater

그렇습니다. 그러나이 경우 결과는 모두 아니오의 결과 여야합니다.
Tensibai

앱 99.95 x sql 99.95는 그룹의 전체 가용성이어야 함을 의미합니다.
Tensibai

또한 전체 장애 대신 재시도, 장애 조치 또는 성능 저하를 통해 구성 요소보다 안정적인 시스템을 구축 할 수 있습니다.
Xiong Chiamiov

답변:


19

나는 그것을 SLA가 괜찮을 확률이라는 수학 문제로 생각합니다.

이 경우 확률 규칙 을 사용하여 전체를 얻을 수 있습니다.

첫 번째 경우 App Service (A)와 Sql Service (B)가 동시에 다운 될 확률은 확률의 곱입니다.

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

그들 중 하나가 다운 될 확률은 그들의 확률의 합입니다.

P(A)+P(B) = 0.001

두 사건이 독립적 일 때, 두 공식이 다운 될 확률을 고려하여 결과 공식은

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

전체 SLA의 1 - 0,00099975 = 0,99900025비율은99.900025 %

단순화는 첫 번째 확률의 곱입니다 0.9995 * 0.9995 = 0,99900025.

1 시간 / 24 시간 중단 (하루 4,166666 %)에 적용하면 다음과 같은 결과가 나타납니다 (10 진수는 약식 임).

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

따라서 OK 일 확률은 1 - 0.0816 = 0.9184퍼센트입니다.91,84%

24 * 0.0816 = 1.95 h

둘 다 동시에 다운 될 가능성이 있기 때문에 최악의 2 시간보다 적습니다.

이를 염두에두면 각각의 가용성 95,84%과 위에서 0,958333333 * 0,958333333 = 0,918402778우리 의 가용성을 알 수 있습니다 91.84%(여기에서 소수점 이하 자릿수는 죄송하지만 데모에는 필요합니다)

이제 두 번째 경우에는 지역 자체에 대한 독립적 인 확률이 없으며 각 지역이 격리되어 있다고 가정하고 각 지역에 대한 복합 확률에서 이익을 얻습니다 (죄송합니다 .SQL의 변경을 합리적으로 유지했습니다). DB 장애는 해당 지역 만 중단시킵니다.

트래픽 관리자 OK 확률이 P(T) = 0.9999있고 각 앱 + DB는 OK 확률 P(G) = 0,99900025

얼마나 많은 지역 우리는 확률을 두 지역을 얻기 위해 실패 확률의 제품을 적용해야로서 역할을이 같은 시간으로 다운 :
0,00099975 * 0,00099975 = 0,0000009995000625적어도 하나 개의 영역의 전반적인 가용성을 의미합니다99,049375 %

이제 전체 지역 가용성이 확보되었으며, 트래픽 관리자가 포함 된 제품은 시스템의 전체 가용성을 제공합니다.

0.9999 * 0,9999990004999375 = 0,99989900059988750625

전반적인 가용성은 99.989900 %

Azure 문서 에서 설명으로 다른 소스를 사용할 수 있습니다 ( Raj Rao의 링크 제공 ).


전체 지역 가용성은 매우 낮은 것 같습니다. 실제로 추가 지역 및 트래픽 관리자를 추가하면 SLA가 단일 지역 인 경우보다 훨씬 낮은 수준입니다. 나는 뇌 뒤에서 네트워크를 위해 이것을 어떻게 사용했는지 파헤 치려고합니다.
Richard Slater

휴! 나는 화가 났을 것이라고 확신했다.
Richard Slater

@RichardSlater 수학 수정
Tensibai

2
@BruceBecker는 아마도 그렇습니다 .IEEE가 주제에 대한 연구를 발표 한 것 같습니다. 그러나이 숫자를 계산할 목적으로 고 가용성 기능을 필요로하지 않는 구체적인 "증거"에 관한 것입니다. 시스템에 추가됩니다. 즉,이 숫자를 사용하여 회사의 위험 식욕에 따른 비용-이익 결정을 내립니다. 베이지안 모델을 구축하는 것이 우리 시간을 가장 잘 사용하지 않을 수도 있습니다.
Richard Slater

1
@BruceBecker 예 문제의 일부가 묶여 있습니다 (동일한 데이터 센터가 다운되고 두 서비스가 모두 그 안에 있어야합니다). 나머지는 앱 서비스와 SQL 서비스가 다른 시스템에서 실행된다고 가정 할 수 있다고 생각합니다. 같은 이유로 동시에 실패합니다 . 수학에 대해 자세히 알아 보려면 Azure 아키텍처가 수행되는 방식에 대한 정확한 문서가 필요하므로 Microsoft의 누군가 만 대답 할 수 있습니다.
Tensibai

18

Tensibai의 탁월한 답변을 읽은 후 네트워크 분석 목적으로 이것을 계산할 수 있다는 것을 깨달았습니다. Chris Oggerino 의 High Availability Network Fundamentals 사본을 발굴하여 최초 교장이 아닌이 문제를 해결하는 데 어려움을 겪었습니다.

Tensibai의 답변에서 직접 직렬 예제를 가져 오는 것은 각 구성 요소가 다른 구성 요소를 사용할 수있는 확률을 곱한 경우입니다.

시리얼 가용성

그래서

99.95 % * 99.95 % = 99.9 %

병렬을 계산하는 것은 우리가 백분율 고려해야합니다처럼 조금 더 복잡하다 유엔 가용성이 될 것이다 :

직렬 및 병렬 가용성

계산은 다음과 같이 수행됩니다.

  1. UN 함께 두 영역의 이용.

    0.1 % * 0.1 % = 0.0001 %

  2. 가용성으로 다시 변환

    100 %-0.0001 % = 99.9999 %

  3. Traffic Manager 가용성에 두 지역의 가용성을 곱하십시오.

    99.99 % * 99.9999 % = 99.9899 %

  4. 결과는 전체 시스템 가용성입니다.

    99.9899 %는 99.99 %에 가깝습니다

계산을 수행하기 위해 Excel을 사용하여 끝났습니다. 값은 다음과 같습니다.

엑셀 가치

... 및 공식 ...

엑셀 수식


1
그것은 내 것보다 더 간단한 방법으로 (나는 수학을 뒤에 보여줄 필요성을 느꼈다 :))
Tensibai

동의, 당신의 대답은 수학에 정말 좋습니다.
Richard Slater 2016 년

SQL Azure는 99.95 %가 아닌 99.99 %
Jeffery Tang

1
@JefferyTang (아마도) 질문 / 답변 작성 시간에 있었으며 (정확히 기억하지 못함) 실제 값은 "개별 부분 SLA에서 화합물 SLA를 계산하는 방법"에 대한 답변을 얻는 방법을 변경하지 않습니다. 진짜 질문입니다.
Tensibai
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.