클라우드 서비스에 대한 복합 서비스 수준 계약 (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.