Bulut hizmetleri için bileşik Hizmet Seviyesi Sözleşmesini (SLA) nasıl hesaplarsınız?


27

Evsahipliğinde Bulut hizmetleri Amazon Web Services , Azure , Google ve en diğerleri yayımlamak S ervice L evel bir memnuniyetsizlik sağladıkları bireysel hizmetler için, ya da SLA. Mimarlar, Platform Mühendisleri ve Geliştiriciler daha sonra bunları bir uygulamaya barındıran bir mimari oluşturmak için bunları bir araya getirmekle sorumludur.

İzolasyonla ele alındığında, bu hizmetler genellikle üç ila dört mevcudiyet aralığında bir şey sağlar:

  • Azure Trafik Yöneticisi:% 99.99 veya 'dört dokuz'.
  • SQL Azure:% 99.99 veya 'dört dokuz'.
  • Azure Uygulama Hizmeti:% 99,95 veya 'üç dokuz beş'.

Bununla birlikte, mimarilerde bir araya getirildiğinde, herhangi bir bileşenin, bileşen hizmetlerine eşit olmayan bir genel kullanılabilirlikle sonuçlanan bir kesintiye maruz kalma olasılığı vardır.

Seri Bileşik Kullanılabilirliği

Seri Kullanılabilirlik

Bu örnekte üç olası hata modu vardır:

  • SQL Azure kapalı
  • Uygulama Hizmeti kapalı
  • İkisi de düştü

Bu nedenle, bu "sistemin" genel kullanılabilirliği% 99,95'in altında olmalıdır. Bu düşünce için benim mantığı ise eğer iki hizmet için SLA oldu:

Servis 24 üzerinden 23 saat açık olacak

Sonra:

  • Uygulama Servisi 0100 ile 0200 arasında olabilir.
  • Veritabanını 0500 ile 0600 arasında

Her iki bileşen parçası da kendi SLA'larındadır ancak toplam sistem 24 saatten 2 saat boyunca kullanılamıyordu.

Seri ve Paralel Uygunluk

Seri ve Paralel Uygunluk

Bu mimaride, temel olarak çok sayıda arıza modu vardır:

  • BölgeA'da SQL Server kapalı
  • RegionB'deki SQL Server çalışmıyor
  • Bölge A’daki Uygulama Hizmeti kapalı
  • RegionB’de Uygulama Hizmeti kapalı
  • Trafik Yöneticisi kapalı
  • Yukarıdakilerin Kombinasyonları

Trafik Yöneticisi bir devre kesici olduğundan, her iki bölgede bir kesinti tespit edip trafiği çalışan bölgeye yönlendirebilir, ancak Trafik Yöneticisi şeklinde hala tek bir hata noktası vardır, bu nedenle "sistemin" toplam kullanılabilirliği % 99,99'dan daha yüksek olması.

Yukarıdaki iki sistemin bileşik kullanılabilirliği, işletme için mimarinin sağlayabileceğinden daha yüksek bir hizmet seviyesi isterse potansiyel olarak yeniden arama yapılmasını gerektiren işletme için nasıl hesaplanır ve belgelenir?

Diyagramları notlandırmak istiyorsanız, bunları Lucid Chart'ta oluşturdum ve çok kullanımlı bir bağlantı oluşturdum, herkesin bunu düzenleyebileceğini ve açıklamak için sayfaların bir kopyasını oluşturmak isteyebileceğini unutmayın.


SPOF'dan gelen en düşük SLA, uygulamanızın oturum sonlandırma ile başa çıkabildiğini varsayar mı?
Tensibai

1
@Tensibai - Bu benim ilk örnek dayalı olabilir sanmıyorum eğer iki hizmet için SLA daha sonra 23 saat 24 arasında satışa sunulacak olan App Servisi 0100 ve 0200 arasında dışarı Veritabanı arasında dışarı olabilir 0500 ve 0600, her iki bileşen parçası da SLA'larındadır ancak toplam sistem 24 saatte 2 saat boyunca kullanılamıyordu.
Richard Slater

Evet, mantıklı geliyor, ancak bu durumda sonuç, hiçbir şeyin ürünü olmamalı?
Tensibai

Yani, uygulama 99.95 x sql 99.95, grubun genel kullanılabilirliği olmalıdır
Tensibai

Ayrıca, denemeler veya arızalar veya tam arıza yerine bozulma yoluyla bileşenlerinden daha güvenilir bir sistem kurabileceğinizi de unutmayın.
Xiong Chiamiov

Yanıtlar:


19

Bunu SLA'nın iyi olma olasılığı olması ile matematik problemi olarak kabul ediyorum.

Bu durumda, genel almamız için olasılık kurallarına güvenebiliriz .

İlk durumunuz için, Uygulama Hizmeti (A) ve Sql Hizmeti (B) 'nin aynı anda düşme olasılığı, olasılıklarının ürünüdür:

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

Bunlardan birinin aşağı olma olasılığı, olasılıklarının toplamıdır:

P(A)+P(B) = 0.001

İki olay bağımsız olduğunda, sonuçta ortaya çıkan formül, ikisinin de olma olasılığını göz önünde bulundurur:

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

Yani genel SLA 1 - 0,00099975 = 0,99900025yüzde olarak ne olur99.900025 %

Basitleştirilmiş bir ilk olasılık ürünüdür: 0.9995 * 0.9995 = 0,99900025.

1 saat / 24 saat kesintinize uygulanırsa (günün 4,166666'sı) bu verir (ondalık değerler kısaltılır):

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

Bu yüzden iyi olma olasılığı 1 - 0.0816 = 0.9184yüzde olarak:91,84%

24 * 0.0816 = 1.95 h

Bu 2 saatlik en kötü durumdan daha az çünkü her ikisinin de aynı anda olma ihtimali var.

Bunu göz önünde bulundurarak, her birinin 95,84%ve 0,958333333 * 0,958333333 = 0,918402778hangisinin 91.84%yukarıdan bizim olduğunun farkına varabilirsiniz.

Şimdi ikinci durumunuz için, her bölge için ayrı bir olasılık olasılığımızdan başlayacağız. Bir DB arızası sadece bölgesini yıkar.

Biz trafik yöneticisi TAMAM olasılığına sahip P(T) = 0.9999ve bir ok olasılığıyla DB çift + her uygulamayı P(G) = 0,99900025dan

Her iki bölgenin de aynı zamana düşmesi olasılığını elde etmek için başarısızlık olasılığı ürününü uygulamak zorunda olduğumuz için ne kadar bölge oynamamız gerekiyor:
0,00099975 * 0,00099975 = 0,0000009995000625bu, en az bir bölgenin genel kullanılabilirliği99,049375 %

Şimdi genel bölge kullanılabilirliğine sahibiz, trafik yöneticisine sahip bir ürün bize sistemin genel kullanılabilirliğini veriyor:

0.9999 * 0,9999990004999375 = 0,99989900059988750625

Genel kullanılabilirlik 99.989900 %

Açıklama olarak başka bir kaynak Azure'un dokümanlarında mevcuttur ( Raj Rao'nun izniyle )


Genel mevcudiyet çok düşük görünmektedir - aslında ek bir bölge ve trafik yöneticisi ekleyerek SLA, yalnızca tek bir bölgeden daha düşük bir büyüklük sırasıdır. Beynimin arkasındaki ağlar için bunu nasıl yaptığımı kazmaya çalışıyorum.
Richard Slater

Uf! Kızacağımdan emindim.
Richard Slater

@RichardSlater matematiği düzeltildi
Tensibai 31.07

2
@BruceBecker muhtemelen evet, kesinlikle IEEE'nin konuyla ilgili araştırmalar yayınladığı görülüyor, sanırım bu rakamları hesaplamak amacıyla verdiğiniz şey, yüksek Kullanılabilirlik kabiliyetine ihtiyaç duyduğunuz ya da gerektirmeyen somut "kanıt "lara sahip olmakla ilgili. bir sisteme eklendi - yani bu rakamları, şirketlerin risk iştahı temelinde maliyet-fayda kararları almak için kullanıyoruz. Bir Bayesian modeli oluşturmak, zamanımızın en iyi kullanımını temsil etmeyebilir.
Richard Slater,

1
@BruceBecker Evet probun bir kısmı bağlı (aynı veri merkezi aşağı iniyor ve her ikisi de hizmetin içinde, düşük olması gereken), geri kalanı için, uygulama hizmetlerini ve sql hizmetlerini farklı sistemlerde çalıştığını güvenli bir şekilde üstlenebileceğimizi düşünüyorum. aynı sebepten aynı anda başarısız . Matematiği daha da ileriye götürmek, Azure mimarisinin nasıl yapıldığına dair kesin bir belge gerektirir ve bu nedenle yalnızca Microsoft'tan biri tarafından yanıtlanabilir.
Tensibai,

18

Tensibai'nin mükemmel cevabını okuduktan sonra , bunu ağ analizi amacıyla hesaplayabildiğimi fark ettim. Yüksek Kullanılabilirlik Ağı Temelleri kopyasını Chris Oggerino'dan çıkardım ve ilk müdürden değil, bu konuyu çözmekte sıkıntı çektim.

Seri örneğimi doğrudan Tensibai'nin cevabından çıkarmak, her bir bileşenin diğerinin kullanabilme olasılığını çarpma durumudur.

Seri Kullanılabilirlik

Yani

% 99.95 *% 99.95 = % 99.9

Paralel bir şekilde hesaplanması biz yüzde neyi dikkate almak gereğini yapmak gibi daha karmaşık biraz un kullanılabilirliği olacaktır:

Seri ve Paralel Uygunluk

Hesaplama aşağıdaki gibi yapılır:

  1. Çarp un birlikte iki bölgenin durumu.

    % 0.1 *% 0.1 = % 0.0001

  2. Bunu tekrar kullanılabilirliğe dönüştür

    % 100 -% 0.0001 = % 99.9999

  3. Trafik Yöneticisinin kullanılabilirliğini iki bölgenin uygunluğuyla çarpın.

    % 99.99 * 99.9999% = 99.9899

  4. Sonuç, tüm sistem kullanılabilirliğidir.

    99,9899% civarındadır % 99,99

Hesaplamaları gerçekleştirmek için Excel'i kullandım, işte değerler:

Excel Değerleri

... ve formüller ...

Excel Formülleri


1
İşte bu, benimkinden daha basit bir şekilde (arkasındaki matematiği gösterme gereğini hissettim :))
Tensibai

Kabul, cevabınız matematik için gerçekten çok iyi.
Richard Slater

SQL Azure 99,99% 99,95%
Jeffery Tang

1
@JefferyTang it (muhtemelen) soru / cevap yazma zamanındaydı (tam olarak hatırlamıyorum) ve gerçek değer, cevabı "ayrı ayrı SLA'dan bileşik SLA nasıl hesaplanır" şeklinde cevaplamak için metodolojiyi değiştirmez. asıl soru bu.
Tensibai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.