เวลาใช้งาน 100% สำหรับเว็บแอปพลิเคชัน


312

เราได้รับ "ข้อกำหนด" ที่น่าสนใจจากลูกค้าวันนี้

พวกเขาต้องการความพร้อมในการทำงาน 100% พร้อมการเฟลโอเวอร์นอกไซต์บนเว็บ จากมุมมองของแอปพลิเคชันเว็บของเรานี่ไม่ใช่ปัญหา มันถูกออกแบบมาเพื่อให้สามารถขยายออกในหลาย ๆ เซิร์ฟเวอร์ฐานข้อมูลเป็นต้น

อย่างไรก็ตามจากปัญหาเครือข่ายฉันก็ไม่สามารถคิดออกวิธีการทำงาน

สรุปแอปพลิเคชันจะทำงานบนเซิร์ฟเวอร์ภายในเครือข่ายของลูกค้า มันสามารถเข้าถึงได้โดยคนทั้งภายในและภายนอก พวกเขาต้องการให้เรารักษาสำเนาของระบบไว้นอกสถานที่ซึ่งในกรณีที่เกิดความล้มเหลวอย่างร้ายแรงที่สถานที่ของพวกเขาจะรับและส่งมอบทันที

ตอนนี้เรารู้แล้วว่าไม่มีวิธีแก้ไขสำหรับคนภายใน (ผู้ให้บริการนกพิราบ?) แต่พวกเขาต้องการให้ผู้ใช้ภายนอกไม่สังเกตเห็น

ค่อนข้างตรงไปตรงมาฉันไม่ได้มีความคิดที่ใหญ่ที่สุดว่ามันจะเป็นไปได้อย่างไร ดูเหมือนว่าหากพวกเขาขาดการเชื่อมต่ออินเทอร์เน็ตเราจะต้องทำการเปลี่ยน DNS เพื่อส่งต่อทราฟฟิกไปยังเครื่องภายนอก ... ซึ่งแน่นอนว่าต้องใช้เวลา

ไอเดีย?

UPDATE

ฉันได้พูดคุยกับลูกค้าในวันนี้และพวกเขาชี้แจงปัญหา

พวกเขาติดอยู่ที่ 100% โดยบอกว่าแอปพลิเคชั่นควรทำงานอยู่แม้ในสถานการณ์น้ำท่วม อย่างไรก็ตามข้อกำหนดนั้นจะเกิดขึ้นก็ต่อเมื่อเราโฮสต์มันไว้สำหรับพวกเขา พวกเขากล่าวว่าพวกเขาจะจัดการกับความต้องการสถานะการออนไลน์ถ้าแอพพลิเคชั่นอยู่บนเซิร์ฟเวอร์อย่างสมบูรณ์ คุณสามารถเดาคำตอบของฉัน


49
อย่าประมาทการหยุดทำงานครั้งใหญ่ที่เกิดจากการแฮ็คดูที่ Sony และเครือข่าย PlayStation คุณสามารถรับประกันได้ว่าพวกเขามีความคิดแบบพร้อมใช้งานเดียวกัน 100% และเงิน / ฮาร์ดแวร์ในการสำรอง แจ้งกับลูกค้าอย่างชัดเจนว่า uptime 100% เป็นความคาดหวังที่ไม่สามารถทำได้แม้แต่ google techs ก็ลังเลที่จะบ่น "uptime 100%" คำแนะนำ btw คือการตรวจสอบการใช้ DNS แบบไดนามิกพวกเขาเพียงแคชเป็นเวลา 60 วินาทีซึ่งควรรวมถึงระบบปฏิบัติการและเซิร์ฟเวอร์ DNS ท้องถิ่น
Silverfire

182
ผมเองจะRUNจากลูกค้ารายนี้ให้เร็วที่สุดเท่าที่เป็นไปได้ ฉันสงสัยว่านี่จะไม่ใช่ความคิดบ้าคลั่งสุดท้ายที่พวกเขาอาจมี (จากมุมมองของเทคโนโลยี)
GregD

137
ฉันหวังว่าฉันสามารถลงคะแนนลูกค้าของคุณ
joeqwerty

81
หากคุณทราบว่าสถานะการออนไลน์ 100% แจ้งให้เราทราบ ฉันจะสร้างธุรกิจด้วยและขายให้กับ Google เป็นไปไม่ได้ที่จะรับประกัน 100% แม้แต่ บริษัท อย่างไมโครซอฟท์อะเมซอนหรือกูเกิ้ลก็ไม่ได้ไปที่สูงเพราะพวกเขารู้ว่ามันเป็นไปไม่ได้ สิ่งที่ดีที่สุดที่ฉันเคยเห็นคือ 99.999% และแม้จะยืดได้ (5 นาทีต่อปี) สิ่งที่ดีที่สุดที่คุณสามารถทำได้คือ 99.99% เชื่อถือได้
Matt

39
เพียงสร้างแท็กราคาที่สูงมาก ๆ ที่อาจจะนำพวกเขากลับไปที่ความรู้สึกของพวกเขา ไม่ว่าจะส่งไปหาคนที่เต็มใจโกหก
Nate CK

คำตอบ:


368

นี่คือแผนภูมิที่มีประโยชน์ของWikipediaเกี่ยวกับการแสวงหาเก้า:

ป้อนคำอธิบายรูปภาพที่นี่

ที่น่าสนใจมีเพียง3 ใน 20 อันดับแรกของเว็บไซต์เท่านั้นที่สามารถบรรลุ 5 ตำนานหรือ uptime 99.999% ในปี 2550 พวกเขาคือ Yahoo, AOL และ Comcast ในช่วง 4 เดือนแรกของปี 2551 เครือข่ายโซเชียลที่ได้รับความนิยมสูงสุดบางส่วนไม่ได้เข้าใกล้

จากแผนภูมิควรเห็นได้ชัดว่าการแสวงหา uptime 100% ไร้สาระเป็นอย่างไร ...


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

8
ซึ่งในตัวของตัวเองทำให้ห้าเก้าพิรุธ ...
GregD

5
แม่นยำ. และพวกเขาได้เงิน $ พันล้านมาทำงานด้วย!
ceejayoz

43
ขออภัยที่รบกวนการแชทที่เกิดขึ้น แต่คำถามของ OP คือทำอย่างไรจึงจะพยายามไปสู่เป้าหมายที่ความพร้อมในการทำงาน 100% ในระดับเทคนิคไม่ใช่แนวความคิดฉันแน่ใจว่าเขารู้ว่ามันเป็นไปไม่ได้เสมอเพราะเกิดขึ้นตามธรรมชาติกับฮาร์ดแวร์ และสิ่งแวดล้อม เราช่วยเขาได้ไหม
David d C e Freitas

5
สำหรับ OP: ฉันเห็น SLA ที่รับประกันเวลาทำงานในบริบทของ "การบำรุงรักษาตามปกติ" การบำรุงรักษาตามปกติของหลักสูตรจะถูกกำหนดเวลาหยุดทำงานต่อเดือนสำหรับการอัปเดตแพตช์ ฯลฯ ซึ่งมักเกิดขึ้นในวันที่ยุ่งน้อยที่สุดของเดือนในช่วงเวลาที่ยุ่งน้อยที่สุดของเดือน (โดยปกติจะอยู่กลางดึก) พวกเขาจะต้องมีตัวชี้วัดบางอย่างสำหรับธุรกิจของพวกเขาเกี่ยวกับธุรกิจ คุณสามารถเสนอ uptime ที่ดีขึ้น (4 เก้า) สำหรับพวกเขาเท่านั้นในช่วงเวลานั้น
GregD

186

ขอให้พวกเขากำหนด 100% และวิธีการวัดในช่วงเวลาใด พวกเขาอาจหมายถึงใกล้ถึง 100% เท่าที่พวกเขาสามารถจ่ายได้ ให้ต้นทุนกับพวกเขา

ทำอย่างละเอียด. ฉันได้รับการพูดคุยกับลูกค้าในช่วงหลายปีที่ผ่านมาด้วยข้อกำหนดที่น่าหัวเราะ ในทุกกรณีพวกเขาใช้แค่ภาษาที่ไม่แม่นยำ

บ่อยครั้งที่พวกเขาจัดวางสิ่งต่าง ๆ ในลักษณะที่ดูเหมือนสัมบูรณ์ - เหมือนจริง 100% แต่ในความเป็นจริงในการสืบสวนที่ลึกกว่าพวกเขามีเหตุผลเพียงพอที่จะทำการวิเคราะห์ต้นทุน / ผลประโยชน์ที่จำเป็นเมื่อนำเสนอด้วยต้นทุนเพื่อข้อมูลการลดความเสี่ยง ถามพวกเขาว่าพวกเขาจะวัดความพร้อมใช้งานได้อย่างไรเป็นคำถามที่สำคัญ หากพวกเขาไม่ทราบสิ่งนี้แสดงว่าคุณอยู่ในฐานะที่ต้องแนะนำพวกเขาว่าสิ่งนี้จำเป็นต้องกำหนดไว้ก่อน

ฉันจะขอให้ลูกค้ากำหนดสิ่งที่จะเกิดขึ้นในแง่ของผลกระทบทางธุรกิจ / ค่าใช้จ่ายหากเว็บไซต์ลงไปในสถานการณ์ต่อไปนี้:

  • ในเวลาที่ยุ่งที่สุดเป็นเวลา x ชั่วโมง
  • อย่างน้อยก็ไม่ว่างชั่วโมง x ชั่วโมง

และวิธีที่พวกเขาจะวัดสิ่งนี้

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


21
ตกลง พวกเขาอาจหมายถึงสถานะการออนไลน์ที่“ สูงมาก” (90 ปีขึ้นไป?) ด้วยกลยุทธ์ความล้มเหลวที่แข็งแกร่ง ถ้าไม่เช่นนั้นคำอธิบายของระดับค่าใช้จ่ายที่เกี่ยวข้องกับการหวังว่าจะชักชวนให้พวกเขา ...
มาร์ตินดาวโจนส์

32
+1 สำหรับการไม่กระโดดไปสู่ข้อสรุปและขอให้ลูกค้าอธิบายสิ่งที่พวกเขามีอยู่ในใจแทน
sleske

4
ฉันสะท้อนคำสั่ง "ไม่ข้ามไปยังข้อสรุป" ... หากลูกค้าหมายถึงสถานะการออนไลน์ 100% (ลบด้วยการบำรุงรักษาตามกำหนดเวลา) นั่นอาจเป็นข้อกำหนดที่สมเหตุสมผลมากกว่า
Tim Reddy

1
เกี่ยวกับผลกระทบทางธุรกิจเรารู้และเข้าใจธุรกิจของพวกเขาอย่างแท้จริงและค่าใช้จ่ายที่เกี่ยวข้องกับการลงเว็บไซต์ไม่ใช่ทางการเงิน เพิ่มเติมตามแนวของชนพื้นเมืองที่ปรากฏขึ้นพร้อมกับโกย, ม่านแขวนที่อาจเกิดขึ้น ฯลฯ ;) แค่คิด 40,000 คนปรากฏตัวขึ้นที่ประตูหน้าของคุณกรีดร้อง นั่นคือสิ่งที่พวกเขาต้องการหลีกเลี่ยงด้วยความหลงใหล
NotMe

7
@ChrisLively ยิ่งมีเหตุผลมากขึ้นที่จะเข้าใจความเสี่ยงอย่างเต็มที่ กระบวนทัศน์ที่โดดเด่นสำหรับงานด้านวิศวกรรมความปลอดภัยการประเมินความเสี่ยงน่าจะเป็น มีระบบที่สามารถฆ่า (ไม่ใช่แค่รบกวน) ผู้คนหลายพันคนและพวกเขายังมีความหวังต่ำเข้าใจดี แต่ความน่าจะเป็นที่ไม่เป็นศูนย์ของความล้มเหลว
poolie

140

ลูกค้าของคุณเป็นบ้า ความพร้อมในการทำงาน 100% เป็นไปไม่ได้ไม่ว่าคุณจะใช้เงินไปเท่าไหร่ ธรรมดาและเรียบง่าย - เป็นไปไม่ได้ ดูที่ Google, Amazon และอื่น ๆ พวกเขามีเงินเกือบจะไม่มีที่สิ้นสุดในการใช้โครงสร้างพื้นฐานของพวกเขา คุณต้องส่งข้อความนั้นไปยังพวกเขาและหากพวกเขายังคงยืนยันว่าพวกเขามีความต้องการที่สมเหตุสมผล หากพวกเขาไม่ยอมรับว่าบางส่วนจำนวนเงินของการหยุดทำงานเป็นสิ่งที่หลีกเลี่ยงแล้วทิ้ง 'em

ที่กล่าวว่าคุณดูเหมือนจะมีกลไกในการขยาย / กระจายแอปพลิเคชันเอง ส่วนเครือข่ายจะต้องมีการเชื่อมโยงข้อมูลสำรองที่ซ้ำซ้อนไปยัง ISP ที่แตกต่างกันรับการจัดสรร ASN และ IP และรับคอลึกใน BGP และอุปกรณ์กำหนดเส้นทางที่แท้จริงเพื่อให้พื้นที่ที่อยู่ IP สามารถเคลื่อนย้ายระหว่าง ISP ได้หากจำเป็น

เห็นได้ชัดว่านี่เป็นคำตอบที่สั้นมาก คุณไม่เคยมีประสบการณ์กับแอพพลิเคชั่นที่ต้องใช้เวลาในระดับนี้ดังนั้นคุณต้องมีผู้เชี่ยวชาญที่เกี่ยวข้องหากคุณต้องการเข้าใกล้ทุก ๆ 100 นาที


7
ตกลง โดยสิ้นเชิง บ้า.
jdw

2
พวกเขาเคย
Sirex

2
@Sirex หมายถึงการทดลองล่าสุด @ CERN ที่พบนิวตริโนเดินทางเร็วกว่าแสง ผลลัพธ์ยังไม่ได้รับการยืนยันจากนักวิทยาศาสตร์อิสระ
TC1

9
@ TC1 ฉันจะวางเดิมพันให้คุณ$ 200ที่ไม่ได้เลื่อนออกไป
dpatchery

4
@ErikA คำร้องขอเวลาใช้งาน 100% บ่งบอกถึงความไม่รู้คุณสมบัติทางเทคนิคของระบบ ไม่เป็นไรเพราะงานของลูกค้ากำลังทำสิ่งที่พวกเขาทำ งานของคุณคือจัดทำระบบไอที ลูกค้าที่ยากเช่นนี้อาจเป็นฝันร้าย แต่พวกเขาก็สามารถเป็นลูกค้าที่ดีที่สุดของคุณได้เช่นกัน
duffbeer703

54

นั่นเป็นสิ่งที่น่าสนใจอย่างแน่นอน ฉันไม่แน่ใจว่าฉันต้องการให้ตัวเองมีภาระผูกพันตามสัญญาเป็น uptime 100% แต่ถ้าฉันต้องฉันคิดว่ามันจะมีลักษณะเช่นนี้:

เริ่มต้นด้วย IP สาธารณะบน load balancer ออกจากเครือข่ายอย่างสมบูรณ์และสร้างอย่างน้อยสองตัวเพื่อให้สามารถล้มเหลวได้ โปรแกรมเช่น Heatbeart สามารถช่วยในการล้มเหลวอัตโนมัติของโปรแกรมเหล่านั้น

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

ฉันรัก Elastic IP ใน Amazon EC2 วันนี้ดังนั้นฉันอาจจะสร้าง load balancer ใน EC2 ในภูมิภาคต่าง ๆ หรืออย่างน้อยก็ในโซนความพร้อมใช้งานที่แตกต่างกันในภูมิภาคเดียวกัน นั่นจะทำให้คุณมีทางเลือกด้วยตนเอง (ห้ามไม่ให้ผู้อื่น) ปั่นบาลานเซอร์โหลดใหม่หากคุณต้องย้ายไอพีเรคคอร์ด A ที่มีอยู่ไปยังกล่องใหม่

วานิชไม่สามารถยกเลิก SSL ได้ดังนั้นหากเป็นเรื่องที่น่ากังวลคุณอาจต้องการดูบางอย่างเช่น Nginx แทน

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

นั่นคือสิ่งที่ฉันจะเริ่มต้นถ้าฉันมีงานนี้และปรับแต่งอย่างไม่ต้องสงสัยเมื่อฉันไปตาม

อย่างไรก็ตามตามที่ @ErikA ระบุว่าเป็นอินเทอร์เน็ตและมักจะเป็นส่วนหนึ่งของเครือข่ายที่อยู่นอกเหนือการควบคุมของคุณ คุณจะต้องแน่ใจว่ากฎหมายของคุณเชื่อมโยงคุณกับสิ่งที่อยู่ภายใต้การควบคุมของคุณ


2
ในขณะที่ฉันกำลังคิดเกี่ยวกับ Amazon และ MS สำหรับการปรับใช้คลาวด์ SSL เป็นสิ่งสำคัญ
NotMe

3
หากคุณกำลังจะใช้อเมซอนคุณจะต้องกระจายเครื่องของคุณออกไปทั่ว 5 โซนความพร้อมใช้งาน มันไม่น่าเป็นไปได้ที่โซนทั้งหมดของพวกเขาจะออกไปพร้อมกัน
jdw

11
+1 สำหรับการตอบคำถามหลักของ OP จริง ๆ
Phil

คุณจะมีจุดล้มเหลวอยู่เสมอ jdw ตราบใดที่มีสิ่งที่ไม่กระจายอยู่ในสายโซ่ (ในกรณีของการเต้นของหัวใจยกเว้นกรณีที่แน่นอนว่าคุณมีหลายอินสแตนซ์ของการทำงานบนเครื่องระยะไกลทั้งหมดที่ตรวจสอบกันและกัน เซิร์ฟเวอร์ซึ่งเซิร์ฟเวอร์ใด ๆ อาจหรือไม่เห็นเนื่องจากปัญหาเครือข่ายตามเส้นทาง) ซึ่งนำเราไปสู่ ​​"การหยุดทำงาน" เซิร์ฟเวอร์อาจเริ่มทำงานและยังไม่พร้อมใช้งานสำหรับไคลเอ็นต์โดยไม่ต้องตรวจพบว่ามีการเต้นของหัวใจหากความล้มเหลวไม่ได้อยู่ในเส้นทางการกำหนดเส้นทาง
jwenting

ตกลง อย่างที่ทุกคนได้ชี้ให้เห็นไม่มีสิ่งใดที่จะช่วยให้ทำงานได้ 100% สิ่งที่คุณทำได้คือลองและสิ่งที่ฉันอธิบายคือวิธีที่ฉันจะเริ่มลอง
jdw

30

ไม่มีปัญหา - ถ้อยคำสัญญาที่มีการแก้ไขเล็กน้อย:

... รับประกัน uptime 100% (ปัดเศษเป็นศูนย์ทศนิยม)


2
+1 เมื่อสังเกตว่า 100% ไม่ใช่ 100,0% หรือ 100,000% เป็นต้นตัวเลขทศนิยมนั้นบ่งบอกถึงความแม่นยำ;)
Danubian Sailor

4
ตามอนุสัญญาบางฉบับ "100%" มีเพียงตัวเลขที่มีนัยสำคัญเพียงตัวเลขเดียวเช่นว่าตัวเลขทั้งหมดระหว่างครึ่งและหนึ่งจะปัดเป็น "100%"; 50% จะเท่ากับ 100%
โทมัสเลวีน

1
ขึ้นอยู่กับมาตรฐานในการนับบางคนจะบอกว่า 50% มีตัวเลข meeningfull สองหมายเลขโดย 100% มีตัวเลข meeningful สามหมายเลข 50,5 และ 100 มีความแม่นยำ คนอื่น ๆ จะนับตัวเลขหลังจุดทศนิยม จากนั้น 50,5 และ 100,4 จะแม่นยำเช่นกัน หากไม่มีอะไรระบุฉันจะถือว่า 100% เป็น 99,5% ขึ้นไป 100,0% คือ 99.95% ขึ้นไปและอื่น ๆ
Tillebeck

26

หาก Facebook และ Amazon ไม่สามารถทำได้คุณก็ทำไม่ได้ มันง่ายอย่างที่คิด


17
เขาอาจฉลาดกว่าคนอื่น ๆ ทั้งหมดที่รวมกัน: p
Matt

3
เวลาใช้งาน 100% ไม่จำเป็นต้องเป็นคนที่มีตัวอักษรมาก - หมายความว่า: มีให้ 100% ในช่วงเวลาที่จำเป็น ตัวอย่างเช่นระบบของธนาคารควรพร้อมใช้งานเสมอและทำได้ดีทีเดียว เพียงเพราะพวกเขาลงการบำรุงรักษาเป็นเวลา 1 วินาทีปีละครั้งไม่ได้หมายความว่าพวกเขาล้มเหลวในเป้าหมายการทำงานที่ 100%
David d C e Freitas

13
@DavidFreitas - ฉันคิดว่าในสัญญามักจะค่อนข้างตามตัวอักษร ...
UpTheCreek

2
@Matt เพียงเพราะ Facebook / Amazon ทำไม่ได้ไม่ได้หมายความว่าไซต์เล็ก ๆ ไม่สามารถทำได้ เว็บไซต์ขนาดใหญ่จำนวนมากประสบปัญหายากที่จะเอาชนะได้มากกว่าเว็บไซต์ขนาดเล็ก
Xorlev

1
ดังนั้นสิ่งที่คุณพูดคือคุณไม่มีเวลาทำงาน 100% เนื่องจากคุณมีลูกค้าที่มีข้อผิดพลาด .. บวกกับ dns ไม่ใช่สวิตช์ทันทีเนื่องจากคุณมี ISP ที่ไม่สนใจ TTL สั้น ๆ
Mike

25

เพื่อเพิ่มคำตอบของ oconnoreจาก Hacker News

ฉันไม่เข้าใจว่าปัญหาคืออะไร ลูกค้าต้องการให้คุณวางแผนสำหรับภัยพิบัติและพวกเขาไม่ได้มุ่งเน้นทางคณิตศาสตร์ดังนั้นการขอความน่าจะเป็น 100% นั้นสมเหตุสมผล วิศวกรในฐานะวิศวกรมีแนวโน้มที่จะทำจำวันแรกของปัญหา & สถิติ 101 โดยไม่พิจารณาว่าลูกค้าอาจไม่ เมื่อพวกเขาพูดแบบนี้พวกเขาไม่ได้คิดเกี่ยวกับฤดูหนาวนิวเคลียร์พวกเขากำลังคิดเกี่ยวกับการทิ้งกาแฟของเขาบนเซิร์ฟเวอร์ในสำนักงานดิสก์หยุดทำงานหรือ ISP ล่ม นอกจากนี้คุณสามารถทำได้ ด้วยเซิร์ฟเวอร์การตรวจสอบตนเองที่แตกต่างกันทางภูมิศาสตร์คุณจะไม่มีเวลาหยุดทำงาน ด้วย 3 เซิร์ฟเวอร์ที่ทำงานด้วยอิสระ (1) สามความน่าเชื่อถือ 9 กับโหมดล้มเหลวที่ดีการหยุดทำงานที่คาดหวังของคุณอยู่ภายใต้วินาทีต่อปี (2) แม้ว่าสิ่งนี้จะเกิดขึ้นทั้งหมดในครั้งเดียว คุณยังอยู่ใน SLA ที่สมเหตุสมผลสำหรับการเชื่อมต่อเว็บดังนั้นจึงไม่มีการหยุดทำงานในทางปฏิบัติ ลูกค้ายังคงต้องรับมือกับสถานการณ์วันโลกาวินาศ แต่ก็อดซิลล่าได้รับการยกเว้นเขาจะมีบริการที่ "เสมอ" ขึ้น

(1) เซิร์ฟเวอร์ใน LA มีความเป็นอิสระจากเซิร์ฟเวอร์ในบอสตัน แต่ใช่ฉันเข้าใจว่ามีจุดตัดบางอย่างที่เกี่ยวข้องกับสงครามนิวเคลียร์แฮกเกอร์จีนชนแผงพลังงาน ฯลฯ ฉันไม่คิดว่าลูกค้าของคุณจะต้องเสียใจด้วย นี้.

(2) DNS ล้มเหลวอาจเพิ่มสักครู่ คุณยังคงอยู่ในสถานการณ์ที่ลูกค้าต้องลองส่งคำขออีกครั้งหนึ่งครั้งต่อปีซึ่งก็คืออีกครั้งภายใน SLA ที่สมเหตุสมผลและโดยทั่วไปไม่ถือว่าอยู่ในเส้นเลือดเดียวกับ "หยุดทำงาน" ด้วยแอปพลิเคชันที่เปลี่ยนเส้นทางไปยังโหนดที่มีอยู่โดยอัตโนมัติเมื่อล้มเหลวทำให้ไม่สามารถสังเกตเห็นได้


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

@Shadur: หากพวกเขาต้องการมันจริงๆแล้วคุณต้องชาร์จพวกเขาจริงๆ กระจายเซิร์ฟเวอร์ไปทั่วในเชิงภูมิศาสตร์หวังว่าจะไม่มีภัยพิบัติในทุกที่
Jungle Hunter

3
ฉันเคยเห็นเว็บไซต์ที่ให้การรับประกันความพร้อมในการทำงาน 100% หรือเงินของคุณคืน เคล็ดลับคือพวกเขาคิดค่าบริการเรือบรรทุกและแบ่งเป็นเดือน ๆ ดังนั้นบางเดือนจึงไม่ได้รับค่าจ้างและคุณกำหนดเวลาทุกอย่างรอบ ๆ นั้นและครอบคลุมความสูญเสียด้วยเดือนที่ได้ผลดี
jldugger

17

คุณกำลังถูกถามถึงสิ่งที่เป็นไปไม่ได้

ทบทวนคำตอบอื่น ๆ ที่นี่นั่งกับลูกค้าของคุณและอธิบายว่าทำไมจึงเป็นไปไม่ได้และวัดการตอบกลับของพวกเขา

หากพวกเขายังคงยืนยันใน uptime 100% อย่างสุภาพแจ้งพวกเขาว่ามันไม่สามารถทำได้และปฏิเสธสัญญา คุณจะไม่ตอบสนองความต้องการของพวกเขาและหากสัญญาไม่ได้ดูดคุณจะได้รับการลงโทษ


2
จำเป็นต้องกำหนด 100% นั่นคือมีให้ 100% ยกเว้นเมื่อทำการบำรุงรักษาหรืออัปเกรดและเวลานั้นจะถูก จำกัด ไว้ที่ชั่วโมงที่เงียบสงบเป็นเวลาไม่กี่ชั่วโมงต่อเดือน ทุกอย่างขึ้นอยู่กับวัตถุประสงค์และการใช้งานแอพพลิเคชั่นของเว็บในกรณีนี้ ...
David d C e Freitas

1
และกำหนด "การหยุดทำงาน" ไม่สามารถรับประกันได้ในทางทฤษฎีว่าพวกเขาจะสามารถเข้าถึงเซิร์ฟเวอร์ในโอมาฮาจากสำนักงานในแฟร์แบงค์ได้เว้นแต่ว่าคุณจะควบคุมเครือข่ายทั้งหมดในระหว่างนั้น (แม้ว่าคุณจะให้การรับรองว่าเซิร์ฟเวอร์กำลังทำงาน
jwenting

คำจำกัดความคือ IMHO ที่ไม่เกี่ยวข้องหากพวกเขาขอให้ "uptime 100%": แม้ว่าคุณจะเจรจาการบำรุงรักษาตามกำหนดเวลาและสร้างในการสำรอง N + N หากความผิดพลาดเล็กน้อยทำให้เกิดการรีบูตหรือบริการที่ไม่ได้กำหนดไว้ กำหนดแน่นอนที่เกี่ยวข้องหากคุณกำลังเจรจา SLA 3, 4 หรือ 5 ตัว
voretaq7

ขึ้นอยู่กับเงื่อนไขของ SLA ใช่ไหม หากคุณได้รับเงิน $ 100K ต่อเดือนและทุกนาทีของการหยุดทำงานจะมีโทษ $ 1K ซึ่งอาจเป็นไปได้ทั้งหมด (ถ้าคุณมีสัญญาอื่น ๆ ที่จะตัดค่าใช้จ่ายในการดูแลระบบตลอด 24 ชั่วโมง)
Michael Borgwardt

@MichaelBorgwardt มีวิธีที่แน่นอนในการ "ทำให้มันเป็นจริง" จากมุมมองตัวเลขที่บริสุทธิ์ แต่ฉันยังคงปฏิเสธเพราะความเป็นไปได้ที่จะเกิดการประชาสัมพันธ์ที่ไม่ดี ($ _CLIENT ไปที่ Twitter และบอกโลกว่า 'เราลงเพราะ $ _PROVIDER และไม่สามารถพบ SLA ของพวกเขาได้! ') โดยส่วนตัวแล้วฉันอยากจะมีขนาดเล็กกว่า 10 ลูกค้าที่เหมาะสมกว่าจ่ายให้ฉัน $ 10ka เดือน :-)
voretaq7

13

ราคาตามนั้นและกำหนดในสัญญาว่าการหยุดทำงานที่ผ่านมาของ SLA จะได้รับคืนตามอัตราที่พวกเขาจ่าย

ISP ในงานสุดท้ายของฉันทำอย่างนั้น เรามีทางเลือกของสาย DSL "ปกติ" ที่ 99.9% อัพไทม์สำหรับ $ 40 / เดือนหรือสามทรีโอของ T1s ที่ 99.99% อัพไทม์สำหรับ $ 1100 / เดือน มีการหยุดทำงานบ่อยครั้งมากกว่า 10+ ชั่วโมงต่อเดือนซึ่งทำให้สถานะการออนไลน์ของพวกเขาต่ำกว่า DSL $ 40 / เดือน แต่เราได้รับเงินคืนแค่ประมาณ $ 15 หรือมากกว่านั้นเพราะนั่นคืออัตราต่อชั่วโมง * ชั่วโมงที่สิ้นสุด พวกเขาทำเหมือนโจรจากข้อตกลง

หากคุณเรียกเก็บเงิน $ 450,000 ต่อเดือนสำหรับช่วงเวลาการให้บริการ 100% และคุณมียอดถึง 99.999% คุณจะต้องคืนเงินให้ $ 324 ฉันยินดีที่จะเดิมพันค่าใช้จ่ายโครงสร้างพื้นฐานในการเข้าถึง 99.999% อยู่ในละแวกใกล้เคียง $ 45,000 ต่อเดือนสมมติว่า colos กระจายอย่างเต็มรูปแบบ, อัปลิงค์ชั้นที่ 1 หลาย, ฮาร์ดแวร์แฟนซี ฯลฯ


3
หากคุณเห็นใครก็ตามที่สัญญาว่าจะให้บริการต่อเนื่อง 100% นี่คือสิ่งที่พวกเขาทำ มีความแตกต่างระหว่างสัญญา uptime 100% และการส่งมอบ เป็นความคิดที่ดีที่จะอธิบายเรื่องนี้กับลูกค้าหากพวกเขาพยายามเสนอราคา SLA ของคู่แข่งให้คุณ
sjbotha

10

หากผู้เชี่ยวชาญถามว่าความพร้อมใช้งาน 99.999 เปอร์เซ็นต์ [เป็น] เป็นไปได้จริงหรือมีความเป็นไปได้ทางการเงินความพร้อมใช้งาน 99.9999% นั้นเป็นไปได้น้อยลงหรือใช้งานได้จริง นับประสา 100%

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


10

มีคนสองประเภทที่ขอความพร้อมในการทำงาน 100%:

  1. ผู้ที่ไม่มีความรู้เกี่ยวกับคอมพิวเตอร์ระบบคอมพิวเตอร์หรืออินเทอร์เน็ต *
  2. ผู้ที่ตั้งใจทำตัวเองอย่างจงใจเพื่อทดสอบความสามารถของคุณในการบอกว่าไม่ (Google "การทดสอบน้ำส้ม") หรือพยายามที่จะได้รับสัญญา SLA เพื่อใช้ประโยชน์จากการจ่ายเงินให้คุณในภายหลัง

คำแนะนำของฉันหลังจากที่ประสบกับลูกค้าทั้งสองประเภทนี้หลายต่อหลายครั้งคือไม่รับลูกค้ารายนี้ ปล่อยให้พวกเขาขับรถบ้าคนอื่น

* บุคคลเดียวกันนี้อาจไม่มีความลำบากใจในการสอบถามเกี่ยวกับการเดินทางที่เร็วกว่าแสงการเคลื่อนไหวแบบไม่หยุดยั้ง Cold Fusion ฯลฯ


2
+1 สำหรับการทดสอบน้ำส้ม .. ผมชอบและไม่ทราบว่าเกี่ยวกับเรื่องนี้ :)
โอลิเวอร์ M Grech

8

ฉันจะสื่อสารกับลูกค้าเพื่อสร้างความพร้อมในการทำงานต่อเวลา 100% มีความเป็นไปได้ที่พวกเขาจะไม่เห็นความแตกต่างระหว่างความพร้อมในการทำงาน 99% และความพร้อมในการทำงาน 100% สำหรับคนส่วนใหญ่ (เช่นไม่ใช่ผู้ดูแลระบบเซิร์ฟเวอร์) ทั้งสองหมายเลขนั้นเหมือนกัน


6

ระยะเวลาทำงาน 100%

นี่คือสิ่งที่คุณต้องการ:

เซิร์ฟเวอร์ DNS หลายตัว (& ซ้ำซ้อน) ชี้ไปที่หลายไซต์ทั่วโลกพร้อม SLA ที่เหมาะสมกับ ISP แต่ละเครื่อง

ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ DNS ได้รับการตั้งค่าอย่างถูกต้องโดยรู้จัก TTL


1
ใช่ DNS เป็นการเริ่มต้นที่ดี - เช่นnslookup google.comส่งคืน IP ที่แตกต่างกัน 6 รายการสำหรับการสำรองข้อมูลในกรณีที่บางรายการไม่ทำงาน ตรวจสอบเว็บไซต์ที่ยอดเยี่ยมเพื่อดูการกำหนดค่าของบางโดเมนเช่นrobtex.com/dns/google.com.html#records
David d C e Freitas

6

มันง่ายมาก Amazon EC2 SLA ระบุไว้อย่างชัดเจนว่า:

“ เปอร์เซ็นต์สถานะการออนไลน์ต่อปี” คำนวณโดยลบออกจาก 100% เปอร์เซ็นต์ของระยะเวลา 5 นาทีในช่วงปีบริการที่ Amazon EC2 อยู่ในสถานะ“ ไม่พร้อมให้บริการในภูมิภาค”

http://aws.amazon.com/ec2-sla/

เพียงกำหนด 'uptime' เพื่อให้สัมพันธ์กับชุดบริการทั้งหมดที่คุณสามารถใช้งานได้จริง 100% และคุณไม่ควรมีปัญหาใด ๆ

นอกจากนี้ควรชี้ให้เห็นว่าจุดรวมทั้งหมดของ SLA คือการกำหนดว่าภาระผูกพันของคุณคืออะไรและจะเกิดอะไรขึ้นหากคุณไม่สามารถปฏิบัติตามข้อตกลงเหล่านั้นได้ ไม่สำคัญว่าลูกค้าจะขอ 3 เก้าหรือ 5 หรือ 10 ล้าน - คำถามคือสิ่งที่พวกเขาได้รับเมื่อ / ถ้าคุณไม่สามารถส่งมอบ คำตอบที่ชัดเจนคือให้รายการโฆษณาสำหรับช่วงเวลาการแสดงผล 100% ในราคาที่คุณต้องการคิดค่าบริการ 5 เท่าจากนั้นพวกเขาจะได้รับเงินคืน 4x หากคุณพลาดเป้าหมายนั้น คุณอาจให้คะแนน!


5

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

นี่เป็นวิธีที่ GTM ทำงานใน F5 Big IP โดยค่าเริ่มต้นของ DNS TTL คือ 30 วินาทีและหากสมาชิกคนหนึ่งของคลัสเตอร์ต้องการเข้าครอบครอง DNS จะได้รับการอัปเดตและ IP ใหม่จะถูกใช้งานเกือบจะทันที การหยุดทำงานสูงสุด 30 วินาที แต่นั่นคือกรณีขอบโดยเฉลี่ยจะเป็น 15 วินาที


10
เป็นประสบการณ์ของฉันที่เซิร์ฟเวอร์ DNS บางตัวจะเพิกเฉยต่อ TTL ที่พวกเขาพิจารณาว่าอยู่ในระดับต่ำอย่างน่ากลัว (ทั้งๆที่ RFC) อะไรที่น้อยกว่า 5 นาทีจะไม่น่าเชื่อถือในระดับโลก
jdw

13
@ พอลไม่สนใจความเป็นจริงไม่ใช่วิธีปฏิบัติที่ยอมรับได้ไม่ว่ามันจะทำให้ทุกคนโกรธ
MDMarra

5
ฉันกับ jdw เกี่ยวกับเรื่องนี้ ฉันเห็นเซิร์ฟเวอร์ DNS จำนวนมากเพิกเฉยต่อ TTL อย่างสมบูรณ์แม้แต่การตั้งค่า 1 ชั่วโมงและกลับไปใช้ค่าเริ่มต้นเป็น 24 ชั่วโมงหรือมากกว่านั้น
NotMe

6
@Paul - OP ไม่สามารถควบคุมตัวแก้ DNS ทั้งหมดของ ISP ได้บนโลกใบนี้ ดังนั้นพวกเขาจะไม่ได้รับเลือกให้พูดว่า "ถ้าคุณกำลังจะใช้เว็บไซต์ของเราอย่าใช้ Comcast / Roadrunner / ผู้ใดก็ตามที่เป็น ISP ของคุณเพราะพวกเขาจะเพิกเฉยต่อการตั้งค่า TTL ของเรา" มันเป็นอะไรบางอย่างที่เกินความสามารถในการควบคุมของพวกเขาและดังนั้นจึงเปราะบางเกินกว่าที่จะได้รับการพิจารณาวิธีแก้ปัญหาสำหรับ IMHO วิธีการแก้ปัญหาต้องรวมถึงวิธีที่จะสามารถบังคับ IP ภายในโดยไม่ต้องพึ่งพาบิตอื่น ๆ ของเครือข่ายที่อาจไม่ร่วมมือกัน
jdw

3
มันเหมือนกับว่าไม่มี UPS เพราะพลัง 'ควรจะได้ผล' มันไม่ใช่วิธีการคิดล่วงหน้าสำหรับการสร้างระบบ หากคุณรู้ว่ามีส่วนที่เปราะบางของระบบไม่ว่าด้วยเหตุผลใดก็ตามคุณควรลองทำดู
jdw

5

คุณรู้ว่ามันเป็นไปไม่ได้

ไม่ต้องสงสัยเลยว่าลูกค้ามุ่งเน้นไปที่การเห็น "100%" ดังนั้นสิ่งที่ดีที่สุดที่คุณสามารถทำได้คือสัญญา 100% ยกเว้น [สาเหตุที่สมเหตุสมผลทั้งหมดที่ไม่ใช่ความผิดของคุณ]


ไม่ต้องสงสัยเลยว่าลูกค้าไม่ต้องการทางออกใด ๆ พวกเขาต้องการการปฏิเสธ ดังนั้นพวกเขาจึงสามารถพูดได้ว่าพวกเขาพยายามอย่างน้อย
mbx

อาจจะ คุณกำลังสมมติเบาะแสระดับสูง
Marcin

4

ในขณะที่ฉันสงสัยว่าเป็นไปได้ 100% คุณอาจต้องการพิจารณา Azure (หรือบางสิ่งที่มี SLA ที่คล้ายกัน) เป็นไปได้ เกิดอะไรขึ้น:

เซิร์ฟเวอร์ของคุณเป็นเครื่องเสมือน หากมีปัญหาฮาร์ดแวร์บนเซิร์ฟเวอร์เครื่องหนึ่งเครื่องเสมือนของคุณจะถูกย้ายไปยังเครื่องใหม่ ตัวโหลดบาลานซ์จะดูแลการเปลี่ยนเส้นทางดังนั้นลูกค้าไม่ควรเห็นการหยุดทำงานใด ๆ (แม้ว่าฉันไม่แน่ใจว่าสถานะเซสชันของคุณจะได้รับผลกระทบ) อย่างไร

ที่กล่าวว่าถึงแม้จะมีความล้มเหลวนี้ความแตกต่างระหว่าง 99.999 และ 100 ชายแดนกับความวิกลจริต

คุณจะต้องควบคุมปัจจัยต่อไปนี้อย่างสมบูรณ์
- ปัจจัยมนุษย์ทั้งภายในและภายนอกทั้งความอาฆาตพยาบาทและความอ่อนแอ ตัวอย่างของสิ่งนี้คือใครบางคนกำลังผลักบางสิ่งบางอย่างไปยังรหัสการผลิตที่นำเซิร์ฟเวอร์ลง ยิ่งกว่านั้นสิ่งที่เกี่ยวกับการก่อวินาศกรรม?
- ปัญหาทางธุรกิจ ถ้าผู้ให้บริการของคุณออกจากธุรกิจหรือลืมจ่ายค่าไฟฟ้าหรือตัดสินใจหยุดสนับสนุนโครงสร้างพื้นฐานของคุณโดยไม่มีการเตือนล่วงหน้า
- ธรรมชาติ จะเกิดอะไรขึ้นถ้าพายุทอร์นาโดที่ไม่เกี่ยวข้องพร้อม ๆ กันนั้นจะเข้าสู่ศูนย์ข้อมูลมากพอที่จะรองรับความจุในการสำรอง
- สภาพแวดล้อมที่ปราศจากข้อบกพร่องอย่างสมบูรณ์ คุณแน่ใจหรือไม่ว่าไม่มีกรณีที่มีการควบคุมโดยบุคคลที่สามหรือระบบคอร์บางตัวที่ไม่ได้แสดงออก แต่ยังสามารถทำได้ในอนาคต
- แม้ว่าคุณจะสามารถควบคุมปัจจัยต่าง ๆ ข้างต้นได้อย่างเต็มที่คุณแน่ใจหรือไม่ว่าซอฟต์แวร์ / บุคคลที่ตรวจสอบสิ่งนี้จะไม่นำเสนอสิ่งที่ไม่ถูกต้องเมื่อตรวจสอบว่าระบบของคุณทำงานหรือไม่


2
Azure และ EC2 เพิ่งจะมีความล้มเหลวใกล้เสร็จสมบูรณ์ ฉันเชื่อว่า Azure เพิ่งถูกลบเนื่องจากการกำหนดค่าที่ไม่ดีบนเซิร์ฟเวอร์ DNS ทั้งสองวิธีขอบคุณสำหรับข้อมูล
NotMe

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

1
ฉันคิดว่าคุณหมายถึง 'ไร้ความสามารถ' 'ความอ่อนแอ' ไม่ควรมีผลกระทบอย่างมากต่อความสามารถของพนักงานไอทีในการทำงานของพวกเขา
mfinni

4

สุจริต 100% เป็นบ้าอย่างสมบูรณ์โดยไม่ลังเลใจอย่างน้อยในแง่ของการโจมตีการแฮ็ค ทางออกที่ดีที่สุดของคุณคือการทำสิ่งที่ Google และ Amazon ทำในสิ่งที่คุณมีโซลูชันโฮสติ้งแบบกระจายพื้นที่ซึ่งคุณมีไซต์และฐานข้อมูลของคุณจำลองแบบผ่านเซิร์ฟเวอร์หลายเครื่องในสถานที่ทางภูมิศาสตร์หลายแห่ง สิ่งนี้จะรับประกันได้ในทุกสิ่งยกเว้นภัยพิบัติที่สำคัญเช่นกระดูกสันหลังของอินเทอร์เน็ตถูกตัดไปยังภูมิภาค (ซึ่งเกิดขึ้นเป็นครั้งคราว) หรือบางสิ่งที่เกือบจะเป็นสันทราย

ฉันจะอยู่ในประโยคสำหรับกรณีเช่นนี้ (DDOS, การตัดกระดูกสันหลังทางอินเทอร์เน็ต, การโจมตีของผู้ก่อการร้ายสันทรายหรือสงครามครั้งใหญ่เป็นต้น)

นอกเหนือจากนั้นมองเข้าไปที่ Amazon S3 หรือบริการคลาวด์ Rackspace โดยพื้นฐานแล้วการตั้งค่าระบบคลาวด์จะไม่เพียง แต่เสนอความซ้ำซ้อนในแต่ละตำแหน่ง แต่ยังรวมถึงความสามารถในการปรับขยายและการกระจายการจราจรทางภูมิศาสตร์พร้อมกับความสามารถในการเปลี่ยนเส้นทางไปรอบ ๆ พื้นที่ทางภูมิศาสตร์ที่ล้มเหลว แม้ว่าความเข้าใจของฉันคือการกระจายทางภูมิศาสตร์มีค่าใช้จ่ายมากขึ้น


3

ฉันแค่อยากจะเพิ่มเสียงอื่นให้กับพรรค "มันสามารถ (ในทางทฤษฎี) สามารถทำได้"

ฉันจะไม่ทำสัญญาที่ระบุสิ่งนี้ไม่ว่าพวกเขาจะจ่ายเงินให้ฉันแค่ไหน แต่เป็นปัญหาการวิจัยมันมีวิธีแก้ปัญหาที่น่าสนใจบ้าง ฉันไม่คุ้นเคยกับระบบเครือข่ายพอที่จะอธิบายขั้นตอนต่าง ๆ แต่ฉันคิดว่าการรวมกันของการกำหนดค่าที่เกี่ยวข้องกับเครือข่าย + การเดินสายไฟฟ้า / ฮาร์ดแวร์ล้มเหลว + การล้มเหลวของซอฟต์แวร์อาจเป็นไปได้ว่าในการกำหนดค่าบางอย่างหรืองานอื่น ๆ

มีเกือบทุกจุดของความล้มเหลวที่ใดที่หนึ่งในการกำหนดค่าใด ๆ แต่ถ้าคุณทำงานหนักพอคุณสามารถผลักดันจุดที่ล้มเหลวเป็นสิ่งที่สามารถซ่อมแซมได้ "สด" (เช่นราก DNS ลงไป แต่ค่ายังคงถูกแคช ทุกที่อื่นเพื่อให้คุณมีเวลาแก้ไข)

อีกครั้งไม่ได้บอกว่ามันเป็นไปได้ .. ฉันไม่ชอบคำตอบเดียวที่ไม่ได้ตอบความจริงที่ว่ามันไม่ใช่ "วิธีไปที่นั่น" - มันไม่ใช่สิ่งที่พวกเขาต้องการจริงๆถ้าพวกเขาคิดผ่าน


3

Re: คิดว่าวิธีการของคุณในการวัดความพร้อมใช้งานแล้วทำงานร่วมกับลูกค้าของคุณในการตั้งค่าเป้าหมายที่มีความหมาย

หากคุณใช้งานเว็บไซต์ขนาดใหญ่สถานะการออนไลน์ไม่เป็นประโยชน์เลย หากคุณลดการค้นหาเป็นเวลา 10 นาทีเมื่อลูกค้าของคุณต้องการพวกเขามากที่สุด (ปริมาณการใช้งานสูงสุด) อาจเป็นอันตรายต่อธุรกิจมากกว่าการหยุดทำงานเป็นเวลาหนึ่งชั่วโมงในเวลาตี 3 ของวันอาทิตย์

บางครั้ง บริษัท เว็บขนาดใหญ่วัดความพร้อมใช้งานหรือความน่าเชื่อถือโดยใช้เมตริกต่อไปนี้:

  1. เปอร์เซ็นต์ของการสืบค้นที่ตอบสำเร็จโดยไม่มีข้อผิดพลาดฝั่งเซิร์ฟเวอร์ (HTTP 500s)
  2. เปอร์เซ็นต์ของข้อความค้นหาที่ตอบด้านล่างเวลาตอบสนองเป้าหมายที่แน่นอน
  3. ข้อความค้นหาที่ลดลงควรนับรวมกับสถิติของคุณ (ดูด้านล่าง)

ไม่ควรวัดความพร้อมใช้งานด้วยโพรบตัวอย่างซึ่งเป็นสิ่งที่องค์กรภายนอกเช่น pingdom และ pingability สามารถรายงานได้ อย่าวางใจในสิ่งนั้นเพียงลำพัง หากคุณต้องการที่จะทำมันถูกต้องทุกคำเดียวควรนับ วัดความพร้อมใช้งานของคุณโดยดูจากความสำเร็จที่แท้จริงและรับรู้ของคุณ

วิธีที่มีประสิทธิภาพมากที่สุดคือการรวบรวมบันทึกหรือสถิติจากตัวโหลดบาลานซ์ของคุณและคำนวณความพร้อมใช้งานตามตัวชี้วัดด้านบน

เปอร์เซ็นต์ของข้อความค้นหาที่ลดลงควรนับรวมกับสถิติของคุณด้วย มันสามารถถูกนำมาใช้ในที่ฝากข้อมูลเดียวกันกับข้อผิดพลาดฝั่งเซิร์ฟเวอร์ หากมีปัญหากับเครือข่ายหรือโครงสร้างพื้นฐานอื่น ๆ เช่น DNS หรือโหลด balancers คุณสามารถใช้คณิตศาสตร์ที่เรียบง่ายที่จะประเมินว่าหลายคำสั่งที่คุณหายไป หากคุณคาดหวังการสืบค้น X สำหรับวันดังกล่าวในสัปดาห์นั้น แต่คุณได้รับ X-1000 คุณอาจลดการค้นหา 1,000 ครั้ง พล็อตปริมาณการใช้งานของคุณลงในแบบสอบถามต่อนาที (หรือวินาที) กราฟ หากช่องว่างปรากฏขึ้นแสดงว่าคุณทำแบบสอบถามหาย ใช้รูปทรงเรขาคณิตพื้นฐานเพื่อวัดพื้นที่ของช่องว่างเหล่านั้นซึ่งจะให้จำนวนการสืบค้นที่ลดลงทั้งหมด

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

จากนั้นคุณสามารถเซ็นสัญญาตามการปรับปรุงพื้นฐาน สมมติว่าหากพวกเขาประสบความพร้อมใช้งาน 95% คุณสามารถสัญญาว่าจะปรับปรุงสถานการณ์สิบเท่าด้วยการไปถึง 98.5%

หมายเหตุ: มีข้อเสียสำหรับวิธีการวัดความพร้อมใช้งานนี้ ก่อนอื่นให้รวบรวมบันทึกประมวลผลและสร้างรายงานด้วยตัวคุณเองอาจไม่น่าสนใจเว้นแต่คุณจะใช้เครื่องมือที่มีอยู่แล้วทำ ประการที่สองข้อบกพร่องของแอปพลิเคชันอาจส่งผลต่อความพร้อมใช้งานของคุณ หากแอปพลิเคชันมีคุณภาพต่ำแอปจะแสดงข้อผิดพลาดเพิ่มเติม วิธีแก้ไขปัญหานี้คือพิจารณาเฉพาะ 500s ที่สร้างขึ้นโดย load-balancer แทนการมาจากแอ็พพลิเคชัน

สิ่งที่อาจจะได้รับบิตซับซ้อนด้วยวิธีนี้ แต่มันเป็นหนึ่งในขั้นตอนที่เกินวัดเพียงคุณuptime เซิร์ฟเวอร์


3

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

มันง่ายกว่านั้นมาก มันเป็นไปไม่ได้ในทางคณิตศาสตร์

ทุกอย่างมีความน่าจะเป็น อาจมีแผ่นดินไหวพร้อมกันในทุกตำแหน่งที่คุณจัดเก็บเซิร์ฟเวอร์ทำลายทั้งหมด เห็นได้ชัดว่ามันเป็นความน่าจะเป็นที่น่าขันเล็ก ๆ น้อย ๆ แต่ไม่ใช่ 0 ผู้ให้บริการอินเทอร์เน็ตทั้งหมดของคุณอาจเผชิญกับการโจมตีของผู้ก่อการร้าย / ไซเบอร์พร้อมกัน อีกครั้งไม่น่าจะเป็นไปได้มาก แต่ก็ไม่เป็นศูนย์เช่นกัน สิ่งที่คุณให้คุณสามารถรับสถานการณ์ความน่าจะเป็นที่ไม่เป็นศูนย์ซึ่งจะทำให้บริการทั้งหมดลดลง เนื่องจากสิ่งนี้ความพร้อมใช้งานของคุณไม่สามารถเป็น 100% ได้เช่นกัน


ที่จริงแล้วฉันจะผ่านวิกลจริตหรือเป็นไปไม่ได้และเรียกมันว่าโง่ ไม่มีอะไรที่มนุษย์รู้ว่าเป็น 100%
quadruplebucky

2

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

จากมุมมองด้านวิศวกรรมประสิทธิภาพฉันจะปฏิเสธความต้องการทั้งที่ไม่เหมาะสมและไม่มีเหตุผลว่าการแสดงออกนี้มีความปรารถนามากกว่าความต้องการที่แท้จริง ด้วยการพึ่งพาแอปพลิเคชันที่มีอยู่นอกแอปพลิเคชันใด ๆ สำหรับระบบเครือข่ายการแก้ปัญหาชื่อการกำหนดเส้นทางข้อบกพร่องที่เกิดจากส่วนประกอบสถาปัตยกรรมหรือเครื่องมือในการพัฒนามันกลายเป็นไปไม่ได้


1

ฉันไม่คิดว่าลูกค้ากำลังขอเวลาทำงานจริง 100% หรือคิดเป็น 99.999% หากคุณดูสิ่งที่พวกเขากำลังอธิบายพวกเขากำลังพูดถึงการเลือกที่พวกเขาจะออกหากดาวตกนำออกศูนย์ข้อมูลในสถานที่ของพวกเขา

หากความต้องการคือบุคคลภายนอกที่ไม่ได้แจ้งให้ทราบว่าจะต้องมีความรุนแรงขนาดไหน? จะทำให้คำขอ Ajax ลองอีกครั้งและแสดงสปินเนอร์เป็นเวลา 30 วินาทีเพื่อให้ผู้ใช้ปลายทางยอมรับได้หรือไม่

สิ่งเหล่านี้เป็นสิ่งที่ลูกค้าให้ความสำคัญ หากลูกค้าคิด SLA ที่แม่นยำจริง ๆ แล้วพวกเขาจะรู้พอที่จะแสดงเป็น 99.99 หรือ 99.999


หากลูกค้าคิดว่าพวกเขาต้องการ "100% ช่วงเวลาการใช้งาน" และนั่นคือเมื่อสิ้นสุดในการใช้คำฟุ่มเฟือยสัญญาคุณอาจได้รับมันถ้ามันจบลงในศาล ดีที่สุดที่จะพูดคุยและช่วยให้ลูกค้าเข้าใจสิ่งที่พวกเขาต้องการจริงๆแทนที่จะสมมติว่าคุณรู้ว่าพวกเขากำลังคิดอะไรอยู่
Chris S

โอ้ฉันตกลงว่าจะต้องมีการล้างข้อมูลก่อนที่จะทำสัญญา ฉันแค่บอกว่าสิ่งนี้จะต้องได้รับการติดต่อเพราะลูกค้าไม่ได้สื่อสารสิ่งที่พวกเขาต้องการจริง ๆ เมื่อเทียบกับลูกค้ากำลังขอสิ่งที่ไร้สาระ
Kevin Peterson

1

2 เซ็นต์ของฉัน ฉันเป็นผู้รับผิดชอบเว็บไซต์ยอดนิยมสำหรับ บริษัท ที่ติดอันดับ Fortune 5 ซึ่งจะนำโฆษณาสำหรับซูเปอร์โบว์ลออกมา ฉันต้องรับมือกับการจราจรที่แหลมคมมากและวิธีที่ฉันแก้ไขมันก็คือการใช้บริการเช่น Akamai ฉันไม่ได้ทำงานให้ Akamai แต่ฉันพบว่าบริการของพวกเขาดีมาก พวกเขามีระบบ DNS ที่ชาญฉลาดขึ้นซึ่งจะรู้ได้ว่าโหนด / โฮสต์บางตัวอยู่ภายใต้ภาระหนักหรือหยุดทำงานและสามารถกำหนดเส้นทางการรับส่งข้อมูลได้

สิ่งที่เป็นระเบียบเกี่ยวกับบริการของพวกเขาคือฉันไม่ต้องทำอะไรซับซ้อนมากนักเพื่อทำซ้ำเนื้อหาบนเซิร์ฟเวอร์ในดาต้าเซ็นเตอร์ของตัวเองไปยังดาต้าเซ็นเตอร์ นอกจากนี้ฉันรู้จากการทำงานกับพวกเขาพวกเขาใช้เซิร์ฟเวอร์ Apache HTTP อย่างหนัก

ในขณะที่ไม่ได้ใช้งานได้ 100% คุณอาจพิจารณาตัวเลือกดังกล่าวสำหรับการกระจายเนื้อหาไปทั่วโลก ตามที่ฉันเข้าใจสิ่งต่าง ๆ Akamai ก็มีความสามารถในการ จำกัด ปริมาณความหมายของการรับส่งข้อมูลถ้าฉันอยู่ในมิชิแกนฉันได้รับเนื้อหาจากเซิร์ฟเวอร์ Michigan / Chicago และถ้าฉันอยู่ในแคลิฟอร์เนียฉันควรได้รับเนื้อหาจากเซิร์ฟเวอร์ที่อยู่ในแคลิฟอร์เนีย


-1 เพราะนี่เป็นคำตอบที่ใช้งานได้จริง แต่ไม่มีประโยชน์เลย คำถามทั้งหมดในไซต์นี้สามารถตอบได้โดย "จ้างคนอื่นให้ทำ" แต่นั่นไม่ใช่สาเหตุที่เรามาที่นี่
Yves Junqueira

ฉันขอแตกต่าง "ไม่มีประโยชน์เลยเหรอ?" มันมีประโยชน์มากที่สุดสำหรับฉันและตรงกันข้ามกับ "จ้างคนอื่นให้ทำ" ความคิดเห็นฉันคิดว่าเหตุผลของคุณคนที่แต่งตัวประหลาดควรสลักสายเคเบิลใยแก้วนำแสงของเขาเองและออกแบบสวิตช์ของตัวเองแทนที่จะซื้อด้วยหรือไม่ คุณจริงจังหรือเปล่า Yves? คุณฟังดูเหมือนคนที่ไม่ได้ใช้เวลามากในสาขาไอที
Kilo

0

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


0

สำหรับไซต์ที่โฮสต์จากภายนอกคุณจะได้รับสถานะการออนไลน์สูงสุด 100% เมื่อโฮสต์ไซต์ของคุณบน App Engine ของ Google และใช้ที่เก็บข้อมูลการจำลองแบบสูง (HRD)ซึ่งทำซ้ำข้อมูลของคุณโดยอัตโนมัติในศูนย์ข้อมูลอย่างน้อยสามแห่ง เซิร์ฟเวอร์ Front Engine ของ App Engine จะถูกปรับขนาด / จำลองแบบอัตโนมัติสำหรับคุณเช่นเดียวกัน

อย่างไรก็ตามถึงแม้จะมีทรัพยากรทั้งหมดของ Google และแพลตฟอร์มที่ทันสมัยที่สุดในโลกการรับประกันความพร้อมใช้งานของApp Engine SLAนั้นมีเพียง "99.95% ของเวลาในทุกเดือนปฏิทิน"


0

ง่ายและตรงไปตรง: Anycast

http://en.wikipedia.org/wiki/Anycast

นี่คือสิ่งที่ cloudflare, google และ บริษัท ขนาดใหญ่อื่น ๆ ใช้ในการทำข้อมูลซ้ำซ้อน, ความหน่วงต่ำ, ความล้มเหลวข้ามทวีป / การปรับสมดุล

แต่โปรดจำไว้ว่าเป็นไปไม่ได้ที่จะมีเวลาใช้งาน 100% และค่าใช้จ่ายในการเปลี่ยนจาก 99.999% เป็น 99.9999% นั้นใหญ่กว่ามาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.