Bir web uygulaması için% 100 çalışma süresi


312

Bugün bir müşteriden ilginç bir "gereksinim" aldık.

Bir web uygulamasında saha dışı yük devretme ile% 100 çalışma süresi istiyorlar . Web uygulamamızın bakış açısından bu bir sorun değil. Birden fazla veritabanı sunucusu arasında vb. Ölçeklendirme yapabilmek için tasarlanmıştır.

Bununla birlikte, bir ağ oluşturma sorunundan, nasıl çalışacağını çözemiyorum.

Özetle, uygulama müşterinin ağındaki sunucularda yaşar. Hem iç hem de dış insanlar tarafından erişilebilir. Kendi tesislerinde ciddi bir başarısızlık olması durumunda derhal alınacak ve devralınacak olan sistemin saha dışı bir kopyasını korumamızı istiyorlar.

Artık, iç insanlar için (taşıyıcı güvercin mi?) Bunu çözmenin kesinlikle bir yolu olmadığını biliyoruz, ancak dış kullanıcıların farkına bile varmadıklarını istiyorlar.

Açıkçası, bunun nasıl mümkün olabileceği konusunda en ufak bir fikrim yok. İnternet bağlantısını kaybederlerse, trafiği harici makinelere yönlendirmek için bir DNS değişikliği yapmak zorunda kalacağız gibi görünüyor ... Tabii ki, zaman alıyor.

Fikirler?

GÜNCELLEME

Bugün müşteriyle bir tartışma yaptım ve konuya açıklık getirdiler.

Başvuranın bir sel durumunda bile aktif kalması gerektiğini söyleyerek% 100 sayısına sıkıştılar. Bununla birlikte, bu gereksinim sadece onlar için ev sahipliği yaparsak devreye girer. Uygulama tamamen kendi sunucularında yaşıyorsa, çalışma süresi şartını yerine getireceklerini söylediler. Cevabımı tahmin edebilirsiniz.


49
Bilgisayar korsanlığının neden olduğu devasa duruş süresini küçümsemeyin, Sony ve PlayStation ağına bakın. % 100 çalışma süresi fikrinin ve bunu destekleyecek para / donanımın olduğunu garanti edebilirsiniz. Müşteriyle% 100 çalışma süresinin olanaksız bir beklenti olduğunu açıkça belirtin, hatta Google teknisyenleri "% 100 çalışma süresi" mizahını almakta tereddüt eder. Bir ipucu btw, dinamik DNS kullanmaya bakmaktır, sadece 60 saniye önbelleklenirler, bu işletim sistemi ve yerel DNS sunucularını içermelidir.
Silverfire

182
Ben şahsen ediyorum RUN mümkün olduğunca hızlı bu istemciden. Bunun, sahip olabileceği en çılgınca fikir olmayacağından şüpheleniyorum (teknoloji açısından).
GregD

137
Keşke müşterini oy kullanabilseydim.
joeqwerty

81
% 100 çalışma süresi bulursanız bana bildirin. Onunla bir işletme kuracağım ve google'a satacağım. % 100 garanti etmek imkansız. Microsoft, amazon veya google gibi şirketler bile bu kadar yüksek olmayacak çünkü bunun imkansız olduğunu biliyorlar. Gördüğüm en iyisi% 99,999 ve hatta bu bir yıl (yılda 5 dakika). Muhtemelen yapabileceğiniz en iyi% 99,99 güvenilir bir şekilde.
Matt

39
Sadece onların deli istek üzerine koymak için delicesine yüksek fiyat etiketi yapmak. Bu muhtemelen onları duyularına geri getirecektir. Ya onlardan, ya da onlara yalan söylemeye istekli birini arayarak gönderir.
Nate CK

Yanıtlar:


368

İşte Vikipedi'nin dokuz arayışı hakkındaki pratik çizelgesi:

görüntü tanımını buraya girin

İlginçtir ki, ilk 20 web sitesinden sadece 3'ü 2007'de efsanevi 5 dokuz ya da% 99,999 çalışma süresine ulaşabildi. Yahoo, AOL ve Comcast. 2008 yılının ilk 4 ayında, en popüler sosyal ağların bazıları buna yaklaşamadı bile.

Grafikten,% 100 çalışma zamanının peşinde koşmanın ne kadar saçma olduğu ...


62
Pingdom da her saniye kontrol etmiyor. Bunun da ötesinde, beş dokuzu karşılayanlar muhtemelen hala Pingdom'un tespit edemediği lokal bozulmalara ya da hala ping'lere cevap verirken bazı hizmetleri kullanılamaz duruma getiren aksaklıklara sahipti.
ceejayoz

8
İçinde kendi başına beş dokuzu şüpheli kılan ...
GregD

5
Tam. Ve birlikte çalışacak milyarlarca dolarları var!
ceejayoz

43
Devam eden sohbeti bozduğum için özür dilerim, ancak OP'nin sorusu kavramsal olarak değil, teknik düzeyde% 100 çalışma süresi hedefine doğru nasıl devam edeceğimizden kaynaklanıyordu. ve çevre. Ona bu konuda yardımcı olabilir miyiz?
David d'C Freitas

5
OP'ye: “normal bakımın dışında” bağlamında çalışma süresini garanti eden SLA'lar gördüm. Elbette normal bakım, ayın en yoğun olduğu günlerde (genellikle gecenin ortasında), genellikle ayın en yoğun olduğu günlerde meydana gelen güncellemeler, yamalar vb. İşletmeleriyle ilgili olarak, işletme ile ilgili bazı ölçümler yapmaları gerekir. Sen olabilir onlar için daha iyi çalışma süresi (4 dokuzlu) teklif sadece bu zamanlarda.
GregD

186

Onlardan% 100 ve nasıl ölçüleceğini hangi zaman aralığında ölçmelerini isteyin. Muhtemelen karşılayabilecekleri% 100'e yakın demek istiyorlar. Masrafları onlara ver.

Detaylandırmak için. Müşterilerle yıllar içinde sözde gülünç şartlar ile görüşmeler yaptım. Her durumda, aslında sadece yeterince kesin olmayan bir dil kullanıyorlardı.

Oldukça sıkça, işleri% 100 gibi mutlak görünen şekillerde çerçevelerler ancak% 100 daha derinlemesine incelemelerde, aslında azaltma verilerinin risklenmesi için maliyetlerle sunulduğunda gereken maliyet / fayda analizlerini yapacak kadar makul olurlar. Kullanılabilirliği nasıl ölçeceklerini sormak çok önemli bir sorudur. Bunu bilmiyorlarsa, o zaman onlara önce bunun tanımlanması gerektiğini önermek zorunda kalacaksınız.

Müşteriden, site aşağıdaki durumlarda kullanılamazsa ticari etki / maliyetler açısından ne olacağını tanımlamasını isterim:

  • En yoğun saatlerinde x saat
  • En az meşgul saatlerinde x saat

Ve ayrıca bunu nasıl ölçeceklerini.

Bu şekilde '% 100' doğru seviyesini belirlemek için onlarla birlikte çalışabilirsiniz. Bu tür soruları sorarak, diğer gereksinimlerinin önceliklerini daha iyi belirleyebileceklerinden şüpheleniyorum. Örneğin, belirli seviyelerde SLA ödemek ve bunu başarmak için diğer işlevlerden ödün vermek isteyebilirler.


21
Kabul. Onlar sadece oldukça sağlam bir yerine çalışma stratejisi ile "çok yüksek" çalışma süresi (üst 90s?) Anlamına gelebilir. Olmazsa, o zaman dahil edilen maliyet ölçeğinin bir açıklaması umarım onları ikna eder ...
Martin Dow

32
Sonuca atlamamak için +1 ve bunun yerine müşteriden aklında ne olduğunu açıklamasını istemek için.
sleske

4
Müşteri% 100 çalışma süresi (eksi planlanmış bakım) anlamına geliyorsa ben o zaman ... "sonuçlara atlama değil" deyimi yankı olabilir makul ihtiyacının fazla olması.
Tim Reddy

1
İşletmenin etkisi ile ilgili olarak, aslında işlerini tamamen biliyor ve anlıyoruz ve siteye giren maliyetler finansal değil. Yerlilerin çizgileri boyunca, yaba, potansiyel asma, vb. İle ortaya çıkıyor;) Sadece ön kapı çığlığınızda 40.000 kişi olduğunu hayal edin. Bir tutkuyla kaçınmak istedikleri şey budur.
43'te

7
@ChrisLively Daha sonra risk olgun bir anlayışa sahip olmak için tüm neden. Güvenlik mühendisliği için baskın paradigma, olasılıksal risk değerlendirmesidir . Binlerce insanı öldürebilecek (sadece sinir bozucu değil) sistemler var ve hala düşük, umarım iyi anlaşılmış, fakat sıfır olmayan bir başarısızlık olasılığı var.
poolie

140

Müşterilerin deli. Ne kadar para harcadığınız önemli değil ,% 100 çalışma süresi mümkün değildir . Sade ve basit - imkansız. Google’a, Amazon’a vb. Bakın. Altyapılarına atmak için neredeyse sonsuz miktarda paraya sahipler, ancak yine de kesinti süreleri var. Bu mesajı onlara iletmeniz gerekir ve makul taleplerde bulunmaları konusunda ısrar etmeye devam ederlerse. Onlar tanımıyorsanız bazı kesinti miktarı kaçınılmazdır, o zaman onları hendek.

Bununla birlikte, uygulamanın kendisini ölçeklendirme / dağıtma mekaniğine sahip görünüyorsunuz. Ağ oluşturma bölümünün, farklı ISS'lere yedekli yukarı bağlantılar, ASN ve IP tahsisi alması ve BGP'de ve gerçek yönlendirme donanımında boyun derinliği alması, gerekirse IP adres alanının ISS'ler arasında hareket edebilmesi gerekir.

Bu, açık bir şekilde, çok özlü bir cevaptır. Bu derece çalışma süresi gerektiren uygulamalarla ilgili deneyiminiz olmadı, bu yüzden efsanevi% 100 çalışma zamanına yakın bir yere ulaşmak istiyorsanız, gerçekten profesyonel bir uzmana ihtiyacınız var.


7
Kabul. Tamamen. Çılgın.
jdw

2
onlar için kullanılan ??
Sirex

2
@Sirex Nötrinoların ışıktan daha hızlı seyahat ettikleri son denemeye göre @ CERN. Yine de bağımsız bilim adamları tarafından onaylanmayan sonuçlar.
TC1

9
@ TC1 Bahse girerim ki 200 dolar kazanmaz .
dpatchery

4
@ErikA% 100 çalışma süresi talebi, sistemlerin teknik özelliklerinin cehaletinin bir göstergesidir. Sorun değil, çünkü müşterinin işi ne yapıyorsa onu yapıyor. Göreviniz BT sistemlerini tasarlamak. Bu gibi zor müşteriler kabuslar olabilir, ama aynı zamanda en iyi müşterileriniz de olabilirler.
duffbeer703

54

Bu kesinlikle ilginç bir şey. Kendimi sözleşmeli olarak% 100 çalışma süresiyle mecbur etmek istediğimden emin değilim, fakat eğer zorunda olsaydım, bunun gibi bir şey olacağını düşünürdüm:

Tamamen ağ üzerindeki bir yük dengeleyicisinde halka açık IP ile başlayın ve bunlardan en az ikisini oluşturun, böylece biri diğerine geçemez. Heatbeart gibi bir program, bunların otomatik yerine çalışma ile yardımcı olabilir.

Cila, öncelikle önbellekleme çözümü olarak bilinir, ancak bazı çok iyi yük dengelemeleri de yapar. Belki de bu, yük dengelemesinin üstesinden gelmek için iyi bir seçim olabilir. İsteğe bağlı olarak rasgele veya yuvarlak robin dengesi yükleyecek olan yöneticilerde gruplandırılmış 1 ila n arka ucu olacak şekilde ayarlanabilir. Vernik, her arka ucun sağlığını kontrol etmeye ve sağlıksız arka uçları çevrimiçine geri dönene kadar döngüden çıkarmak için yeterince akıllı hale getirilebilir. Arka uçların aynı ağda olması gerekmez.

Amazon EC2'deki Elastik IP'lere bugünlerde aşık oldum, bu yüzden muhtemelen yük dengeleyicilerimi EC2'de farklı bölgelerde veya en azından aynı bölgede bulunan farklı bölgelerde bulabilirim. Bu, mevcut A kayıt IP'sini yeni kutuya taşımak ve taşımak zorunda olmanız durumunda, yeni bir yük dengeleyicisini el ile açma (tanrı korusun) seçeneğini sunar.

Cila, SSL'yi sonlandıramaz, ancak bu bir endişe ise Nginx gibi bir şeye bakmak isteyebilirsiniz.

Arka uçlarınızın çoğunu müşteri ağınızda ve ağlarının dışında bir veya daha fazla olabilir. İnanıyorum, ancak% 100 emin değilim, arka uçları önceliklendirebilir, böylece müşterilerinizin makineleri sağlıksız hale gelene kadar öncelik kazanırlar.

İşte bu görevde olsaydım başaracağım ve hiç şüphesiz devam ettikçe düzeltmeliyim.

Ancak, @ErikA'nın belirttiği gibi, İnternet ve ağın her zaman kontrolünüz dışında olan kısımları olacak. Yasal olanınızın yalnızca kontrolünüz altındaki şeylerle sizi bağladığından emin olmak isteyeceksiniz.


2
Bir süredir bir bulut konuşlandırması için Amazon ve MS'i düşünüyordum ama ikisinin de son birkaç aydır büyük kesintileri oldu. SSL kritiktir.
11:57

3
Amazon'u kullanacak olsaydınız, makinelerinizi 5 kullanılabilirlik bölgesinin etrafına yaymak isterdiniz. Tüm bölgelerinin aynı anda dışarı çıkması pek olası değil.
jdw

11
OP'nin ana sorusunu ele almak için +1.
Phil

zincirde dağınık olmayan bir şey olduğu sürece her zaman bir başarısızlık noktasına sahip olacaksınız, (tabii ki kalp atışlarınızda, elbette birbirinizi izleyen uzak makinelerde çalışan birden fazla örneğiniz olmadıkça) yönlendirme sırasında ağ sorunu nedeniyle herhangi birinin görebileceği veya görmeyeceği sunucular). Bu da bizi "kapalı kalma süresine" getiriyor. Sunucular çalışıyor ve çalışıyor olabilir ve istemcinin kalp atışı yapmadan istemeyebilir ve başarısızlık yönlendirme yolunda değilse algılayabilir.
21'de jwenting

Kabul. HERKESİN de belirttiği gibi,% 100 çalışma süresi diye bir şey yoktur. Tek yapabileceğiniz denemek ve tanımladığım şey, denemeye nasıl başlayacağım.
jdw

30

Hiç sorun değil - biraz gözden geçirilmiş sözleşme ifadesi olsa:

...% 100 çalışma süresi garantisi (sıfır ondalık basamağa yuvarlanmış).


2
Not etmek için +1,% 100% 100,0 veya 100,000% gibi bir değer değildir. Ondalık haneler önemlidir, kesinliği gösterir;)
Danubian Sailor

4
Bazı sözleşmelere göre, "% 100" yalnızca bir buçuk rakam ile bir arasındaki tüm sayılar "% 100" e ulaşacak şekilde önemli bir rakama sahiptir; % 50,% 100’e yuvarlanır.
Thomas Levine

1
Bazıları saymak için standarda bağlı olarak,% 50'nin% 100'ünün üç büyük sayı ile karşılaştıkları iki tam sayıya sahip olduğunu söyleyeceksiniz. 50,5 ve 100 tıpkı kesin olarak ön planda. Diğerleri ondalık noktasından sonra basamak sayar. O zaman 50,5 ve 100,4 aynı olacaktır. Başka bir şey belirtilmemişse,% 100’ün% 99,5 ve üstü olduğunu varsayardım. 100,0% 99,95% ve üstü vb.
Tillebeck

26

Facebook ve Amazon yapamazsa, yapamazsınız. Bu kadar basit.


17
bütün insanların bir araya geldiğinden daha zeki olabilirdi, kim bilir: p
Matt

3
% 100 çalışma süresi, gerçek anlamıyla insanlar olmak zorunda değildir - bunun anlamı:% 100 ihtiyaç duyulduğunda kullanılabilir. Örneğin, banka sistemleri her zaman kullanılabilir durumda olmalı ve oldukça iyi durumdalar. Sadece yılda bir saniye bakım için aşağı inmeleri yılda bir kez% 100 çalışma süresi hedefinde başarısız oldukları anlamına gelmez.
David d'C Freitas

13
@DavidFreitas - Sanırım sözleşmelerde genellikle oldukça edebi ...
UpTheCreek 29:11

2
@Matt, Facebook / Amazon'un yapamadığı için, daha küçük bir sitenin yapamayacağı anlamına gelmez. Birçok büyük web sitesi, daha küçük bir siteden daha üstesinden gelmek için çok daha zor sorunlarla karşılaşmaktadır.
Xorlev

1
ne yani diyorsun .. hataları vardı bazı müşteri vardı çünkü% 100 uptime yoktu artı kısa TTLS'i görmezden ISS'ler beri dns anlık anahtarı değil
Mike

25

Hacker'ın cevabını Hacker News'den eklemek

Sorunun ne olduğunu anlamıyorum. Müşteri felaketi planlamanı istiyor ve matematik odaklı değil,% 100 olasılık sormak mantıklı geliyor. Mühendisler yapmaya eğilimli olan mühendis, müşterinin yapamayacağını düşünmeden, prob & stat 101'in ilk gününü hatırladı. Bunu söylediklerinde nükleer kış hakkında düşünmüyorlar, Fred'in kahvesini ofis sunucusuna atmasını, bir disk çökmesini veya bir ISS'nin düşmesini düşünüyorlar. Ayrıca, bunu başarabilirsiniz. Coğrafi olarak farklı, bağımsız, kendi kendini izleyen sunucularla, hiçbir zaman kesinti yaşamayacaksınız. Bağımsız çalışan (1) üç 9 güvenilirlikte çalışan 3 sunucu ile iyi yük devretme modları, beklenen arıza süreniz yılda bir saniyenin altındadır (2). Bunların hepsi bir kerede olsa bile, web bağlantıları için hala makul bir SLA içerisindesiniz ve bu nedenle kesinti pratik olarak mevcut değil. Müşteri hala kıyamet senaryolarıyla ilgilenmek zorundadır, ancak Godzilla, "her zaman" açık bir hizmete sahip olamayacağını söyledi.

(1) LA’daki bir sunucu Boston’daki sunucudan oldukça bağımsızdır, ancak evet, anlıyorum ki nükleer savaş, Çinli hackerların elektrik şebekesini çökertmesi gibi bazı kesişmeler var. Müşterinizin üzüleceğini sanmıyorum. bu.

(2) DNS yerine çalışma birkaç saniye ekleyebilir. Hala müşterinin yılda bir kez, bir kez daha makul bir SLA içinde olan ve genellikle "kesinti süresi" ile aynı şekilde kabul edilmeyen bir talebi tekrar denemesi gerektiği bir senaryodasınız. Arıza durumunda otomatik olarak uygun bir düğüme yönlendiren bir uygulama ile, bu farkedilemez olabilir.


6
Sorun şu ki sözleşmeli olarak söylüyorlar. Bir felaket eğer Anlamı yok oluşabilir ve yedekleme üzerinden online geri siteyi almaya fazla on saniye ihtiyaç onlar dava etme ayakta olurdu.
Shadur

@Shadur: Gerçekten istiyorlarsa, onları gerçekten şarj etmelisiniz. Sunucuları coğrafi olarak geniş ve geniş yaymak, umarım her yerde felaket olmaz.
Orman Avcısı,

3
% 100 kesintisiz çalışma garantisi ya da paranızı geri alan bir site gördüm. İşin püf noktası, bir tekne yükü doldurup aylara bölündüler. Bu yüzden bazı aylar ödenmiyor ve etrafındaki her şeyi planlıyorsunuz ve kaybolduğunuz ayları tamamlıyorsunuz.
jldugger

17

Sizden imkansız bir şey isteniyor.

Buradaki diğer cevapları inceleyin, müşterinizle oturun ve NEDEN imkansız olduğunu açıklayın ve cevaplarını ölçün.

Halen% 100 çalışma süresinde hala ısrar ediyorlarsa, yapamadıklarını kibarca onlara bildir ve sözleşmeyi reddet. Taleplerini hiçbir zaman karşılamayacaksın ve sözleşme tamamen emilmezse cezalarla çarpışacaksın.


2
% 100 tanımlanması gerekir, yani bakım veya yükseltme yapılması dışında% 100 kullanılabilir ve bu süre en çok ayda birkaç saat sessiz saatlerle sınırlandırılır. Her şey web uygulamasının amacı ve kullanımının bu durumda olduğuna bağlıdır ...
David d C e Freitas

1
ve "duruş süresini" tanımlar. Teorik olarak bile, Omaha'daki bir sunucuya Fairbanks'teki ofislerinden, aralarındaki tüm ağı kontrol etmediğiniz sürece erişebileceklerini garanti edemezler (sunucunun çalışması ve çalışması hakkında güvence vermenize rağmen).
23’ta

Tanımlar, IMHO, "% 100 çalışma süresi" isterlerse ilgisizdir: Zamanlanmış bir bakım ile görüşmeniz ve bir küçük aksaklık planlanmamış bir yeniden başlatma veya servisin yanıp sönmesine neden olursa SLA'nızı patlattığınızda N + N fazlalığı içinde olsanız bile. Yine de, 3, 4 veya 5 ninesinde bir SLA pazarlığı yapıyorsanız, kesinlikle ilgili.
voretaq7

SLA'nın şartlarına bağlı olarak, değil mi? Ayda 100 bin dolar ödenirse ve duruş süresinin her dakikasında 1 bin dolar ceza verilirse, bu tamamen uygulanabilir olabilir (24/7 tesis içi sistem yöneticilerinin maliyetini düşürmek için başka sözleşmeleriniz varsa).
Michael Borgwardt

@MichaelBorgwardt saf sayılar açısından "çalışmasını" sağlamanın kesinlikle yolları var, ama kötü PR potansiyelinden dolayı hala reddediyorum ($ _CLIENT Twitter'da devam ediyor ve dünyaya 'biz iniyoruz çünkü $ _PROVIDER yetersiz ve kendi SLA'larını karşılayamazlar! '). Şahsen ben 10 daha küçük, daha makul müşterileri tercih ederim, ayda 10 $ ödeyeceğim :-)
voretaq7

13

Buna göre fiyat, ve sonra sözleşmede SLA geçen herhangi bir kesinti ödedikleri oranda iade edileceğini öngörmektedir.

ISS benim son işimde bunu yaptı. "Düzenli" bir DSL hattı için 40 $ / ay için% 99,9 çalışma süresi veya 1100 $ / ay için% 99,99 çalışma süresi için bağlı bir T1 üçlüsü tercih ettik. Aylık 10+ saatin sık sık kesintileri oldu, bu da çalışma sürelerini 40 $ / mo DSL'nin çok altına çıkardı, ancak biz sadece 15 $ civarında bir ücret iadesi aldık, çünkü saat başına ücretin * saatinin üstünde olduğu şeydi. Anlaşmadaki haydutlar gibi seviştiler.

% 100 çalışma süresi için ayda 450.000 ABD doları fatura keserseniz ve yalnızca% 99,999'u atarsanız, onlara 324 ABD doları geri ödemeniz gerekir. % 99,999'a varacak altyapı maliyetlerinin, aylık olarak 45,000 dolar civarında mahallede bulunduğunu iddia ediyorum.


3
% 100 çalışma süresi vaat eden birini görüyorsanız, bu onların yaptıkları şeydir. % 100 çalışma süresi vaat etme ve teslim etme arasında bir fark var. Bir rakibin SLA'sını size teklif etmeye çalışırlarsa bunu müşteriye açıklamak iyi bir fikirdir.
sjbotha

10

Eğer uzmanlar yüzde 99,999 mevcudiyetinin pratik veya finansal olarak uygulanabilir bir olasılık olup olmadığını sorguluyorsa , o zaman% 99,9999 mevcudiyet daha az mümkün veya pratiktir. % 100 yalnız bırak.

Uzun süre% 100 kullanılabilirlik hedefine ulaşamayacaksın. Bir hafta veya bir yıl boyunca ondan kurtulabilirsin, ama sonra bir şeyler olacak ve sen sorumlu olacaksın. Düşüş, hasar görmüş itibardan (söz verdiğiniz, sağlamadığınız) sözleşmeden doğan cezalardan iflasa kadar değişebilir.


10

% 100 çalışma süresi isteyen iki tür insan vardır:

  1. Bilgisayarlar, bilgisayar sistemleri veya İnternet hakkında kesinlikle bilgisi olmayan kişiler. *
  2. Kasıtlı olarak kıçını kıranlar, ya Hayır (Google "Portakal Suyu Testi") deme yeteneğinizi test etmek ya da size sonradan ödeme yapmak üzere bir tür SLA kaldıraç gücü kazanmaya çalışmak.

Bu tür müşterilerin her ikisinde de sık sık acı çeken tavsiyem, bu müşteriyi almamak. Başka birini delirtmelerine izin verin.

* Aynı kişi, Işıktan Hızlı seyahat, Perpetual Motion, Cold Fusion, vb. Hakkında utanç duymaz.


2
Portakal suyu testi için +1 .. Bunu beğendim ve bilmiyordum :)
Oliver M Grech

8

Müşteri ile onlarla% 100 çalışma süresinin ne anlama geldiğini belirlemek için iletişim kurardım. % 99 çalışma süresi ile% 100 çalışma süresi arasında bir ayrım görmüyor olmaları mümkündür. Çoğu insan için (yani sunucu yöneticileri değil) bu iki sayı aynıdır.


6

% 100 çalışma süresi?

İşte ihtiyacın olan şey:

Her ISP'de uygun SLA'lar ile dünyanın her yerinde birden fazla siteye işaret eden çoklu (ve yedekli) DNS sunucuları.

DNS sunucularının doğru şekilde ayarlandığından ve TTL'nin etkili bir şekilde tanındığından emin olun.


1
Evet, DNS iyi bir başlangıçtır - örneğin, bir nslookup google.comkısmı çalışmazsa fazlalık için 6 farklı IP döndürür. Ayrıca bazı alanların yapılandırmaları bakmak için harika bir siteyi RobTex.com kontrol örneğin robtex.com/dns/google.com.html#records
David gün C e Freitas

6

Bu kolay. Amazon EC2 SLA açıkça şunları söylüyor:

“Yıllık Çalışma Süresi Yüzdesi”, Amazon EC2'nin “Kullanılamayan Bölge” durumunda olduğu Hizmet Yılı içerisinde 5 dakikalık sürelerin yüzdesinin% 100'ünden çıkarılarak hesaplanır.

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

Sadece 'çalışma süresini', hizmetin tüm zamanının% 100'ünü çalıştırabileceğiniz tüm hizmet paketine göre tanımlayın ve hiçbir problem yaşamayacaksınız.

Ayrıca, bir SLA'nın tüm amacının yükümlülüklerinizin ne olduğunu ve bunlarla başa çıkamadığınızda ne olacağını tanımlamak olduğuna değinmeye değer. Müşterinin 3 veya 5 dokuz veya bir milyon dokuzluk bir soru sorması farketmez - soru, ne zaman / ne zaman teslim edemezsiniz. Açıkça cevaplandırılması, 5x ücretlendirmek istediğiniz fiyatta% 100 çalışma süresi için bir satır öğesi sağlamaktır ve ardından bu hedefi kaçırırsanız 4x geri ödeme alırlar. Puan olabilir!


5

DNS değişiklikleri yalnızca zaman alacak şekilde yapılandırıldıysa zaman alır. TTL'yi bir saniyede bir kayda ayarlayabilirsiniz - tek sorununuz DNS sorgularına zamanında yanıt vermenizi sağlamak ve DNS sunucularının bu düzeydeki sorgularla başa çıkabilmesini sağlamak olacaktır.

GTM F5 Big IP’de tam olarak böyle çalışıyor - varsayılan olarak DNS TTL 30 saniyeye ayarlanmış ve küme üyelerinden birinin devralması gerekiyorsa, DNS güncellendi ve hemen hemen yeni IP alındı. Maksimum 30 saniye kesinti, ancak bu son durumda, ortalama 15 saniye olur.


10
Bazı DNS sunucularının (RFC'ye rağmen) iğrenç derecede düşük olduğunu düşündükleri bir TTL'yi göz ardı edeceği tecrübesiyle. 5 dakikadan daha az bir şey küresel ölçekte biraz güvenilmez hale gelir.
jdw

13
@Paul gerçeği görmezden gelmek, herkesi ne kadar sinirlendirirse götürsün, kabul edilebilir bir uygulama değildir.
MDMarra

5
Bu konuda jdw ile birlikteyim. Çok sayıda DNS sunucusunun TTL'yi tamamen görmezden geldiğini gördüm, 1 saatlik bir ayar bile ve 24 saat gibi bir şeye geri döndüm.
NotMe

6
@Paul - OP, gezegen üzerindeki her ISS'nin DNS çözümleyicileri üzerinde kontrol sahibi değil. Ergo, "web sitemizi kullanacaksanız, TTL ayarlarımızı göz ardı edecekleri için ISS'niz olarak kimseyi Comcast / Roadrunner / kullanmayın" deme seçeneğine sahip değiller. Bu sadece kontrolleri dışında olan ve bu nedenle IMHO'nun bu problemi için bir çözüm olarak kabul edilemeyecek kadar kırılgan bir şey. Çözüm, IP'leri ağ içinde kooperatif olamayacak diğer bitlerine güvenmeden içsel olarak zorlayabilmenin bir yolunu içermelidir.
jdw

3
Bu bir UPS'e sahip olmamak gibi bir şey çünkü güç 'sadece çalışmalı'. Bir sistemi inşa etmek için ileriye dönük bir düşünce yolu değildir. Sistemin kırılgan bir parçası olduğunu biliyorsanız, ne olursa olsun, hesaba katmalısınız.
jdw

5

Bunun imkansız olduğunu biliyorsun.

Hiç şüphe yok ki, müşteri "% 100" görmeye odaklanmıştır, bu yüzden yapabileceğiniz en iyisi, [sizin suçunuz olmayan tüm makul sebepler] hariç% 100 söz vermektir.


Hiç şüphe yok ki müşteri herhangi bir çözüm istemiyor. Bir düşüş istiyorlar. Böylece söyleyebilirler, en azından denediler.
mbx

Pekala belki. Üst düzeyde bir ipucu olduğunu düşünüyorsun.
Marcin

4

% 100 'ün mümkün olabileceğinden şüpheliyim, Azure'u (veya benzer bir SLA'ya sahip bir şeyi) bir olasılık olarak düşünebilirsiniz. Nasıl gidiyor:

Sunucularınız sanal makinelerdir. Bir sunucuda bir donanım sorunu varsa, sanal makineniz yeni bir makineye taşınır. Yük dengeleyici, yeniden yönlendirmeyi önemser, böylece müşteri herhangi bir kesinti görmemelidir (oturumlarınızın durumunun nasıl etkileneceğinden emin değilim).

Bununla birlikte, bu başarısızlıkla bile, 99.999 ile 100 arasındaki farkın delilikle sınırı olduğunu söyledi.

Aşağıdaki faktörler üzerinde tam kontrol sahibi olmanız gerekir.
- Hem iç hem de dış olan insan faktörleri, hem kötüye hem de iktidarsızlığa neden olur. Buna bir örnek, sunucuyu indiren üretim koduna bir şey iten birisidir. Daha da kötüsü, peki ya sabotaj?
- İş meseleleri. Eğer sağlayıcınız elektrik faturalarını ödemeyi başaramazsa veya unutmayı ya da altyapınızı yeterli uyarı olmadan desteklemeyi bırakmaya karar verirse ne olur?
- Doğa. İlişkili olmayan kasırgalar eşzamanlı olarak yedekleme kapasitesini zorlamak için yeterli veri merkezine çarptığında ne olur?
- Tamamen hatasız bir ortam. Bazı üçüncü parti ya da çekirdek sistem kontrolünde kendini göstermeyen ancak gelecekte de bunu yapabilecek bir kenar davası olmadığından emin misiniz ?
- Yukarıdaki faktörler üzerinde tam kontrol sahibi olsanız bile, sisteminizin çalışıp çalışmadığını kontrol ederken yazılımı / kişinin bunu yanlış negatiflerle karşılamayacağından emin misiniz?


2
Azure ve EC2'nin ikisi de yakın zamanda tamamlanmış ve toplamda başarısız olmuştur. Azure’un yakın zamanda bir DNS sunucusundaki kötü bir yapılandırma girişi nedeniyle kapatıldığına inanıyorum. Her iki durumda da, bilgi için teşekkürler.
Ben 29:11

ve yük dengeleyiciniz (anahtarlamayı yapan) fark edilmeden aşağıya inerse (monitör de farkedilmemiş olabilir, ad sonsuz), düğüm düştüğünde hala vidalanırsınız.
26'da jwenting

1
Bence 'beceriksizlik' demek istedin. 'İktidarsızlık', BT personelinin işlerini yapma yeteneği üzerinde çok fazla etkiye sahip olmamalıdır.
mfinni

4

Dürüst olmak gerekirse,% 100 en az bir hack saldırısı açısından bir dalgalanma olmadan tamamen delilik. Sitenizin ve DB'nin birden fazla coğrafi konumda birden fazla sunucu arasında çoğaltıldığı coğrafi olarak dağıtılmış bir barındırma çözümünüz olması için Google ve Amazon’un yaptığı şeyi yapmak en iyisidir. Bu, internet omurgasının bir bölgeye kesilmesi (zaman zaman gerçekleşen) veya neredeyse kıyamet gibi bir şey gibi büyük bir felaketten başka bir şey olduğunu garanti edecektir.

Sadece bu gibi durumlar için bir cümle koyardım (DDOS, internet omurga kesimi, kıyamet terörist saldırısı veya büyük bir savaş, vb.).

Bunun dışında Amazon S3 veya Rackspace bulut servislerine bakabilirsiniz. Temel olarak bulut kurulumu, her konumdaki artıklığı değil, aynı zamanda trafiğin ölçeklenebilirliğini ve coğrafi dağılımını ve başarısız coğrafi bölgeleri yeniden yönlendirme özelliğini de sunacak. Anladığım kadarıyla, coğrafi dağılım daha fazla paraya mal oluyor.


3

Ben sadece " yapılabilir (teorik olarak yapılabilir)" partisine başka bir ses eklemek istedim .

Bana ne kadar ödediklerine bakılmaksızın, belirtilen bir sözleşmeyi kabul etmem, ancak bir araştırma problemi olarak, oldukça ilginç çözümleri var. Aşamaları belirtmek için ağ oluşturma konusunda yeterince bilgi sahibi değilim, ancak ağla ilgili yapılandırmaların + elektrik / donanım kablolama başarısızlıklarının + yazılım başarısızlıklarının bir kombinasyonunu ya da aslında başka bir yapılandırmada fiilen çekip çıkarmayacağını düşünüyorum.

Herhangi bir konfigürasyonda bir yerde neredeyse her zaman tek bir hata noktası vardır, ancak yeterince sıkı çalışırsanız, bu başarısızlık noktasını "canlı" olarak düzeltilebilecek bir şey olmak için zorlayabilirsiniz (örneğin, kök dns düşer, ancak değerler hala önbelleğe alınır) başka her yerde bu yüzden düzeltmek için zamanınız var).

Yine, bunun mümkün olduğunu söylemiyorum .. Ben sadece tek bir cevabın "orada bir çıkış yolu" olmadığı gerçeğine değinmediğini beğenmedim - sadece düşünürlerse aslında istedikleri bir şey değil.


3

Kullanılabilirliği ölçme metodolojinizi tekrar düşünün ve anlamlı hedefler belirlemek için müşterinizle birlikte çalışın .

Büyük bir web sitesi kullanıyorsanız, çalışma süresi hiç de faydalı değildir. Müşterilerinize en çok ihtiyaç duyduklarında (trafik yoğunluğu) sorguları 10 dakika boyunca bırakırsanız, bir Pazar günü saat 3: 00'te bir saatlik bir kesintiden çok işletmeye zarar verebilir.

Bazen büyük web şirketleri, aşağıdaki ölçümleri kullanarak kullanılabilirliği veya güvenilirliği ölçer:

  1. Sunucu tarafı hatası olmadan (HTTP 500'ler) başarıyla yanıtlanan sorguların yüzdesi .
  2. Belli bir hedef gecikme altında cevaplanan sorguların yüzdesi .
  3. bırakılan sorguların istatistiklerinize göre sayılması gerekir (aşağıya bakın).

Durumu gerektiğini değil böyle Pingdom ve pingability gibi harici bir varlık rapor edebiliyoruz budur, örnek problar kullanılarak ölçülebilir. Sadece buna güvenme. Doğru yapmak istiyorsanız, her sorguda sayılmalıdır . Gerçek, algılanan başarınıza bakarak uygunluğunuzu ölçün.

En etkili yöntem, yük dengeleyicinizden günlükleri veya istatistikleri toplamak ve yukarıdaki ölçümlere göre kullanılabilirliği hesaplamaktır.

Bırakılan sorguların yüzdesi de istatistikleriniz için sayılmalıdır. Sunucu tarafı hatalarıyla aynı kovada hesaplanabilir. Ağda veya DNS veya yük dengeleyici gibi başka bir altyapıda sorun varsa, kaç sorgu kaybettiğinizi tahmin etmek için basit bir matematik kullanabilirsiniz . Haftanın o günü için X sorgusu bekliyorsanız ancak X-1000'iniz varsa, muhtemelen 1000 sorgu bıraktınız. Trafiğinizi dakika başına (veya saniye) grafik başına sorgulara yerleştirin. Boşluklar görünürse, sorguları bıraktınız. Toplam bırakılan sorgu sayısını veren bu boşlukların alanını ölçmek için temel geometri kullanın .

Bu metodolojiyi müşterinizle tartışın ve faydalarını açıklayın. Mevcut kullanılabilirliğini ölçerek bir taban çizgisi ayarlayın . % 100 imkansız bir hedef olduğu onlara açıklık kazanacaktır.

Ardından, mevcut durumdaki iyileştirmelere dayanarak bir sözleşme imzalayabilirsiniz. Örneğin, şu anda kullanılabilirliğin% 95'ini yaşıyorlarsa, durumu % 98,5'e çıkararak durumu on kat artıracağına söz verebilirsin .

Not: Bu ölçüm durumunun dezavantajları vardır. İlk olarak, günlükleri toplamak, raporları kendiniz işlemek ve oluşturmak, yapmak için mevcut araçları kullanmadığınız sürece önemsiz olmayabilir. İkinci olarak, uygulama hataları uygunluk durumunuza zarar verebilir. Uygulama düşük kaliteli ise, daha fazla hataya hizmet edecektir. Bunun çözümü, uygulamadan gelenler yerine yalnızca yük dengeleyici tarafından oluşturulan 500'leri dikkate almaktır.

İşler bu şekilde biraz karmaşık olabilir, ancak bu yalnızca sunucunuzun çalışma süresini ölçmenin bir adım ötesinde .


3

Bazı insanlar burada belirtmiş olsa da,% 100 delilik veya imkansız , bir şekilde asıl noktayı kaçırdılar. Bunun sebebinin, en iyi şirketler / hizmetler bile bunu başaramadığı gerçeği olduğunu savundu.

Bundan çok daha basit. Bu var matematiksel olarak imkansız .

Her şeyin bir olasılığı var. Sunucularınızı sakladığınız tüm yerlerde, hepsini yok ederek eşzamanlı bir deprem olabilir. Kabul edilebilir bir şekilde gülünç derecede küçük bir olasılık, ancak 0 değil. İnternet sağlayıcılarınız eşzamanlı bir terörist / siber saldırı ile karşı karşıya kalabilir. Yine, çok muhtemel değil, ama sıfır da değil. Ne sağlarsanız yapın, tüm hizmeti azaltan sıfır olmayan bir olasılık senaryosunu elde edebilirsiniz. Çünkü bu, çalışma zamanınız da% 100 olamaz.


Aslında, çılgınca ya da imkansız olanı geçip aptal diyebilirim. İnsanların bildiği hiçbir şey% 100 değildir.
dörtlü dörtlü

2

İstatistiki örneklemeyi kullanarak imalat kalite kontrolü hakkında bir kitap edinin. Herhangi bir menajerin kolejdeki genel bir istatistik kursunda maruz kalacağı kavramları genel bir tartışma, binin 1 istisnasından binde 1, binde 10 binde 1'e gitmek için gereken maliyetleri belirledi. Üstelik 1 milyarda artış. Temel olarak% 100 çalışma süresine ulaşma yeteneği, bir nesneyi ışık hızına itmek için gereken yakıt miktarı gibi, neredeyse sınırsız miktarda paraya mal olur.

Bir performans mühendisliği bakış açısından, bu ifadeyi hem denenemez hem de mantıksız olarak reddederdim, bu ifadenin gerçek bir gereksinimden çok bir arzudur. Ağ oluşturma, ad çözümleme, yönlendirme, altta yatan mimari bileşenlerden veya geliştirme araçlarından kaynaklanan hatalar için herhangi bir uygulamanın dışında kalan uygulama bağımlılıkları ile, herhangi bir kimseye% 100 çalışma süresi garantisi vermesi pratik bir olanaksızlık haline gelir.


1

Müşterinin aslında% 100 çalışma süresi, hatta% 99.999 çalışma süresi istediğini sanmıyorum. Eğer tarif ettikleri şeye bakarsanız, bir meteor site veri merkezlerini çıkarırsa bıraktıkları yerden almaktan bahsediyorlar.

Gereklilik dış insanlar tarafından bile fark edilmezse, bunun ne kadar sert olması gerekiyor? Bir Ajax isteğinin tekrar denenmesi ve son kullanıcının 30 saniye boyunca bir iplikçi göstermesi kabul edilebilir mi?

Bunlar müşterinin umursadığı şeylerdir. Müşteri gerçekten doğru SLA'ları düşünüyor olsaydı, bunu 99.99 ya da 99.999 olarak ifade edecek kadar çok şey bilirdi.


Eğer müşteri "% 100 çalışma süresi" istediklerini düşünüyorsa ve işte sözleşmenin sona ermesiyle sona erdiğinde, mahkemede sona ererse buna devam edebilirsiniz. Konuşmak ve müşterinin ne düşündüğünü bilmek yerine, gerçekte ne istediğini anlamasına yardımcı olmak en iyisidir.
Chris S

Oh, bunun bir sözleşmeye girmeden önce düzeltilmesi gerektiğine katılıyorum. Sadece müşteriye istediklerini iletmediği için yaklaşılması gerektiğini söylüyorum, müşterinin aksine saçma bir şey istiyor.
Kevin Peterson

1

2 sentim. Süper kase için reklamlar çıkaran bir servet-5 şirketi için çok popüler bir web sitesinden sorumluydum. Trafikteki büyük ani artışlarla uğraşmak zorunda kaldım ve çözdüğüm yol Akamai gibi bir servisi kullanmaktı. Akamai için çalışmıyorum ama hizmetlerini çok iyi buldum. Belirli bir düğüm / ev sahibi ile ağır yük altında olduğunu veya kapalı olduğunu ve trafiğini buna göre yönlendirebilen, daha akıllı bir DNS sistemine sahipler.

Servisleriyle ilgili en güzel şey, kendi veri merkezimdeki sunuculardaki içeriği kendi veri merkezlerine çoğaltmak için çok karmaşık bir şey yapmak zorunda olmadığımdı. Ek olarak, onlarla çalışmanın da Apache HTTP sunucularını yoğun kullandıklarını biliyorum.

% 100 çalışma süresi olmasa da, içeriği dünyaya dağıtmak için bu seçenekleri düşünebilirsiniz. Anladığım kadarıyla Akamai, Michigan'da olsaydım, Michigan / Chicago sunucusundan içerik alıp Kaliforniya'daysam, Kaliforniya merkezli bir sunucudan içeriğimi aldım.


-1 çünkü bu pratik bir cevap ama hiç faydalı değil. Bu sitedeki tüm sorular "yapmak için başka birini işe almak" ile cevaplanabilir, ancak bu yüzden burada değiliz.
Yves Junqueira

Naçizane size katılmıyorum. "Hiç yararlı değil mi?" Bu benim için kesinlikle çok faydalı oldu ve “bunu yapmak için bir başkasını işe al” yorumuna aykırı olarak, adamın kendi fiber optik kablosunu açıp kendi anahtarlarını da satın almak yerine kendi tasarımlarını yapması gerektiğini düşündüğünüze inanıyorum? Ciddi misin Yves? BT alanında fazla zaman harcamamış birine benziyorsunuz.
Kilo

0

Site dışı yük devretme yerine, uygulamayı aynı anda iki yerden aynı anda, dahili ve harici olarak çalıştırın. Ve iki veritabanını senkronize et ... Sonra eğer iç inerse, iç insanlar hala çalışabilecek ve dış insanlar da uygulamayı kullanabilecekler. Dahili tekrar çevrimiçi olduğunda, değişiklikleri senkronize edin. Bir etki alanı adı ya da yuvarlak robinli bir ağ yönlendiricisi için iki DNS girişi olabilir.


0

Harici olarak barındırılan siteler için,% 100 çalışma süresine en yakın olanı sitenizi Google'ın Uygulama Motorunda barındırmak ve verilerinizi gerçek zamanlı olarak en az üç veri merkezinde otomatik olarak çoğaltan yüksek çoğaltma veri deposunu (HRD) kullanmaktır . Aynı şekilde, App Engine ön uç sunucuları da sizin için otomatik olarak ölçeklenir / çoğaltılır.

Bununla birlikte, Google’ın tüm kaynakları ve dünyadaki en gelişmiş platformla bile, App Engine SLA çalışma süresi garantisi, herhangi bir takvim ayı içinde yalnızca zamanın% 99,95'idir.


0

Basit ve doğrudan: Anycast

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

Cloudflare, google ve diğer büyük şirketlerin gereksiz, düşük gecikmeli, kıtasal başarısızlık / dengeleme yapmak için kullandıkları şey budur.

Ancak% 100 çalışma süresine sahip olmanın imkansız olduğunu ve% 99,999'dan% 99,9999'a gitmenin maliyetlerinin çok daha büyük olduğunu unutmayın.

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.