Azure Uygulaması Hizmeti (Web Apps) üzerinde Azure İyi Tasarlanmış Çerçeve perspektifi
Azure Uygulaması Hizmeti, iş yükünüzü Azure platformunda barındırmak için kullanabileceğiniz bir hizmet olarak platform (PaaS) işlem çözümüdür. Temel alınan işlemleri soyutlayan ve platform oluşturma, dağıtma ve ölçeklendirme sorumluluğunu boşaltan tam olarak yönetilen bir hizmettir. Bir uygulama hizmeti her zaman bir App Service planında çalışır. Seçtiğiniz hizmet planı, iş yükünün çalıştırıldığı bölgeyi, işlem yapılandırmalarını ve işletim sistemini belirler. App Service için birden çok faturalama modeli kullanılabilir.
Bu makalede, mimar olarak işlem karar ağacını gözden geçirip iş yükünüz için işlem olarak App Service'i seçtiğiniz varsayılır. Bu makaledeki kılavuz, Azure İyi Tasarlanmış Çerçeve yapı taşlarının ilkelerine eşlenen mimari öneriler sağlar.
Önemli
Bu kılavuzu kullanma
Her bölümün, teknoloji kapsamına göre yerelleştirilmiş tasarım stratejilerinin yanı sıra, mimari olarak ilgili alanları sunan bir tasarım denetim listesi vardır.
Bu stratejilerin gerçekleştirilmesine yardımcı olabilecek teknoloji özelliklerine ilişkin öneriler de dahildir. Öneriler, Azure Uygulaması Hizmeti'nin Web Apps özelliği ve bağımlılıkları için kullanılabilen tüm yapılandırmaların kapsamlı bir listesini temsil etmemektedir. Bunun yerine, tasarım perspektiflerine eşlenen önemli önerileri listeler. Kavram kanıtınızı oluşturmak veya mevcut ortamlarınızı iyileştirmek için önerileri kullanın.
Temel önerileri gösteren temel mimari: App Service temel mimarisi.
Teknoloji kapsamı
Bu gözden geçirme, aşağıdaki Azure kaynakları için birbiriyle ilişkili kararlara odaklanır:
- App Service planları
- Web Apps
Azure İşlevleri, Azure Logic Apps ve App Service Ortamı gibi diğer Azure teklifleri App Service ile ilişkilendirilir. Bu teklifler bu makalenin kapsamı dışındadır. App Service Ortamı, temel App Service tekliflerinin özelliklerini veya seçeneklerini netleştirmeye yardımcı olmak için zaman zaman başvurulur.
Güvenilirlik
Güvenilirlik sütununun amacı, yeterli dayanıklılık ve hatalardan hızlı kurtarma olanağı oluşturarak sürekli işlevsellik sağlamaktır.
Güvenilirlik tasarım ilkeleri, tek tek bileşenler, sistem akışları ve bir bütün olarak sistem için uygulanan üst düzey bir tasarım stratejisi sağlar.
Tasarım denetim listesi
Güvenilirlik için tasarım gözden geçirme denetim listesini temel alarak tasarım stratejinizi başlatın. App Service'in katmanlarını ve özelliklerini ve bağımlılıklarını göz önünde bulundurarak iş gereksinimlerinizle ilgili olup olmadığını belirleyin. Gerektiğinde daha fazla yaklaşım içerecek şekilde stratejiyi genişletin.
Kullanıcı akışlarının önceliklerini belirleme: Tüm akışlar eşit derecede kritik değildir. Tasarım kararlarınızı yönlendirmek için her akışa öncelikleri atayın. Kullanıcı akışı tasarımı, App Service planı ve yapılandırması için seçtiğiniz hizmet katmanlarını ve örnek sayısını etkileyebilir.
Örneğin, uygulamanız bir ileti aracısı aracılığıyla iletişim kuran ön uç ve arka uç katmanlarını içerebilir. Bağımsız ölçeklendirme, yaşam döngüsü yönetimi ve bakım için birden çok web uygulamasındaki katmanları segmentlere ayırmayı seçebilirsiniz. Büyük bir uygulamanın tek bir plana yerleştirilmesi bellek veya CPU sorunlarına yol açabilir ve güvenilirliği etkileyebilir.
Kullanıcı arabirimi tarafında en iyi performans için ön uçta daha fazla örneğe ihtiyacınız olabilir. Ancak arka uç aynı sayıda örnek gerektirmeyebilir.
Olası hataları tahmin etme: Olası hatalar için risk azaltma stratejilerini planlayın. Aşağıdaki tabloda hata modu analizi örnekleri gösterilmektedir.
Hata Risk azaltma Temel alınan veya soyutlanmış App Service bileşenlerinin başarısızlığı Örneklerde ve bağımlılıklarda bileşen yedekliliğine sahip olun. Örneklerin durumunu, ağ performansını ve depolama performansını izleyin. Dış bağımlılıkların başarısız olması Yeniden Deneme deseni ve Devre Kesici deseni gibi tasarım desenlerini kullanın. Dış bağımlılıkları izleyin ve uygun zaman aşımlarını ayarlayın. Trafiğin iyi durumda olmayan örneklere yönlendirilmiş olması nedeniyle hata Örnek durumunu izleyin. Yanıt verme hızını göz önünde bulundurun ve iyi durumda olmayan örneklere istek göndermekten kaçının. Daha fazla bilgi için bkz . Azure uygulamaları için hata modu analizi.
Yedeklilik oluşturma: Uygulamada ve destekleyici altyapıda yedeklilik oluşturun. Hataya dayanıklılığı geliştirmek için örnekleri kullanılabilirlik alanlarına yayma. Bir bölge başarısız olursa trafik diğer bölgelere yönlendirilir. Bir bölgenin tamamında kesinti yaşansa bile uygulamanızın kullanılabilir durumda kalmasını sağlamak için uygulamanızı birden çok bölgeye dağıtın.
Bağımlı hizmetlerde benzer yedeklilik düzeyleri oluşturun. Örneğin, uygulama örnekleri blob depolamaya bağlanır. Bir uygulama alanlar arası yedekli dağıtım kullanıyorsa, ilişkili depolama hesabını alanlar arası yedekli depolama (ZRS) ile yapılandırmayı göz önünde bulundurun.
Ağ bileşenlerinde yedekliliğe sahip olun. Örneğin, alanlar arası yedekli IP adreslerini ve yük dengeleyicileri kullanın.
Güvenilir bir ölçeklendirme stratejisine sahip olun: Bir uygulamadaki beklenmeyen yük onu güvenilir hale getiremez. İş yükü özelliklerinize göre doğru ölçeklendirme yaklaşımını göz önünde bulundurun. Bazen yükü işlemek için ölçeği artırabilirsiniz. Ancak yük artmaya devam ederse ölçeği yeni örneklere genişletin. El ile uygulanan yaklaşımlara göre otomatik ölçeklendirmeyi tercih edin. Performans düşüşü önlemek için ölçeklendirme işlemleri sırasında her zaman ek kapasite arabelleğine sahip olun.
Seçtiğiniz App Service planı katmanı, örnek sayısı ve işlem birimleri açısından ölçeklendirmeyi etkiler.
Yeni örneklerin hızla ısınması ve istekleri alabilmesi için uygun uygulama başlatmasını sağlayın.
Mümkün olduğunda durum bilgisi olmayan uygulamalar için çaba gösterin. Yeni örneklerle durumu güvenilir bir şekilde ölçeklendirmek karmaşıklığı artırabilir. Uygulama durumunu depolamanız gerekiyorsa bağımsız olarak ölçeklendirebileceğiniz bir dış veri deposu düşünün. Oturum durumunun bellekte depolanması, uygulama veya App Service ile ilgili bir sorun olduğunda oturum durumunun kaybolmasına neden olabilir. Ayrıca yükü diğer örneklere yayma olasılığını da sınırlar.
Otomatik ölçeklendirme kurallarınızı düzenli olarak test edin. Uygulamanızın beklendiği gibi ölçeklendirildiğini doğrulamak için yük senaryolarının simülasyonunu yapın. Ortaya çıkabilecek sorunları giderebilmeniz ve zaman içinde ölçeklendirme stratejinizi iyileştirebilmeniz için ölçeklendirme olaylarını günlüğe kaydetmeniz gerekir.
App Service'in bir plan içindeki örnek sayısıyla ilgili sınırlaması vardır ve bu da ölçeklendirme güvenilirliğini etkileyebilir. Stratejilerden biri, her biri kendi uç noktasıyla çalışan app service planı örneği olan aynı dağıtım damgalarını kullanmaktır. Trafiği bunlara dağıtmak için tüm damgaları harici yük dengeleyici ile öne getirmeniz önemlidir. Tek bölgeli dağıtımlar için Azure Uygulaması lication Gateway ve çok bölgeli dağıtımlar için Azure Front Door kullanın. Bu yaklaşım, güvenilirliğin kritik olduğu görev açısından kritik uygulamalar için idealdir. Daha fazla bilgi için bkz . App Service ile görev açısından kritik temel.
App Service planı, trafiği örnekler arasında dağıtır ve bunların durumunu izler. Dış yük dengeleyicinin bir örneğin başarısız olup olmadığını hemen algılamayabileceğini unutmayın.
Kurtarılabilirliğinizi planlama: Yedeklilik, iş sürekliliği açısından çok önemlidir. Bir örneğe ulaşılamıyorsa başka bir örneğe yük devretme. App Service'te örneklerin otomatik onarımı gibi otomatik iyileştirme özelliklerini keşfedin.
Hem ağ bağlantısı sorunları gibi geçici hatalar hem de bölgesel kesintiler gibi büyük ölçekli olaylar için düzgün düşüşü işlemek için tasarım desenleri uygulayın. Aşağıdaki tasarım desenlerini göz önünde bulundurun:
Bulkhead deseni , bir hatanın sistemin tamamını etkilemesini önlemek için uygulamanızı yalıtılmış gruplar halinde bölümlere ayırır.
Kuyruk Tabanlı Yük Dengeleme düzeni , trafik artışlarını düzeltmek için arabellek görevi görecek iş öğelerini kuyruğa alır.
Yeniden deneme düzeni ağ hataları, bırakılan veritabanı bağlantıları veya meşgul hizmetler nedeniyle geçici hataları işler.
Devre Kesici düzeni , uygulamanın başarısız olma olasılığı olan bir işlemi tekrar tekrar gerçekleştirmeye çalışmasını engeller.
Web uygulamalarınızda arka plan görevlerini çalıştırmak için Web İşleri'ni kullanabilirsiniz. Bu görevleri güvenilir bir şekilde çalıştırmak için, işinizi barındıran uygulamanın bir zamanlamaya göre veya olay temelli tetikleyicilere göre sürekli çalıştığından emin olun.
Daha fazla bilgi için bkz . Güvenilirlik desenleri.
Güvenilirlik testi gerçekleştirme: Yük altında uygulamanızın güvenilirliğini ve performansını değerlendirmek için yük testi gerçekleştirin. Test planları, otomatik kurtarma işlemlerinizi doğrulayan senaryolar içermelidir.
Hataları kasıtlı olarak tanıtmak ve kendi kendini iyileştirme ve kendini koruma mekanizmalarınızı doğrulamak için hata ekleme özelliğini kullanın. Azure Chaos Studio tarafından sağlanan hata kitaplığını keşfedin.
App Service barındırılan uygulamalara kaynak sınırları uygular. App Service planı bu sınırları belirler. Testlerinizin uygulamanın bu kaynak sınırları içinde çalıştığını onayladığına emin olun. Daha fazla bilgi için bkz. Azure aboneliği ile hizmet limitleri, kotalar ve kısıtlamalar.
Yanıt vermeyen çalışanları belirlemek için sistem durumu yoklamalarını kullanın: App Service'in web uygulamanızın belirli bir yoluna düzenli aralıklarla ping işlemi gerçekleştirebilen yerleşik özellikleri vardır. Yanıt vermeyen örnekler yük dengeleyiciden kaldırılır ve yeni bir örnekle değiştirilir.
Öneriler
Öneri | Avantaj |
---|---|
(App Service planı) Üretim iş yükleri için App Service planının Premium katmanını seçin. Kapasite planlamanıza göre en fazla ve en az çalışan sayısını ayarlayın. Daha fazla bilgi için bkz . App Service planına genel bakış. |
Premium App Service planı gelişmiş ölçeklendirme özellikleri sunar ve hata oluşması durumunda yedeklilik sağlar. |
(App Service planı) Alanlar arası yedekliliği etkinleştirin. Hataya dayanıklılığı artırmak için üçten fazla örnek sağlamayı göz önünde bulundurun. Bölge yedekliliği için bölgesel desteği denetleyin çünkü tüm bölgeler bu özelliği sunmaz. |
Birden çok örnek bölgelere yayıldığında uygulamanız tek bir bölgedeki hatalara dayanabilir. Trafik otomatik olarak diğer bölgelerdeki iyi durumdaki örneklere geçer ve bir bölge kullanılamıyorsa uygulama güvenilirliğini korur. |
(App Service) Uygulama isteği yönlendirme (ARR) benzinim özelliğini devre dışı bırakmayı göz önünde bulundurun. ARR benzimliği, kullanıcıları önceki isteklerini işleyen düğüme yönlendiren yapışkan oturumlar oluşturur. | ARR benzimi devre dışı bırakıldığında gelen istekler tüm kullanılabilir düğümlere eşit olarak dağıtılır. Eşit dağıtılmış istekler, trafiğin tek bir düğümü bunaltmasını önler. Bir düğüm kullanılamıyorsa istekler diğer iyi durumdaki düğümlere sorunsuz bir şekilde yeniden yönlendirilebilir. App Service örneğinizin durum bilgisi olmadığından emin olmak için oturum benceliğinden kaçının. Durum bilgisi olmayan App Service karmaşıklığı azaltır ve düğümler arasında tutarlı davranış sağlar. App Service'in yatay ölçeklendirme için örnekler ekleyebilmesi veya kaldırabilmesi için yapışkan oturumları kaldırın. |
(App Service) İstek sayısına, yavaş isteklere, bellek sınırlarına ve performans temelinizin parçası olan diğer göstergelere göre otomatik düzeltme kuralları tanımlayın. Bu yapılandırmayı ölçeklendirme stratejinizin bir parçası olarak düşünün. | Otomatik düzeltme kuralları, uygulamanızın beklenmeyen sorunlardan otomatik olarak kurtarılmasında yardımcı olur. Yapılandırılan kurallar, eşikler ihlal edildiğinde düzeltme eylemlerini tetikler. Otomatik iyileştirme, otomatik proaktif bakım sağlar. |
(App Service) Sistem durumu denetimi özelliğini etkinleştirin ve sistem durumu denetimi isteklerine yanıt veren bir yol sağlayın. | Sistem durumu denetimleri sorunları erken algılayabilir. Daha sonra sistem durumu denetimi isteği başarısız olduğunda sistem otomatik olarak düzeltici eylemler gerçekleştirebilir. Yük dengeleyici, trafiği iyi durumda olmayan örneklerden uzaklaştırır ve bu da kullanıcıları iyi durumdaki düğümlere yönlendirir. |
Güvenlik
Güvenlik sütununun amacı iş yüküne gizlilik, bütünlük ve kullanılabilirlik garantileri sağlamaktır.
Güvenlik tasarımı ilkeleri, App Service'te barındırma ile ilgili teknik tasarıma yaklaşımlar uygulayarak bu hedeflere ulaşmak için üst düzey bir tasarım stratejisi sağlar.
Tasarım denetim listesi
Güvenlik için tasarım gözden geçirme denetim listesini temel alarak tasarım stratejinizi başlatın ve güvenlik duruşunu geliştirmek için güvenlik açıklarını ve denetimleri belirleyin. Gerektiğinde daha fazla yaklaşım içerecek şekilde stratejiyi genişletin.
Güvenlik temellerini gözden geçirme: Bir App Service planında barındırılan uygulamanızın güvenlik duruşunu geliştirmek için App Service için güvenlik temelini gözden geçirin.
En son çalışma zamanını ve kitaplıkları kullanın: Sorunları erken yakalamak ve yeni sürüme sorunsuz bir geçiş sağlamak için güncelleştirmeleri gerçekleştirmeden önce uygulamanızın derlemelerini kapsamlı bir şekilde test edin. App Service, mevcut yığınları güncelleştirmek ve destek sonu yığınlarını devre dışı yüklemek için dil çalışma zamanı destek ilkesini destekler.
İhlal içermesi için yalıtım sınırları üzerinden segmentasyon oluşturma: Kimlik segmentasyonu uygulama. Örneğin, rollere dayalı belirli izinler atamak için rol tabanlı erişim denetimi (RBAC) uygulayın. Erişim haklarını yalnızca gerekli olanla sınırlamak için en az ayrıcalık ilkesini izleyin. Ayrıca ağ düzeyinde segmentasyon da oluşturun. Yalıtım için Bir Azure sanal ağına App Service uygulamaları ekleme ve trafiği filtrelemek için ağ güvenlik grupları (NSG) tanımlama.
App Service planları, yüksek düzeyde yalıtım sağlayan App Service Ortamı katmanını sunar. App Service Ortamı ile ayrılmış işlem ve ağ iletişimi elde edersiniz.
Kimliklere erişim denetimleri uygulama: Hem web uygulamasına hem de web uygulamasından diğer kaynaklara dışarı erişimi kısıtlayın. Bu yapılandırma kimliklere erişim denetimleri uygular ve iş yükünün genel güvenlik duruşunun korunmasına yardımcı olur.
Tüm kimlik doğrulaması ve yetkilendirme gereksinimleri için Microsoft Entra Id kullanın. Web Planı Katkıda Bulunanı, Web Sitesi Katkıda Bulunanı ve genel Katkıda Bulunan, Okuyucu ve Sahip gibi yerleşik rolleri kullanın.
Uygulamaya gelen ve uygulamadan gelen ağ trafiğini denetleme: Uygulama uç noktalarını genel İnternet'te kullanıma sunma. Bunun yerine, web uygulamasına ayrılmış bir alt ağa yerleştirilmiş özel bir uç nokta ekleyin. Uygulamanızın önüne, bu özel uç noktayla iletişim kuran bir ters ara sunucu kullanın. Bu amaçla Application Gateway veya Azure Front Door kullanmayı göz önünde bulundurun.
Yaygın güvenlik açıklarına karşı koruma sağlamak için bir web uygulaması güvenlik duvarı (WAF) dağıtın. Hem Application Gateway hem de Azure Front Door tümleşik WAF özelliklerine sahiptir.
İstenen güvenlik ve denetim düzeyine ulaşmak için ters ara sunucu kurallarını ve ağ ayarlarını uygun şekilde yapılandırın. Örneğin, yalnızca ters ara sunucudan gelen trafiği kabul etmek için özel uç nokta alt ağına NSG kuralları ekleyin.
Uygulamadan diğer PaaS hizmetlerine çıkış trafiği özel uç noktalar üzerinden olmalıdır. Çıkış trafiğini genel İnternet'e kısıtlamak için bir güvenlik duvarı bileşeni yerleştirmeyi göz önünde bulundurun. Her iki yaklaşım da veri sızdırmayı engeller.
Kapsamlı bir görünüm için bkz . App Service ağ özellikleri.
Verileri şifreleme: Uçtan uca Aktarım Katmanı Güvenliği (TLS) ile aktarımdaki verileri koruyun. Bekleyen verilerin tam şifrelemesi için müşteri tarafından yönetilen anahtarlarınızı kullanın. Daha fazla bilgi için bkz . Müşteri tarafından yönetilen anahtarları kullanarak bekleyen şifreleme.
TLS 1.0 ve 1.1 gibi eski protokolleri kullanmayın. App Service varsayılan olarak 1.2'ye olanak tanır. Daha fazla bilgi için bkz . App Service TLS'ye genel bakış.
App Service'inizin tüm örneklerinin varsayılan etki alanı adı vardır. Özel bir etki alanı kullanın ve sertifikalarla bu etki alanının güvenliğini sağlayın.
Saldırı yüzeyini azaltın: İhtiyacınız olmayan varsayılan yapılandırmaları kaldırın. Örneğin, uzaktan hata ayıklamayı, Kaynak Denetim Yöneticisi (SCM) siteleri için yerel kimlik doğrulamasını ve temel kimlik doğrulamasını devre dışı bırakın. HTTP ve Dosya Aktarım Protokolü (FTP) gibi güvenli olmayan protokolleri devre dışı bırakın. Azure ilkeleri aracılığıyla yapılandırmaları zorunlu kılma. Daha fazla bilgi için bkz . Azure ilkeleri.
Kısıtlayıcı çıkış noktaları arası kaynak paylaşımı (CORS) ilkeleri uygulama: Web uygulamanızda kısıtlayıcı CORS ilkelerini kullanarak yalnızca izin verilen etki alanlarından, üst bilgilerden ve diğer ölçütlerden gelen istekleri kabul edin. Yerleşik Azure ilke tanımlarıyla CORS ilkelerini zorunlu kılma.
Uygulama gizli dizilerini koruma: API anahtarları veya kimlik doğrulama belirteçleri gibi hassas bilgileri işlemeniz gerekir. Bu gizli dizileri doğrudan uygulama kodunuz veya yapılandırma dosyalarınıza sabit kodlamak yerine, uygulama ayarlarında Azure Key Vault başvurularını kullanabilirsiniz. Uygulama başlatıldığında App Service, uygulamanın yönetilen kimliğini kullanarak Key Vault'tan gizli dizi değerlerini otomatik olarak alır.
Uygulamanız için kaynak günlüklerini etkinleştirme: Güvenlik olaylarını izleyen araştırmalarda değerli veriler sağlayan kapsamlı etkinlik izleri oluşturmak üzere uygulamanız için kaynak günlüklerini etkinleştirin.
Tehditleri değerlendirirken tehdit modelleme işleminizin bir parçası olarak günlüğe kaydetmeyi göz önünde bulundurun.
Öneriler
Öneri | Avantaj |
---|---|
(App Service) Yönetilen kimlikleri web uygulamasına atayın. Yalıtım sınırlarını korumak için kimlikleri uygulamalar arasında paylaşmayın veya yeniden kullanmayın. Dağıtımınız için kapsayıcılar kullanıyorsanız kapsayıcı kayıt defterinize güvenli bir şekilde bağlandığınızdan emin olun. |
Uygulama, uygulamadan giden iletişimin kimliğini doğrulamak için Key Vault'tan gizli dizileri alır. Azure, kimliği yönetir ve gizli dizileri sağlamanızı veya döndürmenizi gerektirmez. Denetimin ayrıntı düzeyi için farklı kimlikleriniz vardır. Ayrı kimlikler, bir kimliğin gizliliği tehlikeye atılırsa iptali kolaylaştırır. |
(App Service) Uygulamalar için özel etki alanlarını yapılandırın. HTTP'yi devre dışı bırakın ve yalnızca HTTPS isteklerini kabul edin. |
Özel etki alanları, hassas verilerin korunmasını sağlayan ve kullanıcı güveni oluşturan Aktarım Katmanı Güvenliği (TLS) protokolünün kullanıldığı HTTPS aracılığıyla güvenli iletişim sağlar. |
(App Service), Uygulama Hizmeti yerleşik kimlik doğrulamasının uygulamanıza erişen kullanıcıların kimliğini doğrulamak için doğru mekanizma olup olmadığını değerlendirme. App Service yerleşik kimlik doğrulaması, Microsoft Entra Id ile tümleşir. Bu özellik, birden çok oturum açma sağlayıcısında belirteç doğrulama ve kullanıcı kimliği yönetimini işler ve OpenID Bağlan destekler. Bu özellik sayesinde, ayrıntılı düzeyde yetkilendirmeniz yoktur ve kimlik doğrulamasını test etmek için bir mekanizmanız yoktur. | Bu özelliği kullandığınızda, uygulama kodunda kimlik doğrulama kitaplıklarını kullanmanız gerekmez ve bu da karmaşıklığı azaltır. Bir istek uygulamaya ulaştığında kullanıcının kimliği zaten doğrulanır. |
(App Service) Uygulamayı sanal ağ tümleştirmesi için yapılandırın. App Service uygulamaları için özel uç noktaları kullanın. Tüm genel trafiği engelleyin. Kapsayıcı görüntüsü çekme işlemini sanal ağ tümleştirmesi üzerinden yönlendirin. Uygulamadan giden tüm trafik sanal ağdan geçer. |
Azure sanal ağı kullanmanın güvenlik avantajlarından yararlanın. Örneğin, uygulama ağ içindeki kaynaklara güvenli bir şekilde erişebilir. Uygulamanızı korumaya yardımcı olmak için özel bir uç nokta ekleyin. Özel uç noktalar, genel ağa doğrudan maruz kalma durumunu sınırlar ve ters ara sunucu üzerinden denetimli erişime izin verir. |
(App Service) Sağlamlaştırma uygulamak için: - Microsoft Entra ID tabanlı kimlik doğrulaması yerine kullanıcı adı ve parola kullanan temel kimlik doğrulamasını devre dışı bırakın. - Gelen bağlantı noktalarının açılmaması için uzaktan hata ayıklamayı kapatın. - Gelen istekleri sıklaştırmak için CORS ilkelerini etkinleştirin. - FTP gibi protokolleri devre dışı bırakın. |
Temel kimlik doğrulamayı güvenli bir dağıtım yöntemi olarak önermeyiz. Microsoft Entra ID, temel kimlik doğrulamasıyla ilişkili sınırlamaları ele alan birçok avantaj ve geliştirme sunan OAuth 2.0 belirteç tabanlı kimlik doğrulamasını kullanır. İlkeler uygulama kaynaklarına erişimi kısıtlar, yalnızca belirli etki alanlarından gelen isteklere izin verir ve bölgeler arası isteklerin güvenliğini sağlar. |
(App Service) Key Vault başvurularını her zaman uygulama ayarları olarak kullanın. |
Gizli diziler, uygulamanızın yapılandırmasından ayrı tutulur. Uygulama ayarları bekleme sırasında şifrelenir. App Service gizli dizi döndürmelerini de yönetir. |
(App Service planı) App Service için Bulut için Microsoft Defender etkinleştirin. | App Service planında çalışan kaynaklar için gerçek zamanlı koruma elde edin. Tehditlere karşı koruma sağlayın ve genel güvenlik duruşunuzu geliştirin. |
(App Service planı) Tanılama günlüğünü etkinleştirin ve uygulamanıza izleme ekleyin. Günlükler Azure Depolama hesaplarına, Azure Event Hubs'a ve Log Analytics'e gönderilir. Denetim günlüğü türleri hakkında daha fazla bilgi için bkz . Desteklenen günlük türleri. | Günlüğe kaydetme, erişim desenlerini yakalar. Kullanıcıların bir uygulama veya platformla nasıl etkileşim kurduğunu gösteren değerli içgörüler sağlayan ilgili olayları kaydeder. Bu bilgiler sorumluluk, uyumluluk ve güvenlik amaçları açısından çok önemlidir. |
Maliyet İyileştirmesi
Maliyet İyileştirme, harcama düzenlerini algılamaya, kritik alanlardaki yatırımlara öncelik vermeye ve diğer kullanıcılarda kuruluşun bütçesini karşılayacak şekilde iyileştirmeye ve iş gereksinimlerini karşılamaya odaklanır.
Maliyet İyileştirme tasarım ilkeleri, bu hedeflere ulaşmak ve web uygulamalarınızla ve bunların çalıştırıldığı ortamla ilgili teknik tasarımda gerekli olan dengeleri sağlamak için üst düzey bir tasarım stratejisi sağlar.
Tasarım denetim listesi
Yatırımlar için Maliyet İyileştirme için tasarım gözden geçirme denetim listesini temel alarak tasarım stratejinizi başlatın ve iş yükünün iş yükü için ayrılan bütçeyle uyumlu hale getirilmesi için tasarımda ince ayar yapın. Tasarımınız doğru Azure özelliklerini kullanmalı, yatırımları izlemeli ve zaman içinde iyileştirme fırsatları bulmalıdır.
İlk maliyeti tahmin etme: Maliyet modelleme alıştırmanızın bir parçası olarak, çalıştırmayı planladığınız örnek sayısına göre çeşitli katmanlarla ilişkili yaklaşık maliyetleri değerlendirmek için Azure fiyatlandırma hesaplayıcısını kullanın. Her App Service katmanı farklı işlem seçenekleri sunar.
Harcamaları izlemek için maliyet modelini sürekli izleyin.
İndirimli seçenekleri değerlendirin: Daha yüksek katmanlar ayrılmış işlem örnekleri içerir. İş yükünüz tahmin edilebilir ve tutarlı bir kullanım düzenine sahipse rezervasyon indirimi uygulayabilirsiniz. İş yükünüz için uygun rezervasyon türünü belirlemek için kullanım verilerini çözümlediğinizden emin olun. Daha fazla bilgi için bkz . App Service ayrılmış örnekleriyle maliyet tasarrufu yapma.
Kullanım ölçümlerini anlama: Azure, App Service planınızın fiyatlandırma katmanına göre ikinciye eşit olarak eşit olarak saatlik ücretlendirilir. Ücretler, VM örneğini ayırdığınız zamana bağlı olarak planınızdaki her ölçeklendirilen örneğe uygulanır. Yetersiz SKU seçimi veya kötü yapılandırılmış ölçeklendirme yapılandırması nedeniyle fazla yükleme sonucunda maliyetlerinizi artırabilecek az kullanılan işlem kaynaklarına dikkat edin.
Özel etki alanı kaydı ve özel sertifikalar gibi ek App Service özellikleri maliyet ekleyebilir. Çözümünüzü yalıtmak için sanal ağlar veya iş yükü gizli dizilerini korumak için anahtar kasaları gibi App Service kaynaklarınızla tümleşen diğer kaynaklar da maliyet ekleyebilir. Daha fazla bilgi için bkz . App Services faturalama modeli.
Yoğunluk ve yalıtım arasındaki dengeleri göz önünde bulundurun: App Service planlarını kullanarak aynı işlemde birden çok uygulama barındırabilir ve bu da paylaşılan ortamlarla maliyet tasarrufu sağlar. Daha fazla bilgi için bkz . Tradeoffs.
Ölçeklendirme stratejinizin maliyet üzerindeki etkisini değerlendirme: Otomatik ölçeklendirmeyi uygularken ölçeği genişletme ve ölçeklendirme için uygun şekilde tasarlamanız, test etmeniz ve yapılandırmanız gerekir. Otomatik ölçeklendirmede kesin maksimum ve minimum sınırlar oluşturun.
Uygulamayı güvenilir ölçeklendirme için proaktif olarak başlatın. Örneğin, CPU kullanımı %95'e ulaşana kadar beklemeyin. Bunun yerine, ölçeklendirme işlemi sırasında yeni örneklerin ayrılması ve başlatılması için yeterli süre sağlamak için yaklaşık %65 oranında ölçeklendirmeyi tetikleyin. Ancak bu strateji kullanılmayan kapasiteye yol açabilir.
Ölçeği artırma ve genişletme mekanizmalarını birleştirmenizi ve dengelemenizi öneririz. Örneğin, bir uygulamanın ölçeği bir süre artırılabilir ve gerektiğinde ölçeği genişletilebilir. Büyük kapasite ve verimli kaynak kullanımı sunan yüksek katmanları keşfedin. Kullanım düzenlerine bağlı olarak, daha yüksek Premium katmanları genellikle daha uygun maliyetlidir çünkü daha yeteneklidir.
Ortam maliyetlerini iyileştirme: Üretim öncesi ortamları çalıştırmak için Temel veya Ücretsiz katmanını göz önünde bulundurun. Bu katmanlar düşük performans ve düşük maliyetlidir. Temel veya Ücretsiz katmanı kullanıyorsanız, katmanı zorunlu kılmak, örnek ve CPU sayısını kısıtlamak, ölçeklendirmeyi kısıtlamak ve günlük saklamayı sınırlamak için idareyi kullanın.
Tasarım desenlerini uygulama: Bu strateji, iş yükünüzün oluşturduğu istek hacmini azaltır. İstek sayısını en aza indirebilen ve maliyetleri azaltabilen Ön Uçlar için Arka Uçlar deseni ve Ağ Geçidi Toplama düzeni gibi desenleri kullanmayı göz önünde bulundurun.
Verilerle ilgili maliyetleri düzenli olarak denetleme: Genişletilmiş veri saklama süreleri veya pahalı depolama katmanları yüksek depolama maliyetlerine yol açabilir. Hem bant genişliği kullanımı hem de günlüğe kaydetme verilerinin uzun süre saklanması nedeniyle daha fazla gider birikebilir.
Veri aktarımı maliyetlerini en aza indirmek için önbelleğe almayı göz önünde bulundurun. Yerel bellek içi önbelleğe alma ile başlayın ve ardından arka uç veritabanına yönelik istek sayısını azaltmak için dağıtılmış önbelleğe alma seçeneklerini keşfedin. Veritabanınız farklı bir bölgede bulunuyorsa bölgeler arası iletişimle ilişkili bant genişliği trafik maliyetlerini göz önünde bulundurun.
Dağıtım maliyetlerini iyileştirme: Maliyetleri iyileştirmek için dağıtım yuvalarından yararlanın. Yuva, üretim örneğiyle aynı işlem ortamında çalışır. Yuvalar arasında geçiş yapılan mavi-yeşil dağıtımlar gibi senaryolar için bunları stratejik olarak kullanın. Bu yaklaşım kapalı kalma süresini en aza indirir ve sorunsuz geçişler sağlar.
Dağıtım yuvalarını dikkatli kullanın. Hem mevcut örnekleri hem de yeni örnekleri etkileyebilecek özel durumlar veya bellek sızıntıları gibi sorunlar oluşturabilirsiniz. Değişiklikleri kapsamlı bir şekilde test ettiğinizden emin olun. Operasyonel rehberlik için bkz . Operasyonel Mükemmellik.
Öneriler
Öneri | Avantaj |
---|---|
(App Service planı) Düşük ortamlar için Ücretsiz veya Temel katmanlar'ı seçin. Bu katmanları deneysel kullanım için öneririz. Artık ihtiyacınız kalmadığında katmanları kaldırın. | Ücretsiz ve Temel katmanlar, daha yüksek katmanlara kıyasla bütçe dostudur. Premium planların tüm özelliklerine ve performansına ihtiyaç duymayan üretim dışı ortamlar için uygun maliyetli bir çözüm sunar. |
(App Service planı) İndirimlerden yararlanın ve aşağıdakiler için tercih edilen fiyatlandırmayı keşfedin: - Geliştirme/test planlarıyla daha düşük ortamlar. - Premium V3 katmanında ve App Service Ortamı sağladığınız ayrılmış işlem için Azure rezervasyonları ve Azure tasarruf planları. Öngörülebilir kullanım desenlerine sahip kararlı iş yükleri için ayrılmış örnekleri kullanın. |
Geliştirme/test planları, Azure hizmetleri için daha düşük hızlar sağlar ve bu da üretim dışı ortamlar için uygun maliyetli olmasını sağlar. İşlem kaynakları için ön ödeme yapmak ve önemli indirimler almak için ayrılmış örnekleri kullanın. |
(App Service) App Service kaynaklarının tahakkuk eden maliyetlerini izleyin. Azure portalında maliyet analizi aracını çalıştırın. Paydaşları bilgilendirmek için bütçeler ve uyarılar oluşturun. |
Maliyet artışlarını, verimsizlikleri veya beklenmeyen giderleri erken saatlerde belirleyebilirsiniz. Bu proaktif yaklaşım, fazla harcamayı önlemek için bütçe denetimleri sağlamanıza yardımcı olur. |
(App Service planı) Talep azaldığında ölçeği daraltın. Ölçeği daraltmak için, Azure İzleyici'deki örnek sayısını azaltmak için ölçek kuralları tanımlayın. | Wastage'ı önleyin ve gereksiz giderleri azaltın. |
Operasyonel Mükemmellik
Operasyonel Mükemmellik öncelikli olarak geliştirme uygulamaları, gözlemlenebilirlik ve yayın yönetimi yordamlarına odaklanır.
Operasyonel Mükemmellik tasarım ilkeleri, iş yükünün operasyonel gereksinimlerine yönelik bu hedeflere ulaşmak için üst düzey bir tasarım stratejisi sağlar.
Tasarım denetim listesi
Web Apps ile ilgili gözlemlenebilirlik, test ve dağıtım süreçlerini tanımlamaya yönelik Operasyonel Mükemmellik için tasarım gözden geçirme denetim listesini temel alarak tasarım stratejinizi başlatın.
Yayınları yönetme: Yayınları etkili bir şekilde yönetmek için dağıtım yuvalarını kullanın. Uygulamanızı bir yuvaya dağıtabilir, test yapabilir ve işlevselliğini doğrulayabilirsiniz. Doğrulamadan sonra uygulamayı sorunsuz bir şekilde üretim ortamına taşıyabilirsiniz. Yuva, üretim örneğiyle aynı sanal makine (VM) ortamında çalıştığından bu işlem ek maliyet doğurmuyor.
Otomatikleştirilmiş testler çalıştırma: Web uygulamanızın bir sürümünü yükseltmeden önce performansını, işlevselliğini ve diğer bileşenlerle tümleştirmesini kapsamlı bir şekilde test edin. Performans testi için popüler bir araç olan Apache JMeter ile tümleşen Azure Load Testing'i kullanın. İşlevsel test için Phantom gibi diğer test türlerine yönelik otomatik araçları keşfedin.
Sabit birimleri dağıtma: App Service'i sabit bir damgaya bölmek için Dağıtım Damga Damgaları desenini uygulayın. App Service, doğası gereği sabit olan kapsayıcıların kullanımını destekler. App Service web uygulamanız için özel kapsayıcıları göz önünde bulundurun.
Her damga, ölçeği hızla genişletebileceğiniz veya ölçeklendirebileceğiniz bağımsız bir birimi temsil eder. Bu damgayı temel alan birimler geçici ve durum bilgisi olmayan birimlerdir. Durum bilgisi olmayan tasarım, işlemleri ve bakımı basitleştirir. Bu yaklaşım, görev açısından kritik uygulamalar için idealdir. Örnek için bkz . App Service ile görev açısından kritik temel.
Birimleri yinelenebilirlik ve tutarlılık ile damgalama amacıyla Bicep gibi bir kod olarak altyapı (IaC) teknolojisi kullanın.
Üretim ortamlarını güvende tutun: Üretim ve üretim öncesi ortamları çalıştırmak için ayrı App Service planları oluşturun. Kararlılığı ve güvenilirliği sağlamak için doğrudan üretim ortamında değişiklik yapmayın. Ayrı örnekler, değişiklikleri üretime yükseltmeden önce geliştirme ve test etme esnekliği sağlar.
Yeni özellikleri ve yapılandırmaları yalıtılmış bir şekilde keşfetmek için düşük ortamları kullanın. Geliştirme ve test ortamlarını kısa ömürlü tutun.
Sertifikaları yönetme: Özel etki alanları için TLS sertifikalarını yönetmeniz gerekir.
Sertifikaları temin etmek, yenilemek ve doğrulamak için süreçlere sahip olun. Mümkünse bu işlemleri App Service'e boşaltabilirsiniz. Kendi sertifikanızı kullanıyorsanız yenilemeyi yönetmeniz gerekir. Güvenlik gereksinimlerinize en uygun yaklaşımı seçin.
Öneri | Avantaj |
---|---|
(App Service) Örneklerinizin durumunu izleyin ve örnek durumu yoklamalarını etkinleştirin. Durum yoklaması isteklerini işlemek için belirli bir yol ayarlayın. |
Sorunları hemen algılayabilir ve kullanılabilirliği ve performansı korumak için gerekli eylemleri gerçekleştirebilirsiniz. |
(App Service) Uygulama ve örnek için tanılama günlüklerini etkinleştirin. Sık günlüğe kaydetme, sistemin performansını yavaşlatabilir, depolama maliyetlerine ekleme yapabilir ve günlüklere güvenli olmayan erişiminiz varsa risk oluşturabilir. Şu en iyi yöntemleri izleyin: - Doğru bilgi düzeyini günlüğe kaydetme. - Bekletme ilkelerini ayarlayın. - Yetkili erişim ve yetkisiz girişimlerin denetim kaydını tutun. - Günlükleri veri olarak değerlendirin ve veri koruma denetimleri uygulayın. |
Tanılama günlükleri, uygulamanızın davranışı hakkında değerli içgörüler sağlar. Trafik desenlerini izleyin ve anomalileri belirleyin. |
(App Service) Sertifika yönetimini Azure'a boşaltmak için App Service tarafından yönetilen sertifikalardan yararlanın. | App Service sertifika tedariki, sertifika doğrulaması, sertifika yenileme ve Key Vault'tan sertifika içeri aktarma gibi işlemleri otomatik olarak işler. Alternatif olarak, sertifikanızı Key Vault'a yükleyin ve App Service kaynak sağlayıcısına erişim yetkisi verin. |
(App Service planı) Üretim yuvasıyla değiştirmeden önce hazırlama yuvasındaki uygulama değişikliklerini doğrulayın. | Kapalı kalma süresinden ve hatalardan kaçının. Değiştirme işleminden sonra bir sorun algılarsanız, hızla bilinen son iyi duruma geri dönebilirsiniz. |
Performans Verimliliği
Performans Verimliliği, kapasiteyi yöneterek yükte artış olduğunda bile kullanıcı deneyimini korumakla ilgilidir. Strateji kaynakları ölçeklendirmeyi, olası performans sorunlarını tanımlamayı ve iyileştirmeyi ve en yüksek performans için iyileştirmeyi içerir.
Performans Verimliliği tasarım ilkeleri, beklenen kullanıma karşı bu kapasite hedeflerine ulaşmak için üst düzey bir tasarım stratejisi sağlar.
Tasarım denetim listesi
Web Apps için temel performans göstergelerini temel alan bir temel tanımlamaya yönelik Performans Verimliliği için tasarım gözden geçirme denetim listesini temel alarak tasarım stratejinizi başlatın.
Performans göstergelerini tanımlama ve izleme: Gelen isteklerin hacmi, uygulamanın isteklere yanıt vermesi için gereken süre, bekleyen istekler ve HTTP yanıtlarındaki hatalar gibi uygulama için temel göstergelerin hedeflerini ayarlayın. İş yükü için performans temelinin bir parçası olarak temel göstergeleri göz önünde bulundurun.
Performans göstergelerinin temelini oluşturan App Service ölçümlerini yakalayın. Kaynak kullanımı ve etkinlikleri hakkında içgörüler elde etmek için günlükleri toplayın. Uygulamadan performans verilerini toplamak ve analiz etmek için Uygulama Analizler gibi uygulama performansı izleme (APM) araçlarını kullanın. Daha fazla bilgi için bkz . App Service izleme verileri başvurusu.
Kod düzeyi izleme, işlem izleme ve performans profili oluşturma bilgilerini ekleyin.
Kapasiteyi değerlendirme: Beklenen trafiği işlemek için ihtiyacınız olan en uygun kapasiteyi belirlemek için çeşitli kullanıcı senaryolarının simülasyonunu alın. Uygulamanızın farklı yük düzeyleri altında nasıl davrandığını anlamak için Yük Testi'ni kullanın.
Doğru katmanı seçin: Üretim iş yükleri için ayrılmış işlem kullanın. Premium katmanlar daha fazla bellek ve CPU kapasitesi, daha fazla örnek ve alanlar arası yedeklilik gibi daha fazla özelliğe sahip daha büyük SKU'lar sunar. Daha fazla bilgi için bkz . Premium V3 fiyatlandırma katmanı.
Ölçeklendirme stratejinizi iyileştirin: Mümkün olduğunda, uygulama yükü değiştikçe örnek sayısını el ile ayarlamak yerine otomatik ölçeklendirmeyi kullanın. App Service, otomatik ölçeklendirme ile sunucu kapasitesini önceden tanımlanmış kurallara veya tetikleyicilere göre ayarlar. Yeterli performans testi yaptığınızdan ve doğru tetikleyiciler için doğru kuralları ayarladığınızdan emin olun.
İlk kurulum sırasında basitliğe öncelik verirseniz, kuralları tanımlamanızı gerektirmeyen ve yalnızca sınırları ayarlamanız gereken bir otomatik ölçeklendirme seçeneği kullanın.
En iyi performansı elde etmek için yeterli kaynağı hazır bulundurun. Yanıt süresi veya aktarım hızı gibi performans hedeflerini korumak için kaynakları uygun şekilde ayırın. Gerektiğinde kaynakların fazla yüklemesini göz önünde bulundurun.
Otomatik ölçeklendirme kurallarını tanımlarken, uygulamanızın başlatılması için geçen süreyi hesaba katmanız gerekir. Tüm ölçeklendirme kararlarını alırken bu ek yükü göz önünde bulundurun.
Önbelleğe almayı kullanma: Sık değişmeyen ve erişimi pahalı olan bir kaynaktan bilgi almak performansı etkiler. Birleştirmeler ve birden çok arama dahil olmak üzere karmaşık sorgular çalışma zamanına katkıda bulunur. İşleme süresini ve gecikme süresini en aza indirmek için önbelleğe alma gerçekleştirin. Veritabanına veya arka uca tekrarlanan gidiş dönüşleri önlemek ve sonraki istekler için işlem süresini kısaltmak için sorgu sonuçlarını önbelleğe alın.
İş yükünde yerel ve dağıtılmış önbellek kullanma hakkında daha fazla bilgi için bkz. Önbelleğe Alma.
Performans kötü modellerini gözden geçirin: Web uygulamasının iş gereksinimlerinize uygun şekilde performans gösterdiğinden ve ölçeklendirildiğinden emin olmak için tipik kötü modellerden kaçının. App Service'in düzeltmiş olduğu bazı kötü amaçlı öğeler aşağıdadır.
Kötü Model Açıklama Meşgul Ön Uç Yoğun kaynak kullanımlı görevler, kullanıcı isteklerinin yanıt sürelerini artırabilir ve yüksek gecikme sürelerine neden olabilir.
Önemli miktarda kaynak kullanan işlemleri ayrı bir arka uca taşıyın. Arka ucun zaman uyumsuz olarak işlemek üzere seçtiği yoğun kaynak kullanan görevleri kuyruğa almak için bir ileti aracısı kullanın.Önbelleksizlik Gecikme süresini azaltmak için arka uç veritabanının önündeki bir ara önbellekten gelen istekleri sunma. Gürültülü Komşu Çok kiracılı sistemler kaynakları kiracılar arasında paylaşır. Bir kiracının etkinliği, başka bir kiracının sistem kullanımı üzerinde olumsuz bir etkiye sahip olabilir. App Service Ortamı, App Service uygulamalarını çalıştırmak için tamamen yalıtılmış ve ayrılmış bir ortam sağlar.
Öneriler
Öneri | Avantaj |
---|---|
Uygulamalar tek bir App Service planını paylaştığında AlwaysOn ayarını etkinleştirin. App Service uygulamaları, kaynakları kaydetmek için boşta olduğunda otomatik olarak kaldırılır. Sonraki istek, istek zaman aşımlarına neden olabilecek bir soğuk başlangıç tetikler. | Always On etkinken uygulama hiçbir zaman yüklenmez. |
Protokol verimliliğini artırmak için uygulamalar için HTTP/2 kullanmayı göz önünde bulundurun. | HTTP/2 bağlantıları tamamen çoğulladığı, ek yükü azaltmak için bağlantıları yeniden kullanacağından ve veri aktarımını en aza indirmek için üst bilgileri sıkıştırdığından HTTP/1.1 yerine HTTP/2'yi seçin. |
Avantajlar ve Dezavantajlar
Sütun denetim listelerindeki yaklaşımları kullanıyorsanız tasarımdan ödün vermek zorunda olabilirsiniz. Avantajların ve dezavantajların bazı örnekleri aşağıda verilmiştir.
Yoğunluk ve yalıtım
Daha yüksek yoğunluk: Kaynakları en aza indirmek için aynı App Service planındaki birden çok uygulamayı birlikte kullanın. Tüm uygulamalar CPU ve bellek gibi kaynakları paylaşır ve bu da paradan tasarruf edebilir ve işlem karmaşıklığını azaltabilir. Bu yaklaşım, kaynak kullanımını da iyileştirir. Uygulamalar, yük desenleri zaman içinde değişirse başka bir uygulamadan boşta kalan kaynakları kullanabilir.
Dezavantajları da göz önünde bulundurun. Örneğin, bir uygulamanın kullanımında veya kararlılığında ani artışlar diğer uygulamaların performansını etkileyebilir. Bir uygulamadaki olaylar, paylaşılan ortamdaki diğer uygulamalara da etki edebilir ve bu da güvenliği etkileyebilir.
Daha yüksek yalıtım: Yalıtım, girişimi önlemeye yardımcı olur. Bu strateji güvenlik, performans ve hatta geliştirme, test ve üretim ortamlarının ayrıştırması için geçerlidir.
App Service Ortamı, her uygulamanın kendi güvenlik ayarları olabileceğinden güvenlik ve veri koruması üzerinde daha iyi denetim sağlar. Ortamınız, yalıtım patlama yarıçapını sınırladığı için ihlaller içerebilir. Performans açısından kaynak çekişmesi en aza indirilir. Yalıtım, belirli talebe ve bireysel kapasite planlamasına göre bağımsız ölçeklendirmeye olanak tanır.
Dezavantaj olarak, bu yaklaşım daha pahalıdır ve operasyonel katılık gerektirir.
Güvenilir ölçeklendirme stratejisi
İyi tanımlanmış bir ölçeklendirme stratejisi, uygulamanızın performanstan ödün vermeden çeşitli yükleri işleyebilmesini sağlar. Ancak, maliyette dengeler vardır. Ölçeklendirme işlemleri zaman alır. Yeni kaynaklar ayrıldığında, uygulamanın istekleri etkili bir şekilde işleyebilmesi için önce düzgün bir şekilde başlatılması gerekir. Güvenlik ağı sağlamak için kaynakların (önceden hazırlama örnekleri) fazla sağlamasını yapabilirsiniz. Bu ek kapasite olmadan, başlatma aşamasında isteklerin sunulmasında gecikme yaşanabilir ve bu da kullanıcı deneyimini etkiler. Otomatik ölçeklendirme işlemleri, müşterilerin kaynakları kullandığında doğru kaynak başlatmayı etkinleştirmek için yeterince erken tetiklenebilir.
Dezavantaj olarak, fazla sağlanan kaynakların maliyeti daha yüksektir. Önceden değiştirilmiş örnekler de dahil olmak üzere her örnek için saniye başına ücretlendirilirsiniz. Daha yüksek katmanlar önceden hazırlanmış örnekleri içerir. Daha pahalı katmanlara sahip özelliklerin yatırıma değip değmeyeceğini belirleyin.
Yapı yedekliliği
Yedeklilik dayanıklılık sunar ancak aynı zamanda maliyet de doğurabilir. İş yükünüz için hizmet düzeyi hedefleri (SLO'lar), kabul edilebilir performans eşiklerini belirler. Yedeklilik SLO gereksinimlerini aşarsa boşa harcanıyor. Fazla yedeklemenin SLO'ları geliştirip geliştirmediğini veya gereksiz karmaşıklık ekleyip eklemediğini değerlendirin.
Dezavantajları da göz önünde bulundurun. Örneğin, çok bölgeli yedeklilik yüksek kullanılabilirlik sağlar, ancak veri eşitleme, yük devretme mekanizmaları ve bölgeler arası iletişim nedeniyle karmaşıklık ve maliyet ekler. Bölge yedekliliğinin SLO'larınızı karşılayabildiğini belirleyin.
Azure ilkeleri
Azure, App Service ve bağımlılıklarıyla ilgili kapsamlı bir yerleşik ilke kümesi sağlar. Bir dizi Azure ilkesi, önceki önerilerden bazılarını denetleyebilir. Örneğin, şunları denetleyebilirsiniz:
Uygun ağ denetimleri yerinde. Örneğin, ağ yapılandırması üzerinde daha fazla denetime sahip olmak için sanal ağ ekleme yoluyla App Service'i Azure Sanal Ağ'ye yerleştirerek ağ segmentasyonlarını birleştirebilirsiniz. Uygulamanın genel uç noktaları yoktur ve özel uç noktalar aracılığıyla Azure hizmetlerine bağlanır.
Kimlik denetimleri yerinde. Örneğin, uygulama diğer kaynaklarda kimlik doğrulaması yapmak için yönetilen kimlikleri kullanır. App Service yerleşik kimlik doğrulaması (Kolay Kimlik Doğrulaması) gelen istekleri doğrular.
Saldırı yüzeyini azaltmak için uzaktan hata ayıklama ve temel kimlik doğrulaması gibi özellikler devre dışı bırakılır.
Kapsamlı idare için Azure İlkesi yerleşik tanımlarını ve işlem katmanının güvenliğini etkileyebilecek diğer ilkeleri gözden geçirin.
Azure Danışmanı önerileri
Azure Danışmanı , Azure dağıtımlarınızı iyileştirmek için en iyi yöntemleri izlemenize yardımcı olan kişiselleştirilmiş bir bulut danışmanıdır. Aşağıda web uygulaması örneklerinizin güvenilirliğini, güvenliğini, maliyet verimliliğini, performansını ve operasyonel mükemmelliğini geliştirmenize yardımcı olabilecek bazı öneriler bulabilirsiniz.
Sonraki adımlar
Aşağıdaki makaleleri, bu makalede vurgulanan önerileri gösteren kaynaklar olarak düşünün.
Bu önerilerin bir iş yüküne nasıl uygulanacağını gösteren örnekler olarak bu başvuru mimarilerini kullanın.
Daha önce hiç bir web uygulaması dağıtamadıysanız bkz . Temel web uygulaması.
Üretim sınıfı dağıtım için başlangıç noktanız olarak temel mimari için bkz . Temel yüksek oranda kullanılabilir alanlar arası yedekli web uygulaması.
Uygulama uzmanlığınızı oluşturmak için aşağıdaki ürün belgelerini kullanın: