App Service Ortamları ile Coğrafi Olarak Dağıtılmış Ölçek

Genel Bakış

Çok yüksek ölçek gerektiren uygulama senaryoları, bir uygulamanın tek bir dağıtımında kullanılabilen işlem kaynağı kapasitesini aşabilirsiniz. Oylama uygulamaları, spor etkinlikleri ve telefing etkinlikleri, son derece yüksek ölçek gerektiren senaryolara örnek olarak verilmiştir. Uygulamaların ölçeği yatay olarak ölçeklendirerek yüksek ölçek gereksinimleri karşılanmalı. Aşırı yük gereksinimlerini karşılamak için tek bir bölge içinde ve bölgeler arasında birçok uygulama dağıtımı olabilir.

App Service Ortamları, yatay ölçeklendirme için ideal bir platformdur. Geliştiriciler, bilinen bir App Service Ortamı oranını destekleyebiliyor bir yapılandırmayı seçerek istenen en yüksek yük kapasitesini elde etmek için "tanımlama bilgisi" App Service Ortamları'nda ek dağıtımlar da dağıtabilir.

Örneğin, App Service Ortamı yapılandırmasında çalışan bir uygulamanın, saniye başına 20.000 isteği (RPS) işlemek için test edilmiş olduğunu varsayalım. İstenen en yüksek yük kapasitesi 100.000 RPS ise, uygulamanın en yüksek yükü işlemesini sağlamak için beş (5) App Service Ortamları oluşturulabilir ve yalıtilebilir.

Müşteriler uygulamalara genellikle özel (veya özel) bir etki alanı kullanarak erişene kadar, geliştiricilerin uygulama isteklerini tüm uygulama örneklerine dağıtmak için App Service Ortamı gerekir. Bu hedefi gerçekleştirmenin harika bir yolu, özel etki alanını bir etki alanı profili kullanarak Azure Traffic Manager etmektir. Traffic Manager profili, tek tek tüm ortamlara işaret etmek için App Service. Traffic Manager, App Service profilinde yük dengeleme ayarlarına bağlı olarak tüm Traffic Manager dağıtacaktır. Bu yaklaşım, tüm App Service Ortamlarının tek bir Azure bölgesinde mi yoksa dünya çapında birden çok Azure bölgesinde mi dağıtıldığından bağımsız olarak çalışır.

Ayrıca, müşteriler uygulamalara özel etki alanı üzerinden erişene kadar, müşteriler bir uygulamayı çalıştıran App Service ortamlardan haberdar değildir. Sonuç olarak geliştiriciler, gözlemlenen trafik yüküne göre Ortamlar'App Service ve kaldırmayı hızlı ve kolay bir şekilde ekleyebilir ve kaldırabilir.

Aşağıdaki kavramsal diyagramda, tek bir bölge içindeki üç App Service ölçeği yatay olarak ölçeklendiren bir uygulama gösterilmiştir.

Coğrafi olarak dağıtılmış uygulama hizmetinin Traffic Manager.

Bu konunun geri kalan kısmında, birden çok örnek ortam kullanan örnek uygulama için dağıtılmış bir topoloji ayarlamayla ilgili adımlar App Service adım adım yol gösterir.

Topolojiyi Planlama

Dağıtılmış bir uygulama ayak izi olmadan önce, önceden birkaç parça bilgi edinebilirsiniz.

  • Uygulama için özel etki alanı: Müşterilerin uygulamaya erişmek için kullanabileceği özel etki alanı adı nedir? Örnek uygulama için özel etki alanı adı www.asabuludemo.com olur.
  • Traffic Manager etki alanı: Bir etki alanı profili oluştururken bir Azure Traffic Manager seçin. Bu ad, trafficmanager.net tarafından yönetilen bir etki alanı girdisini kaydetmek için Traffic Manager. Örnek uygulama için, seçilen ad scalable-ase-demo'dır. Sonuç olarak, tarafından yönetilen tam etki alanı Traffic Manager adı scalable-ase-demo.trafficmanager.net.
  • Uygulama ayak izini ölçeklendirme stratejisi: Uygulama ayak izi tek bir bölgedeki birden App Service ortamlara dağıtılacak mı? Birden çok bölge? Her iki yaklaşımın da karışımı ve eşleşmesi mi? Müşterinin trafiğinin nereden kaynaklandığı ve bir uygulamanın geri kalan arka uç altyapısının ne kadar iyi ölçeklendirileye kadar genişleye bir şekilde ölçeklendirilene kadar olan beklentileri temel alan bir karara varın. Örneğin, %100 durum bilgisiz bir uygulamayla, her Bir Azure bölgesinde çok sayıda App Service Ortamlarının birleşimi kullanılarak bir uygulama, birçok Azure bölgesinde dağıtılan App Service Ortamları ile çarpılarak çok büyük ölçekte ölçeklendirılabilir. 15'den fazla küresel Azure bölgesiyle müşteriler gerçek anlamda dünya çapında bir hiper ölçekli uygulama ayak izi hazırlar. Bu makalede kullanılan örnek uygulama için, tek bir Azure bölgesinde (App Service) üç farklı ortam Orta Güney ABD.
  • App Service Ortamları için adlandırma kuralı: Her App Service Ortamı benzersiz bir ad gerektirir. Bir veya iki App Service Ortamlar'ın ötesinde, her bir etkiyi tanımlamanıza yardımcı olacak bir adlandırma kuralına App Service Ortamı. Örnek uygulama için basit bir adlandırma kuralı kullanılmıştır. Ortamlar'ın üç App Service adları şudur: fe1ase, fe2ase ve fe3ase.
  • Uygulamalar için adlandırma kuralı: Uygulamanın birden çok örneği dağıtılacağından, dağıtılan uygulamanın her örneği için bir ad gerekir. App Service Ortamları'nın az bilinen ancak kullanışlı bir özelliği, aynı uygulama adının birden çok App Service kullanılabilir olmasıdır. Her App Service Ortamı benzersiz bir etki alanı soneki olduğu için, geliştiriciler her ortamda tam olarak aynı uygulama adını yeniden kullanabilir. Örneğin, bir geliştiricinin şu şekilde adlandırılmış uygulamaları olabilir: myapp.foo1.p.azurewebsites.net, myapp.foo2.p.azurewebsites.net, myapp.foo3.p.azurewebsites.net vb. Ancak örnek uygulama için her uygulama örneğinin de benzersiz bir adı olur. Kullanılan uygulama örneği adları webfrontend1, webfrontend2 ve webfrontend3'tir.

Traffic Manager Profilini Ayarlama

Bir uygulamanın birden çok örneği birden çok App Service Ortamda dağıtıldıktan sonra, tek tek uygulama örnekleri Traffic Manager. Örnek uygulama için, Traffic Manager dağıtılan scalable-ase-demo.trafficmanager.net örneklerine yönlendirebilecek bir uygulama profili gereklidir:

  • webfrontend1.fe1ase.p.azurewebsites.net: İlk sanal uygulamada dağıtılan örnek uygulamanın App Service Ortamı.
  • webfrontend2.fe2ase.p.azurewebsites.net: İkinci örnekte dağıtılan örnek uygulama örneği App Service Ortamı.
  • webfrontend3.fe3ase.p.azurewebsites.net: Üçüncü sanal uygulamada dağıtılan örnek uygulamanın App Service Ortamı.

Hepsi aynı Azure bölgesinde çalışan birden Azure App Service uç noktayı kaydetmenin en kolay yolu, PowerShell Azure Resource Manager Traffic Manager desteğidir.

İlk adım bir Azure Traffic Manager oluşturmaktır. Aşağıdaki kodda, profilin örnek uygulama için nasıl oluşturulmuş olduğu gösterilmiştir:

$profile = New-AzTrafficManagerProfile –Name scalableasedemo -ResourceGroupName yourRGNameHere -TrafficRoutingMethod Weighted -RelativeDnsName scalable-ase-demo -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"

RelativeDnsName parametresinin scalable-ase-demo olarak nasıl ayarlandı? Bu parametre, etki alanı adının scalable-ase-demo.trafficmanager.net ve bir etki alanı profiliyle ilişkilendiril Traffic Manager neden olur.

TrafficRoutingMethod parametresi, müşteri yükünün tüm kullanılabilir uç noktalara Traffic Manager için kullanabileceği yük dengeleme ilkesi tanımlar. Bu örnekte Ağırlıklı yöntem seçilmiştir. Bu seçim nedeniyle, müşteri istekleri her uç noktayla ilişkili göreli ağırlıklara göre tüm kayıtlı uygulama uç noktalarına yayılır.

Profil oluşturulduktan sonra, her uygulama örneği profile yerel Bir Azure uç noktası olarak eklenir. Aşağıdaki kod, her ön uç web uygulamasına bir başvuru getirir. Ardından TargetResourceId parametresi aracılığıyla Traffic Manager uç nokta olarak ekler.

$webapp1 = Get-AzWebApp -Name webfrontend1
Add-AzTrafficManagerEndpointConfig –EndpointName webfrontend1 –TrafficManagerProfile $profile –Type AzureEndpoints -TargetResourceId $webapp1.Id –EndpointStatus Enabled –Weight 10

$webapp2 = Get-AzWebApp -Name webfrontend2
Add-AzTrafficManagerEndpointConfig –EndpointName webfrontend2 –TrafficManagerProfile $profile –Type AzureEndpoints -TargetResourceId $webapp2.Id –EndpointStatus Enabled –Weight 10

$webapp3 = Get-AzWebApp -Name webfrontend3
Add-AzTrafficManagerEndpointConfig –EndpointName webfrontend3 –TrafficManagerProfile $profile –Type AzureEndpoints -TargetResourceId $webapp3.Id –EndpointStatus Enabled –Weight 10

Set-AzTrafficManagerProfile –TrafficManagerProfile $profile

Her bir uygulama örneği için Add-AzureTrafficManagerEndpointConfig çağrısının nasıl olduğuna dikkat edin. Her PowerShell komutunda TargetResourceId parametresi, dağıtılan üç uygulama örneğinden biri için başvurur. Traffic Manager profili, profilinde kayıtlı olan üç uç noktanın da yükünü yalıtır.

Üç uç noktanın hepsi Weight parametresi için aynı değeri (10) kullanır. Bu durum, müşteri Traffic Manager üç uygulama örneğine de görece olarak yayılmasıyla sonuç verir.

Uygulamanın etki alanına Custom Domain etki alanına Traffic Manager işaret ediyor

Gerekli son adım, uygulamanın özel etki alanını uygulamanın etki alanına Traffic Manager etmektir. Örnek uygulama için noktasına www.asabuludemo.com scalable-ase-demo.trafficmanager.net gelin. Özel etki alanını yöneten etki alanı kayıt şirketiyle bu adımı tamamla.

Kayıt şirketinizin etki alanı yönetim araçlarını kullanarak özel etki alanını etki alanına göre bir CNAME Traffic Manager gerekir. Aşağıdaki resimde bu CNAME yapılandırmasının nasıl göründüğünü gösteren bir örnek verilmiştir:

DNS'de CNAME kaydını yapılandırma ekran görüntüsü.

Bu konu başlığı altında yer alamasa da, her bir uygulama örneğinin özel etki alanının da buna kayıtlı olması gerektiğini unutmayın. Aksi takdirde, bir istek bunu bir uygulama örneğine yapar ve uygulama özel etki alanını uygulamaya eklememişse istek başarısız olur.

Bu örnekte, özel etki alanı olur www.asabuludemo.com ve her uygulama örneği ile ilişkilendirilmiş özel etki alanı vardır.

Özel etki App Service ayarının ekran görüntüsü.

Uygulama uygulamalarınızı kullanarak özel etki alanı Azure App Service için bkz. özel etki alanlarını kaydetme.

Dağıtılmış Topolojiyi Deniyorum

Dns yapılandırmasının Traffic Manager sonucu, için isteklerin aşağıdaki www.asabuludemo.com sırayla akacak olan sonucu olur:

  1. Bir tarayıcı veya cihaz DNS araması yapacak www.asabuludemo.com
  2. Etki alanı kayıt şirketinde CNAME girişi, DNS aramanın etki alanına yeniden yönlendirilmesine Azure Traffic Manager.
  3. Dns sunucuları için dns scalable-ase-demo.trafficmanager.net dns sunucularından Azure Traffic Manager yapılır.
  4. Daha önce TrafficRoutingMethod parametresinde belirtilen yük dengeleme ilkesine bağlı olarak Traffic Manager uç noktalardan birini seçer. Ardından bu uç noktanın FQDN'lerini tarayıcıya veya cihaza döndürür.
  5. Uç noktanın FQDN'si App Service Ortamı üzerinde çalışan bir uygulama örneğinin URL'si olduğu için tarayıcı veya cihaz, Microsoft Azure DNS sunucusundan FQDN'yi bir IP adresine çözümlemesini ister.
  6. Tarayıcı veya cihaz, HTTP/S isteğini IP adresine gönderir.
  7. İstek, App Service Ortamlarından biri üzerinde çalışan uygulama örneklerinden App Service gelir.

Aşağıdaki konsol resmi, örnek uygulamanın özel etki alanı için DNS aramasını gösterir. Bu çözüm, App Service Ortamları'nın üç örnek örneğinden biri üzerinde çalışan bir uygulama örneğine (bu örnekte, üç örnek ortam App Service çözümlemektedir):

DNS arama sonucu ekran görüntüsü.

PowerShell belgelerinde Azure Resource Manager Traffic Manager.

Not

Azure hesabı için kaydolmadan önce Azure App Service’i kullanmaya başlamak isterseniz, App Service’de hemen kısa süreli bir başlangıç web uygulaması oluşturabileceğiniz App Service’i Deneyin sayfasına gidin. Kredi kartı ve taahhüt gerekmez.