คุณจะคำนวณข้อตกลงระดับบริการ (SLA) สำหรับบริการคลาวด์ได้อย่างไร


27

บริการคลาวด์ที่โฮสต์โดยAmazon Web Services , Azure , Googleและอื่น ๆ ส่วนใหญ่เผยแพร่S ervice L evel A greementหรือ SLA สำหรับบริการส่วนบุคคลที่พวกเขาให้บริการ สถาปนิกวิศวกรแพลตฟอร์มและนักพัฒนามีหน้าที่รับผิดชอบในการรวมเข้าด้วยกันเพื่อสร้างสถาปัตยกรรมที่ให้บริการโฮสต์สำหรับแอปพลิเคชัน

เมื่อแยกกันบริการเหล่านี้มักจะให้บริการในช่วงสามถึงสี่ของความพร้อมใช้งาน:

  • Azure Traffic Manager: 99.99% หรือ 'สี่เก้า'
  • SQL Azure: 99.99% หรือ 'สี่เก้า'
  • บริการแอป Azure: 99.95% หรือ 'สามเก้าห้า'

อย่างไรก็ตามเมื่อรวมเข้าด้วยกันในสถาปัตยกรรมมีความเป็นไปได้ที่องค์ประกอบใดส่วนประกอบหนึ่งอาจได้รับผลกระทบจากเหตุขัดข้องทำให้มีความพร้อมโดยรวมที่ไม่เท่ากับบริการส่วนประกอบ

ความพร้อมในการผสมอนุกรม

ความพร้อมใช้งานแบบอนุกรม

ในตัวอย่างนี้มีสามโหมดความล้มเหลวที่เป็นไปได้:

  • SQL Azure ไม่ทำงาน
  • บริการแอพหยุดทำงาน
  • ทั้งสองลง

ดังนั้นความพร้อมโดยรวมของ "ระบบ" นี้จะต้องต่ำกว่า 99.95% เหตุผลของฉันสำหรับการคิดนี่คือถ้า SLA สำหรับบริการทั้งสองคือ:

บริการนี้จะให้บริการ 23 ชั่วโมงจาก 24 ชั่วโมง

แล้ว:

  • App Service อาจอยู่ระหว่าง 0100 ถึง 0200
  • ฐานข้อมูลออกระหว่าง 0500 ถึง 0600

ส่วนประกอบทั้งสองอยู่ใน SLA ของพวกเขา แต่ระบบทั้งหมดไม่สามารถใช้ได้เป็นเวลา 2 ชั่วโมงจาก 24 ชั่วโมง

ความพร้อมใช้งานแบบอนุกรมและแบบขนาน

ความพร้อมใช้งานแบบอนุกรมและแบบขนาน

ในสถาปัตยกรรมนี้มีโหมดความล้มเหลวจำนวนมากอย่างไรก็ตามโดยหลักแล้ว:

  • SQL Server ใน RegionA ไม่ทำงาน
  • SQL Server ใน RegionB หยุดทำงาน
  • บริการแอพใน RegionA ไม่ทำงาน
  • บริการแอพใน RegionB หยุดทำงาน
  • ผู้จัดการจราจรไม่ทำงาน
  • การรวมกันของด้านบน

เนื่องจากตัวจัดการการจราจรเป็นตัวตัดวงจรมันจึงสามารถตรวจจับสัญญาณขัดข้องในทั้งภูมิภาคและการกำหนดเส้นทางการรับส่งข้อมูลไปยังพื้นที่ทำงานอย่างไรก็ตามยังมีจุดความล้มเหลวเพียงจุดเดียวในรูปแบบของตัวจัดการการจราจรดังนั้นความพร้อมทั้งหมดของ สูงกว่า 99.99%

ความพร้อมใช้งานแบบผสมของทั้งสองระบบข้างต้นสามารถคำนวณและจัดทำเอกสารสำหรับธุรกิจได้อย่างไรอาจต้องมีการปรับเปลี่ยนโครงสร้างใหม่หากธุรกิจต้องการระดับการบริการที่สูงกว่าสถาปัตยกรรมที่สามารถให้บริการได้?

หากคุณต้องการใส่คำอธิบายประกอบไดอะแกรมฉันได้สร้างมันในLucid Chartและสร้างลิงค์อเนกประสงค์ใช้งานได้โปรดจำไว้ว่าทุกคนสามารถแก้ไขได้ดังนั้นคุณอาจต้องการสร้างสำเนาของหน้าเพื่อเพิ่มความคิดเห็น


SLA ต่ำสุดจาก SPOF สมมติว่าแอปของคุณสามารถรับมือกับการหยุดเซสชันได้หรือไม่
Tensibai

1
@ Tensibai - ฉันไม่คิดว่ามันจะเป็นไปได้ตามตัวอย่างแรกของฉันถ้า SLA สำหรับบริการทั้งสองแบบนั้นจะให้บริการ 23 ชั่วโมงจาก 24 ชั่วโมงดังนั้น App Service อาจอยู่ระหว่าง 0100 ถึง 0200 และฐานข้อมูลระหว่าง 0500 และ 0600 ทั้งสองส่วนอยู่ใน SLA แต่ระบบทั้งหมดไม่สามารถใช้งานได้เป็นเวลา 2 ชั่วโมงจาก 24 ชั่วโมง
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% ของวัน) สิ่งนี้จะให้ (ทศนิยมจะสั้น):

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

ดังนั้นความน่าจะเป็นที่จะตกลงเป็น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 เพื่อให้มันสมเหตุสมผล) สมมติว่าไม่มีความน่าจะเป็นอิสระสำหรับภูมิภาคนั้นเองและแต่ละภูมิภาคก็แยกจากกัน ความล้มเหลวของฐานข้อมูลทำให้ขอบเขตของมันลดลง

เรามีความน่าจะเป็นผู้จัดการตกลงการจราจรP(T) = 0.9999และแต่ละแอป + คู่ DB กับความน่าจะตกลง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
@BuceBecker ใช่ส่วนหนึ่งของปัญหาถูกผูกไว้ (ดาต้าเซ็นเตอร์เดียวกันได้รับการลงและบริการทั้งสองอยู่ในนั้นซึ่งจะต้องอยู่ในระดับต่ำ) สำหรับส่วนที่เหลือฉันคิดว่าเราสามารถสมมติบริการแอปและบริการ sql ในระบบที่แตกต่างกันได้อย่างปลอดภัย ล้มเหลวในเวลาเดียวกันด้วยเหตุผลเดียวกัน การเข้าสู่วิชาคณิตศาสตร์ต่อไปจะต้องมีเอกสารที่ถูกต้องเกี่ยวกับวิธีการทำสถาปัตยกรรม Azure และสามารถตอบได้เฉพาะบางคนจาก Microsoft เท่านั้น
Tensibai

18

หลังจากอ่านคำตอบที่ยอดเยี่ยมของ Tensibaiฉันรู้ว่าฉันเคยสามารถคำนวณสิ่งนี้เพื่อการวิเคราะห์เครือข่าย ฉันขุดสำเนาพื้นฐานเครือข่ายความพร้อมใช้งานสูงโดย Chris Oggerino และมีรอยแตกในการทำงานออกมาไม่ใช่ครูใหญ่คนแรก

การยกตัวอย่างอนุกรมของฉันโดยตรงจากคำตอบของ Tensibai เป็นเพียงกรณีของการคูณความน่าจะเป็นของแต่ละองค์ประกอบที่มีโดยผู้อื่น:

ความพร้อมใช้งานแบบอนุกรม

ดังนั้น

99.95% * 99.95% = 99.9%

การคำนวณแบบขนานนั้นซับซ้อนกว่าเล็กน้อยเนื่องจากเราต้องพิจารณาว่าเปอร์เซ็นต์การมีอยู่ที่ไม่พร้อมใช้งานจะเป็นเท่าไร:

ความพร้อมใช้งานแบบอนุกรมและแบบขนาน

การคำนวณจะทำดังนี้:

  1. ทวีคูณความไม่พร้อมของสองภูมิภาคพร้อมกัน

    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 เพื่อทำการคำนวณนี่คือค่า:

ค่า Excel

... และสูตร ...

สูตร Excel


1
นั่นเป็นวิธีที่ตรงไปตรงมามากกว่าของฉัน (ฉันรู้สึกว่าจำเป็นต้องแสดงให้เห็นถึงคณิตศาสตร์ที่อยู่เบื้องหลัง :))
Tensibai

ตกลงคำตอบของคุณดีมากสำหรับคณิตศาสตร์
Richard Slater

SQL Azure คือ 99.99% ไม่ใช่ 99.95%
Jeffery Tang

1
@JefferyTang มัน (อาจ) อยู่ที่เวลาตอบคำถาม / คำตอบ (ฉันจำไม่ได้) และค่าจริงไม่เปลี่ยนวิธีการเพื่อให้ได้คำตอบ "วิธีการคำนวณ SLA ผสมจากแต่ละส่วน SLA" ซึ่ง เป็นคำถามจริง
Tensibai
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.