Bulut sağlayıcıları altyapılarını iki düzeyde böler ve bu ikisi sık karıştırılır. Aralarındaki fark, tasarımınızın hangi tür arızaya dayanacağını doğrudan belirler.
Tanımlar
Bölge (region) coğrafi bir alandır — bir şehir ya da ülke ölçeğinde. Kendi içinde bağımsızdır ve çoğu hizmet bölge sınırında çalışır.
Erişilebilirlik alanı (availability zone) bir bölgenin içindeki, birbirinden fiziksel olarak ayrı veri merkezleridir. Ayrı binalarda, ayrı elektrik ve soğutma altyapısıyla çalışırlar; aralarında ise çok hızlı ve düşük gecikmeli bağlantı vardır.
Yani bölge coğrafyayı, alan ise o coğrafya içindeki fiziksel ayrımı ifade eder.
Hangisi neye karşı korur
Ayrım burada anlam kazanır.
Alanlar arası dağıtım, tek bir veri merkezinin kaybına karşı korur: yangın, elektrik kesintisi, soğutma arızası, yerel ağ sorunu. Gecikme çok düşük olduğu için eşzamanlı çoğaltma yapılabilir ve veri kaybı olmadan devralma mümkündür.
Bölgeler arası dağıtım, tüm bir coğrafyanın kaybına karşı korur: doğal afet, geniş çaplı altyapı kesintisi, ya da bölge çapında bir sağlayıcı arızası. Ayrıca veri ikametgâhı gereksinimlerini karşılamanın yoludur.
Çoğu kurum için doğru başlangıç alanlar arası dağıtımdır; bölge düzeyinde ikinci bir kopya, ancak felaket kurtarma gereksinimi varsa eklenir.
İkisi arasındaki karar Multi-AZ mı yedek bölge mi rehberinde somutlaştırılıyor.
Mesafe gecikmeye çarpar
Bölgeler arası tasarımın fiziksel bir sınırı vardır. Işık cam lifinde saniyede yaklaşık 200 bin km gider; bu, her 100 km için gidiş–dönüşe kabaca 1 ms ekler.
Aynı bölgedeki alanlar arasında mesafe onlarca kilometredir, dolayısıyla gecikme milisaniyenin altında kalır — eşzamanlı çoğaltma uygulanabilir.
Bölgeler arasında ise mesafe yüzlerce ya da binlerce kilometredir. Her yazma işleminin karşı tarafın onayını beklediği bir kurgu, işlem yoğun veritabanlarında kabul edilemez hâle gelir. Bu yüzden bölgeler arası çoğaltma genelde eşzamansızdır ve bir miktar veri kaybı riski taşır.
Hesabın tamamını kurtarma hedefi planlayıcı aracıyla görebilirsiniz.
Her hizmet aynı ölçekte çalışmaz
Kritik bir ayrıntı: bazı hizmetler bölgeseldir, bazıları alan bazlıdır, bazıları da küreseldir.
Bir sanal makine belirli bir alanda çalışır — o alan giderse makine de gider. Bir nesne depolama kovası genelde bölge çapındadır ve alanlar arası dayanıklılığı kendisi sağlar. Kimlik ve DNS gibi hizmetler ise çoğu zaman küreseldir.
Tasarım yaparken her bileşenin hangi ölçekte çalıştığını bilmek gerekir. Alan bazlı tek bir bileşen, geri kalanı ne kadar dağıtık olursa olsun tüm mimariyi o alana bağlar.
Veri çıkışı ücretlidir
Bölgeler arası ve bazen alanlar arası veri transferi ücretlendirilir. Bu, tasarımın maliyetini sessizce büyüten kalemlerden biridir.
Alanlar arasında dağıtılmış bir uygulamada her istek alan sınırını geçiyorsa, hem gecikme hem fatura artar. İyi tasarımlar trafiği mümkün olduğunca aynı alan içinde tutar ve yalnızca gerektiğinde sınır geçer.
Bölgeler arası sürekli çoğaltma ise ayrı bir kalemdir ve veri hacmiyle doğru orantılı büyür. Hattın yetip yetmediği RPO ve RTO nedir yazısında ele alınıyor.
Bölge seçimi geri alması zor bir karardır
Bölge seçerken dört ölçüt vardır.
Kullanıcılara yakınlık gecikmeyi belirler. Veri ikametgâhı yasal bir zorunluluk olabilir. Hizmet kullanılabilirliği bölgeden bölgeye değişir — yeni hizmetler her bölgeye aynı anda gelmez. Fiyat de bölgeye göre farklılaşır.
Seçim sonradan değiştirilebilir ama ucuz değildir: veri taşınır, adresler değişir, kesinti planlanır. Bu yüzden ilk kararı acele vermemek gerekir.
Hesap ve abonelik hiyerarşisinin bu kararla birlikte tasarlanması Azure landing zone ve AWS Organizations ve SCP rehberlerinde ele alınıyor.
Çoklu bölge ucuz değildir
Aktif–aktif çoklu bölge mimarisi kulağa iyi gelir ama getirdiği karmaşıklık çoğu kurum için gereğinden fazladır: veri tutarlılığı, çakışma çözümü, trafik yönlendirme ve iki katı işletim yükü.
Daha gerçekçi bir başlangıç, birincil bölgede alanlar arası dağıtım ve ikinci bölgede yedeklerin tutulmasıdır. Devralma elle yapılır ama maliyeti ve karmaşıklığı çok daha düşüktür.
Erişilebilirlik hedefini rakama dökmek için SLA hesaplayıcı aracını, mimari tercih için yüksek erişilebilirlik mi felaket kurtarma mı rehberini kullanabilirsiniz.
Kısaca
Bölge coğrafyayı, erişilebilirlik alanı o coğrafya içindeki fiziksel ayrımı ifade eder. Alanlar arası dağıtım veri merkezi arızasına, bölgeler arası dağıtım coğrafi felakete karşı korur.
Alanlar arası kurgu düşük gecikme sayesinde ucuz ve etkilidir; bölgeler arası kurgu ise mesafenin getirdiği gecikme, maliyet ve karmaşıklıkla birlikte değerlendirilmelidir.