Soru Bir web uygulaması için% 100 çalışma zamanı
Bugün bir müşteriden ilginç bir "gereksinim" aldık.
% 100 çalışma zamanı istiyorlar Site dışı Bir web uygulamasında yük devretme. Web uygulamamızın bakış açısından, bu bir sorun değil. Birden fazla veritabanı sunucusunda vb. Ölçeklendirilebilecek şekilde tasarlanmıştır.
Ancak, bir ağ sorunundan, nasıl çalışacağını anlayamıyorum.
Özetle, uygulama müşterinin ağındaki sunucularda yaşayacaktır. Hem iç hem de dış insan tarafından erişilebilir. Sistemin yerinde olmayan bir kopyasını sürdürmemizi istiyorlar ki, tesislerinde ciddi bir başarısızlık olması halinde hemen alınıp devralacaklar.
Şimdi biliyoruz ki içsel insanlar için onu çözmenin hiçbir yolu yoktur (taşıyıcı güvercin?), Fakat dış kullanıcıların fark etmelerini bile istemezler.
Açıkçası, bunun nasıl mümkün olabileceğine dair en ateşli fikrim yok. Öyle görünüyor ki, internet bağlantısını kaybederlerse, dış makinelere giden trafiği yönlendirmek için bir DNS değişimi yapmamız gerekecek ... Elbette, zaman alacak.
Fikirler?
GÜNCELLEŞTİRME
Bugün müşteriyle bir tartışma yaptım ve konuya açıklık getirdiler.
Uygulamanın, bir sel durumunda bile etkin kalması gerektiğini söyleyerek% 100'lük sayıyla sıkıştılar. Ancak, bu gereklilik sadece onlar için onları barındırırsak başlıyor. Uygulama tamamen kendi sunucularında yaşıyorsa, çalışma zamanı gereksinimlerini karşılayacaklarını söylediler. Cevabımı tahmin edebilirsin.
310
2017-09-29 00:31
Menşei
Cevaplar:
Burada VikipediDokuzun peşinde olan kullanışlı şema:
İlginçtir, sadece İlk 20 sitenin 3'ü 2007 yılında efsanevi 5 dokuza veya% 99,999 çalışma süresine ulaşabildiler. Onlar Yahoo, AOL ve Comcast idi. 2008'in ilk 4 ayında, en çok popüler sosyal ağlarBuna bile yaklaşmadım.
Grafikten,% 100 çalışma süresinin takibinin ne kadar saçma olduğu belli olmalı ...
363
2017-09-29 01:03
Onlardan% 100 tanımlamaları ve bunun nasıl ölçüleceğini sorun. Muhtemelen, karşılayabilecekleri kadar% 100'e yakındırlar. Onlara masrafları ver.
Detaylandırmak için. Müşterilerle sözde gülünç gereklilikleri olan görüşmelerde bulundum. Her durumda, aslında sadece doğru olmayan bir dil kullanıyorlardı.
Çoğu zaman, şeyleri mutlak görünen şekillerde çerçevelerler -% 100 gibi ama aslında daha derin araştırmalar için risk azaltma verilerine yönelik maliyetlerle sunulduğunda gerekli olan maliyet / fayda analizlerini yapmak için yeterince mantıklıdırlar. Onlara kullanılabilirliği nasıl ölçeceklerini sormak çok önemli bir sorudur. Eğer bunu bilmiyorlarsa, önce bunun tanımlanması gerektiğini onlara öneren bir pozisyondasınız.
İstemciden, aşağıdaki durumlarda sitenin kullanımdan kaldırılması durumunda, işletme etkisi / maliyetleri açısından ne olacağını tanımlamasını isterim:
- X saat için en yoğun saatlerinde
- En az yoğun saatlerde x saat
Ve bunu nasıl ölçecekleri de.
Bu şekilde, '% 100' doğru seviyesini belirlemek için onlarla çalışabilirsiniz. Bu tür soruları sorarak onların diğer gereksinimlerinin önceliklerini daha iyi belirleyebileceklerinden şüpheleniyorum. Örneğin, bunu başarmak için belirli seviyelerde SLA ödemek ve diğer işlevleri ödün vermek isteyebilirler.
186
2017-09-29 09:45
Müşterilerin çıldırmış. % 100 çalışma zamanı imkansız Ne kadar para harcarsın, önemli değil. Sade ve basit - imkansız. Google, Amazon, vs.'ye bakın. Altyapısına atmak için neredeyse sonsuz miktarda paraya sahipler ve yine de kesinti yaşamalarını sağlıyorlar. Bu mesajı onlara teslim etmelisiniz ve makul talepler sundukları konusunda ısrar etmeye devam ederse. Bunu tanımıyorlarsa bazı kesinti miktarı kaçınılmazdır, o zaman çukurlar.
Bu, uygulamanın kendisini ölçekleme / dağıtma mekaniğine sahip gibi görünüyor. Ağ kısmının, farklı ISP'lere fazladan yükseltmeleri, bir ASN ve IP tahsisi almasını ve BGP'de ve gerçek yönlendirme tertibatında boyun derinliği almasını, böylece İP'lerin ihtiyaç duyulması halinde İSS'ler arasında hareket edebilmesini sağlaması gerekecektir.
Bu oldukça açık bir şekilde, çok kısa bir cevap. Bu derece çalışma süresi gerektiren uygulamalarla ilgili deneyiminiz olmadı, bu nedenle efsanevi% 100 çalışma zamanına yakın bir yere gitmek istiyorsanız profesyonel bir görev almanız gerekiyor.
141
2017-09-29 00:39
Bu kesinlikle ilginç bir şey. Kendimi sözleşmeyle% 100 kesintisiz çalışma yükümlülüğüne ulaştırmak isteyeceğime emin değilim, ama sanırsam böyle bir şeye benzeyeceğini düşünürdüm:
Tamamen ağ üzerinden bir yük dengeleyici üzerinde halka açık IP ile başlayın ve en az iki tane oluşturun, böylece biri diğerine geçemez. Heatbeart gibi bir program, bunların otomatik olarak yüklenmesine yardımcı olabilir.
Vernik öncelikle önbellekleme çözümü olarak bilinir, ancak bazı çok iyi yük dengeleme de yapar. Belki de bu yük dengelemenin üstesinden gelmek için iyi bir seçim olurdu. İsteğe bağlı olarak, rasgele veya yuvarlak robin dengesini yükleyecek olan yönetmenlerde gruplandırılmış 1'den n'ye kadar arkaya sahip olacak şekilde ayarlanabilir. Vernik, her arka ucun sağlığını kontrol etmek için yeterince akıllı hale getirilebilir ve sağlıksız arka uçları çevrim dışı olana kadar döngüden çıkarılabilir. Arka tarafların aynı ağda olması gerekmez.
Bu günlerde Amazon EC2'deki Elastic IP'lere aşığım, bu yüzden muhtemelen farklı bölgelerdeki EC2'deki yük dengeleyicilerimi veya en azından aynı bölgedeki farklı kullanılabilirlik bölgelerini inşa ediyorum. Bu, mevcut A kayıt IP'sini yeni kutuya taşımak ve taşımak zorunda kalmanız durumunda, manuel olarak (god forbid) yeni bir yük dengeleyici döndürme seçeneği sunar.
Vernik, SSL'yi sonlandıramaz, bu yüzden bir endişe varsa, bunun yerine Nginx gibi bir şeye bakmak isteyebilirsiniz.
Arka uçlarınızın çoğunu istemcilerinizin ağında ve ağlarının bir veya daha fazlasında olabilirsiniz. Eminim ki,% 100 emin değilim, arka uçları önceliklendirebilirsiniz, böylece müşterilerinizin makineleri sağlıksız hale gelene kadar öncelik kazanırlar.
Bu görevi yaparsam baştan başlayacağım ve şüphesiz ben ilerlediğimde onu da hassaslaştıracağım.
Ancak, ErikA'nın belirttiği gibi, bu İnternet ve her zaman kontrolünüzün dışında olan ağın parçaları olacak. Yasallığınızın yalnızca sizin kontrolünüz altındaki şeylerle bağlandığından emin olmak istersiniz.
54
2017-09-29 00:47
Sorun değil - biraz gözden geçirilmiş kontrat ifadesi olsa:
...% 100'lük çalışma süresini (sıfır ondalık basamağa yuvarlanır) garanti eder.
29
2017-09-29 10:13
Sorunun ne olduğunu anlamıyorum. Müşteri felaket için plan yapmanı istiyor ve matematik odaklı değil, bu yüzden% 100 olasılık istemek mantıklı geliyor. Mühendisler, mühendislerin yapmaya eğilimli olduğu gibi, müşterinin bunu yapamayacağı düşüncesiyle, prob & stat 101'in ilk gününü hatırladı.
Bunu söylediklerinde, nükleer kış hakkında düşünmüyorlar, Fred'in kahveyi ofis sunucusuna, bir diskin çökmesine ya da bir ISS'nin batmasına neden olduğunu düşünüyorlar.
Dahası, bunu başarabilirsin. Coğrafi olarak farklı, bağımsız, kendi kendini izleme sunucuları ile, temelde kesinti yaşamayacaksınız. Bağımsız (1) üç 9 güvenilirlikte çalışan 3 sunucu ile, iyi yük devretme modları ile, beklenen kesinti süreniz saniyenin altındadır (2). Bu hemen gerçekleşse bile, web bağlantıları için hala makul bir SLA içinde olursunuz ve bu nedenle kesinti pratik olarak mevcut değildir.
Müşteri hala kıyamet senaryoları ile uğraşmak zorunda, ama Godzilla hariç, "her zaman" bir hizmete sahip olacak.
(1) Los Angeles'taki bir sunucu, Boston'daki sunucudan makul bir şekilde bağımsızdır, ancak evet, nükleer savaşın, korsanların elektrik şebekesini çökertmesi gibi bir takım kavşakların var olduğunu anlıyorum. Müşterinin sizi rahatsız etmeyeceğini düşünüyorum. bu.
(2) DNS yük devretme birkaç saniye ekleyebilir. İstemcinin yılda bir kez bir isteği yeniden denemesi gereken bir senaryodasınız, ki bu yine makul bir SLA dahilinde ve tipik olarak "kesinti süresi" ile aynı vesile olarak değerlendirilmiyor. Hata durumunda mevcut bir düğüme otomatik olarak yeniden yönlendiren bir uygulama ile, bu farkedilemez olabilir.
25
2017-09-30 15:49
Facebook ve Amazon bunu yapamazsa yapamazsın. Bu kadar basit.
25
2017-09-29 01:10