Bagaimana Anda menghitung Perjanjian Tingkat Layanan (SLA) gabungan untuk layanan cloud?

27

Layanan cloud yang diselenggarakan oleh Amazon Web Services , Azure , Google , dan sebagian besar lainnya menerbitkan S ervice L evel A greement , atau SLA, untuk layanan individual yang mereka sediakan. Arsitek, Insinyur Platform dan Pengembang kemudian bertanggung jawab untuk menyatukan ini untuk membuat arsitektur yang menyediakan hosting untuk suatu aplikasi.

Diambil dalam isolasi, layanan ini biasanya menyediakan sesuatu dalam kisaran tiga hingga empat dari ketersediaan:

  • Manajer Lalu Lintas Azure: 99,99% atau 'empat sembilan'.
  • SQL Azure: 99,99% atau 'empat sembilan'.
  • Layanan Aplikasi Azure: 99,95% atau 'tiga sembilan lima'.

Namun ketika digabungkan bersama dalam arsitektur ada kemungkinan bahwa salah satu komponen dapat mengalami pemadaman yang mengakibatkan ketersediaan keseluruhan yang tidak sama dengan layanan komponen.

Ketersediaan Senyawa Seri

Ketersediaan Serial

Dalam contoh ini ada tiga mode kegagalan yang mungkin:

  • SQL Azure sedang down
  • Layanan Aplikasi sedang down
  • Keduanya jatuh

Oleh karena itu keseluruhan ketersediaan "sistem" ini harus lebih rendah dari 99,95%. Alasan saya untuk berpikir ini adalah jika SLA untuk kedua layanan adalah:

Layanan ini akan tersedia 23 jam dari 24

Kemudian:

  • Layanan Aplikasi bisa keluar antara 0100 dan 0200
  • Database keluar antara 0500 dan 0600

Kedua bagian komponen berada dalam SLA mereka tetapi sistem total tidak tersedia selama 2 jam dari 24.

Ketersediaan Serial dan Paralel

Ketersediaan Serial dan Paralel

Namun dalam arsitektur ini ada sejumlah besar mode kegagalan terutama:

  • SQL Server di RegionA sedang down
  • SQL Server di RegionB sedang down
  • Layanan Aplikasi di RegionA turun
  • Layanan Aplikasi di RegionB turun
  • Manajer Lalu Lintas sedang down
  • Kombinasi di atas

Karena Traffic Manager adalah pemutus sirkuit, ia mampu mendeteksi pemadaman di kedua wilayah dan merutekan lalu lintas ke wilayah kerja, namun masih ada satu titik kegagalan dalam bentuk Traffic Manager sehingga total ketersediaan "sistem" tidak dapat lebih tinggi dari 99,99%.

Bagaimana ketersediaan majemuk dari dua sistem di atas dapat dihitung dan didokumentasikan untuk bisnis, yang berpotensi membutuhkan pengerjaan ulang arsitektur jika bisnis menginginkan tingkat layanan yang lebih tinggi daripada yang mampu diberikan oleh arsitektur?

Jika Anda ingin membuat anotasi diagram, saya telah membuatnya di Lucid Chart dan membuat tautan multi guna, ingatlah bahwa siapa pun dapat mengedit ini sehingga Anda mungkin ingin membuat salinan halaman untuk memberi anotasi.

Richard Slater
sumber
SLA Terendah dari SPOF, dengan anggapan aplikasi Anda dapat mengatasi pemutusan sesi?
Tensibai
1
@Tensibai - Saya rasa itu tidak bisa, berdasarkan contoh pertama saya jika SLA untuk kedua layanan itu akan tersedia 23 jam dari 24 maka, Layanan App bisa keluar antara 0100 dan 0200 dan Database keluar antara 0500 dan 0600, kedua bagian komponen berada dalam SLA mereka tetapi sistem total tidak tersedia selama 2 jam dari 24. Masuk akal?
Richard Slater
Yap, masuk akal, tetapi dalam hal ini yang dihasilkan harus menjadi produk dari semua tidak?
Tensibai
Maksud saya aplikasi 99,95 x sql 99,95 harus menjadi ketersediaan keseluruhan grup
Tensibai
Ingat juga bahwa Anda dapat membangun sistem yang lebih andal daripada komponennya, melalui percobaan ulang atau kegagalan atau degradasi alih-alih kegagalan penuh.
Xiong Chiamiov

Jawaban:

19

Saya menganggap itu sebagai masalah matematika dengan SLA yang kemungkinan OK.

Dalam hal ini kita bisa mengandalkan aturan probabilitas untuk mendapatkan keseluruhan.

Untuk kasus pertama Anda, probabilitas bahwa Layanan Aplikasi (A) dan Layanan Sql (B) turun pada saat yang sama adalah produk dari probabilitas mereka:

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

Probabilitas salah satu dari mereka turun adalah jumlah dari probabilitas mereka:

P(A)+P(B) = 0.001

Ketika dua peristiwa independen, rumus yang dihasilkan untuk memperhitungkan kemungkinan keduanya turun adalah:

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

Jadi SLA keseluruhan akan 1 - 0,00099975 = 0,99900025dalam persen adalah99.900025 %

Sebuah penyederhanaan adalah produk dari probabilitas pertama: 0.9995 * 0.9995 = 0,99900025.

Diterapkan untuk pemadaman 1 jam / 24 jam Anda (4,166666% sehari) ini memberi (desimal disingkat):

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

Jadi probabilitas menjadi OK adalah 1 - 0.0816 = 0.9184dalam persen:91,84%

24 * 0.0816 = 1.95 h

Ini kurang dari kasus terburuk 2 jam karena ada kemungkinan keduanya turun pada saat yang sama.

Dengan mengingat hal itu, Anda mungkin memperhatikan ketersediaan untuk masing-masing 95,84%dan 0,958333333 * 0,958333333 = 0,918402778yang kami 91.84%dari atas (maaf untuk desimal penuh di sini, tetapi mereka diperlukan untuk demonstrasi)

Sekarang untuk kasus kedua Anda, kami akan mulai mendapatkan dari kemungkinan gabungan kami untuk setiap wilayah (Maaf saya menolak perubahan untuk SQL agar tetap masuk akal), dengan asumsi tidak ada probabilitas independen untuk wilayah itu sendiri dan bahwa setiap wilayah terisolasi dan dengan demikian kegagalan DB hanya mengambil wilayahnya.

Kami memiliki probabilitas OK lalu lintas manajer P(T) = 0.9999dan setiap pasangan aplikasi + DB dengan probabilitas OK P(G) = 0,99900025dari

Berapa banyak wilayah yang kita miliki perannya karena kita harus menerapkan produk dari probabilitas kegagalan hanya untuk mendapatkan probabilitas kedua wilayah itu turun sebagai waktu yang sama:
0,00099975 * 0,00099975 = 0,0000009995000625yang berarti ketersediaan keseluruhan setidaknya satu wilayah99,049375 %

Sekarang kami memiliki ketersediaan wilayah secara keseluruhan, produk dengan manajer lalu lintas memberi kami ketersediaan keseluruhan sistem:

0.9999 * 0,9999990004999375 = 0,99989900059988750625

Ketersediaan keseluruhan adalah 99.989900 %

Sumber lain sebagai penjelasan tersedia di dokumen Azure (tautan dari Raj Rao )

Tensibai
sumber
Ketersediaan keseluruhan tampaknya sangat rendah - pada kenyataannya dengan menambahkan wilayah tambahan dan manajer lalu lintas SLA adalah urutan besarnya lebih rendah daripada jika itu hanya satu wilayah. Saya mencoba menggali bagaimana saya melakukan ini untuk jaringan yang ada di belakang otak saya.
Richard Slater
Fiuh! Saya yakin saya menjadi gila.
Richard Slater
@RichardSlater matematika dikoreksi
Tensibai
2
@BruceBecker mungkin ya, karena tampaknya IEEE telah menerbitkan penelitian tentang topik tersebut, saya curiga dengan tujuan menghitung angka-angka ini, ini lebih tentang memiliki "bukti" nyata yang Anda lakukan, atau tidak, perlu kemampuan Ketersediaan Tinggi. ditambahkan ke sistem - yaitu kami menggunakan angka-angka ini untuk mendorong keputusan biaya-manfaat berdasarkan selera risiko perusahaan. Membangun model Bayesian mungkin tidak mewakili penggunaan waktu kita yang terbaik.
Richard Slater
1
@BruceBecker Ya bagian dari prob terikat (datacenter yang sama turun dan kedua layanan di dalamnya, yang harus rendah), untuk sisanya saya pikir kita dapat dengan aman menganggap layanan aplikasi dan layanan sql berjalan pada sistem yang berbeda dan tidak mungkin untuk gagal pada saat bersamaan karena alasan yang sama . Lebih jauh ke dalam matematika akan membutuhkan dokumentasi yang tepat tentang bagaimana arsitektur Azure dilakukan dan dengan demikian hanya dapat dijawab oleh seseorang dari Microsoft.
Tensibai
18

Setelah membaca jawaban Tensibai yang luar biasa , saya menyadari bahwa saya dulu dapat menghitung ini untuk keperluan analisis jaringan. Saya menggali salinan Fundamental Jaringan Ketersediaan Tinggi oleh Chris Oggerino dan mengalami kesulitan dalam menyelesaikannya, tidak hanya kepala sekolah yang pertama.

Mengambil contoh serial saya langsung dari jawaban Tensibai hanyalah kasus mengalikan probabilitas setiap komponen yang tersedia dengan yang lain:

Ketersediaan Serial

Begitu

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

Menghitung secara paralel adalah sedikit lebih rumit seperti yang kita lakukan perlu mempertimbangkan apa persentase un ketersediaan akan:

Ketersediaan Serial dan Paralel

Perhitungan dilakukan sebagai berikut:

  1. Kalikan un ketersediaan dua daerah bersama-sama.

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

  2. Konversikan kembali ke ketersediaan

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

  3. Lipat gandakan ketersediaan Traffic Manager dengan ketersediaan kedua wilayah.

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

  4. Hasilnya adalah ketersediaan seluruh sistem.

    99,9899% mendekati 99,99%

Saya akhirnya menggunakan Excel untuk melakukan perhitungan, berikut adalah nilainya:

Nilai Excel

... dan formula ...

Rumus Excel

Richard Slater
sumber
1
Itu dia, dengan cara yang lebih langsung daripada milik saya (saya merasa perlu menunjukkan matematika di belakang :))
Tensibai
Setuju, jawaban Anda sangat bagus untuk matematika.
Richard Slater
SQL Azure adalah 99,99% bukan 99,95%
Jeffery Tang
1
@JefferyTang itu (mungkin) berada di pertanyaan / jawaban penulisan waktu (saya tidak ingat persis) dan nilai aktual tidak mengubah metodologi untuk mendapatkan jawaban untuk "Bagaimana menghitung senyawa SLA dari bagian-bagian individu SLA" yang adalah pertanyaan sebenarnya.
Tensibai