HA/DR için oluşturulmuş çok katmanlı web uygulaması

Azure
Azure Arc
SQL Server
Windows

Bu örnek senaryo, yüksek kullanılabilirlik ve olağanüstü durum kurtarma için oluşturulmuş dayanıklı çok katmanlı uygulamalar dağıtması gereken tüm sektörler için geçerlidir. Bu senaryoda uygulama üç katmandan oluşur.

  • Web katmanı: Kullanıcı arabirimi dahil olmak üzere en üst katman. Bu katman, kullanıcı etkileşimlerini ayrıştırarak işlemlerin işlenmesi için eylemleri bir sonraki katmana geçirir.
  • İş katmanı: Kullanıcı etkileşimlerini işler ve sonraki adımlar hakkında mantıksal kararlar alır. Bu katman, web katmanını ve veri katmanını bağlar.
  • Veri katmanı: Uygulama verilerini depolar. Veritabanı, nesne depolama veya dosya depolama genellikle kullanılır.

Yaygın uygulama senaryoları, Windows veya Linux üzerinde çalışan görev açısından kritik tüm uygulamaları içerir. Bu, SAP ve SharePoint gibi kullanıma açık bir uygulama veya özel bir iş kolu uygulaması olabilir.

Olası kullanım örnekleri

Diğer ilgili kullanım örnekleri şunlardır:

  • SAP ve SharePoint gibi yüksek oranda dayanıklı uygulamalar dağıtma
  • İş kolu uygulamaları için iş sürekliliği ve olağanüstü durum kurtarma planı tasarlama
  • Olağanüstü durum kurtarmayı yapılandırma ve uyumluluk amacıyla ilgili tatbikatları gerçekleştirme

Mimari

Diagram showing the architecture overview of a highly resilient multitier web application.

Bu mimarinin bir Visio dosyasını indirin.

İş Akışı

  • Her katmandaki VM'leri, bölgeleri destekleyen bölgelerdeki iki kullanılabilirlik alanına dağıtın. Diğer bölgelerde vm'leri tek bir kullanılabilirlik kümesi içindeki her katmanda dağıtın.
  • Veritabanı katmanı Always On kullanılabilirlik gruplarını kullanacak şekilde yapılandırılabilir. Bu SQL Server yapılandırmasıyla, bir kullanılabilirlik grubu içindeki bir birincil okuma/yazma çoğaltması en fazla sekiz ikincil salt okunur çoğaltmayla yapılandırılır. Birincil çoğaltmada bir sorun oluşursa, kullanılabilirlik grubu birincil okuma/yazma etkinliğini ikincil çoğaltmalardan birine devrederek uygulamanın kullanılabilir durumda kalmasını sağlar. Daha fazla bilgi için bkz . SQL Server için Always On kullanılabilirlik gruplarına genel bakış.
  • Olağanüstü durum kurtarma senaryolarında, olağanüstü durum kurtarma için kullanılan hedef bölgeye SQL Always On zaman uyumsuz yerel çoğaltmayı yapılandırabilirsiniz. Veri değişim oranı Azure Site Recovery'nin desteklenen sınırları içindeyse hedef bölgeye Azure Site Recovery çoğaltmasını da yapılandırabilirsiniz.
  • Kullanıcılar, traffic manager uç noktası aracılığıyla ön uç ASP.NET web katmanına erişer.
  • Traffic Manager, trafiği birincil kaynak bölgedeki birincil genel IP uç noktasına yönlendirir.
  • Genel IP, çağrıyı genel yük dengeleyici aracılığıyla web katmanı VM örneklerinden birine yönlendirir. Tüm web katmanı VM örnekleri tek bir alt ağda yer alır.
  • Web katmanı VM'sinden her çağrı, işlenmek üzere bir iç yük dengeleyici aracılığıyla iş katmanındaki VM örneklerinden birine yönlendirilir. Tüm iş katmanı VM'leri ayrı bir alt ağda yer alır.
  • İşlem iş katmanında işlenir ve ASP.NET uygulaması Azure iç yük dengeleyici aracılığıyla bir arka uç katmanında Microsoft SQL Server kümesine bağlanır. Bu arka uç SQL Server örnekleri ayrı bir alt ağda yer alır.
  • Traffic Manager'ın ikincil uç noktası, olağanüstü durum kurtarma için kullanılan hedef bölgede genel IP olarak yapılandırılır.
  • Birincil bölge kesintisi durumunda Azure Site Recovery yük devretmesini çağırırsınız ve uygulama hedef bölgede etkin hale gelir.
  • Traffic Manager uç noktası, istemci trafiğini otomatik olarak hedef bölgedeki genel IP'ye yönlendirir.

Bileşenler

  • Kullanılabilirlik kümeleri , Azure'da dağıttığınız VM'lerin bir kümedeki birden çok yalıtılmış donanım düğümüne dağıtılmasını sağlar. Azure'da bir donanım veya yazılım hatası oluşursa vm'lerinizin yalnızca bir alt kümesi etkilenir ve çözümünüzün tamamı kullanılabilir ve çalışır durumda kalır.
  • Kullanılabilirlik alanları , uygulamalarınızı ve verilerinizi veri merkezi hatalarından korur. Kullanılabilirlik alanları, bir Azure bölgesi içinde ayrı fiziksel konumlardır. Her bölge bağımsız güç, soğutma ve ağ ile donatılmış bir veya daha fazla veri merkezinden oluşur.
  • Azure Site Recovery , iş sürekliliği ve olağanüstü durum kurtarma gereksinimleri için VM'leri başka bir Azure bölgesine çoğaltmanıza olanak tanır. Uyumluluk gereksinimlerini karşıladığınızdan emin olmak için düzenli olağanüstü durum kurtarma tatbikatları gerçekleştirebilirsiniz. Kaynak bölgede kesintiler yaşanması durumunda uygulamalarınızı kurtarabilmeniz için, sanal makine belirtilen ayarlarla seçilen bölgeye çoğaltılır.
  • Azure Traffic Manager , yüksek kullanılabilirlik ve yanıt süresi sağlarken trafiği genel Azure bölgelerindeki hizmetlere en iyi şekilde dağıtan DNS tabanlı bir trafik yük dengeleyicidir.
  • Azure Load Balancer , gelen trafiği tanımlı kurallara ve sistem durumu yoklamalarına göre dağıtır. Yük dengeleyici, tüm TCP ve UDP uygulamaları için milyonlarca akışın ölçeğini artırarak düşük gecikme süresi ve yüksek aktarım hızı sağlar. Bu senaryoda, gelen istemci trafiğini web katmanına dağıtmak için genel yük dengeleyici kullanılır. İş katmanından arka uç SQL Server kümesine trafiği dağıtmak için bu senaryoda iç yük dengeleyici kullanılır.

Alternatifler

  • Altyapıdaki hiçbir şey işletim sistemine bağımlı olmadığından Windows diğer işletim sistemleri tarafından değiştirilebilir.
  • Linux için SQL Server arka uç veri deposunun yerini alabilir.
  • Veritabanı, kullanılabilir herhangi bir standart veritabanı uygulamasıyla değiştirilebilir.

Senaryo ayrıntıları

Bu senaryoda ASP.NET ve Microsoft SQL Server kullanan çok katmanlı bir uygulama gösterilmektedir. Kullanılabilirlik alanlarını destekleyen Azure bölgelerinde sanal makinelerinizi (VM) kullanılabilirlik alanları arasında bir kaynak bölgeye dağıtabilir ve VM'leri olağanüstü durum kurtarma için kullanılan hedef bölgeye çoğaltabilirsiniz. Kullanılabilirlik alanlarını desteklemeyen Azure bölgelerinde VM'lerinizi bir kullanılabilirlik kümesi içinde dağıtabilir ve VM'leri hedef bölgeye çoğaltabilirsiniz.

Bölgeler arasındaki trafiği yönlendirmek için genel bir yük dengeleyici gerekir. İki ana Azure teklifi vardır:

  • Azure Front Door
  • Azure Traffic Manager

Yük dengeleyici seçerken gereksinimlerinizi ve iki teklifin özellik kümesini göz önünde bulundurun. Yük devretmeyi ne kadar hızlı yapmak istiyorsunuz? TLS yönetiminin yükünü üstlenebilir misiniz? Kurumsal maliyet kısıtlamaları var mı?

Front Door'un Katman 7 özellikleri vardır: uygulamalarınızın performansını ve yüksek kullanılabilirliğini artırmak için SSL boşaltma, yol tabanlı yönlendirme, hızlı yük devretme, önbelleğe alma ve diğerleri. Altyapı Azure ağına daha erken eklendiğinden daha hızlı paket seyahat süreleri yaşayabilirsiniz.

Front Door yeni bir atlama eklediğinden, ek güvenlik işlemleri vardır. Mimari mevzuat gereksinimleriyle uyumluysa ek trafik TLS sonlandırma noktasıyla ilgili kısıtlamalar olabilir. Front Door tarafından seçilen TLS şifreleme paketleri kuruluşunuzun güvenlik çubuğunu karşılamalıdır. Ayrıca Front Door, arka uç hizmetlerinin Microsoft tarafından kullanılan sertifikaları kullanmasını bekler.

Bir diğer önemli nokta da maliyettir. Mimari, eklenen maliyeti gerekçelendirmek için kapsamlı özellik kümesinden (yalnızca yük devretmeden değil) yararlanmalıdır.

Traffic Manager, DNS tabanlı bir yük dengeleme hizmetidir. Yalnızca DNS düzeyinde dengeler ve yük devreder. Bu nedenle, DNS önbelleğe alma ve sistemlerin DNS TTL'lerini yerine getirememesiyle ilgili yaygın zorluklar nedeniyle front door kadar hızlı yük devredemez.

Gerekirse her iki yük dengeleyiciyi de birleştirebilirsiniz. Örneğin, DNS tabanlı yük devretmeyi istiyor ancak trafikle yönetilen altyapının önüne bir POP deneyimi eklemek istiyorsunuz.

Bu mimari, hafif olduğundan Traffic Manager kullanır. Yük devretme zamanlaması, açıklayıcı amaçlar için yeterlidir.

Dikkat edilmesi gereken noktalar

Ölçeklenebilirlik

Ölçeklendirme gereksinimlerinize göre her katmana VM ekleyebilir veya kaldırabilirsiniz. Bu senaryoda yük dengeleyiciler kullanıldığı için uygulama çalışma süresini etkilemeden katmana daha fazla VM ekleyebilirsiniz.

Diğer ölçeklenebilirlik konuları için Azure Mimari Merkezi'ndeki performans verimliliği denetim listesine bakın.

Güvenlik

Ön uç uygulama katmanına gelen tüm sanal ağ trafiği ağ güvenlik grupları tarafından korunur. Kurallar, yalnızca ön uç uygulama katmanı VM örneklerinin arka uç veritabanı katmanına erişebilmesi için trafik akışını sınırlar. İş katmanından veya veritabanı katmanından giden İnternet trafiğine izin verilmez. Saldırı ayak izini azaltmak için doğrudan uzaktan yönetim bağlantı noktaları açık değildir. Daha fazla bilgi için bkz . Azure ağ güvenlik grupları.

Güvenli senaryolar tasarlama hakkında genel yönergeler için Bkz . Azure Güvenlik Belgeleri.

Fiyatlandırma

Azure Site Recovery kullanarak Azure VM'leri için olağanüstü durum kurtarmanın yapılandırılması, sürekli olarak aşağıdaki ücretlere tabi olacaktır.

  • VM başına Azure Site Recovery lisanslama maliyeti.
  • Kaynak VM disklerindeki veri değişikliklerini başka bir Azure bölgesine çoğaltmak için ağ çıkış maliyetleri. Azure Site Recovery, veri aktarımı gereksinimlerini yaklaşık %50 azaltmak için yerleşik sıkıştırma kullanır.
  • Kurtarma sitesinde maliyetleri Depolama. Bu genellikle kaynak bölge depolama alanıyla ve kurtarma noktalarını kurtarma için anlık görüntüler olarak tutmak için gereken ek depolama alanıyla aynıdır.

Altı sanal makine kullanarak üç katmanlı bir uygulama için olağanüstü durum kurtarmayı yapılandırmak için örnek bir maliyet hesaplayıcısı sağladık. Tüm hizmetler maliyet hesaplayıcısında önceden yapılandırılmıştır. Fiyatlandırmanın belirli bir kullanım örneğinde nasıl değişeceğini görmek için uygun değişkenleri değiştirerek maliyeti tahmin edin.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Sonraki adımlar

Ek yüksek kullanılabilirlik ve olağanüstü durum kurtarma başvuru mimarileri için bkz: