Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure İşlevleri, altyapıyı doğrudan yönetmek zorunda kalmadan olay temelli kodu çalıştırmak için kullanabileceğiniz sunucusuz bir işlem hizmetidir. Azure İşlevleri, altyapıyı soyutlayarak işlev olarak hizmet sunan bir tekliftir. Bu soyutlama, kodunuz üzerinde odaklanmanızı sağlar. Azure İşlevleri isteğe göre otomatik olarak ölçeklendirilir ve yalnızca işlem sırasında tüketilen kaynaklar için sizden ücret alınır.
Bu makalede, bir mimar olarak işlem karar ağacını gözden geçirip iş yükünüz için işlem çözümü olarak Azure İşlevleri'ni seçtiğiniz varsayılır. Bu makaledeki kılavuz, Well-Architected Framework sütunları'nın ilkelerine dayalı mimari öneriler sağlar.
Teknoloji kapsamı
Bu gözden geçirme, aşağıdaki Azure kaynağı için birbiriyle ilişkili kararlara odaklanır:
- İşlev uygulamaları
Note
Bu hizmet kılavuzu, Azure App Service (Web Apps) hizmet kılavuzundaki yönergelere dayalıdır. Azure İşlevleri sunucusuz bir işlem hizmetidir. İşlevler, iş yükünüz için temel işlem altyapısını sağlayan App Service planlarına dağıtılır. Çeşitli barındırma planları arasından seçim yapabilirsiniz.
Tüketim planı tamamen yönetilir ve ilişkili App Service örneğine erişimi desteklemez. Ayrılmış ve Premium barındırma planları, App Service örneğini yapılandırma ve yönetme olanağı sağlar. Ayrılmış veya Premium barındırma planını seçtiğinizde öneriler ve dikkat edilmesi gerekenler için App Service hizmet kılavuzuna bakın.
Reliability
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.
İş yükü tasarımı denetim listesi
Güvenilirlikiçin
Tetikleyicileri anlama: Azure İşlevleri'nin nasıl tetiklendiğini tam olarak anladığınızdan emin olun. Tetikleyiciler HTTP isteklerini, zamanlayıcıları, kuyrukları ve daha fazlasını içerir. Uygulamanızın güvenilirlik gereksinimlerine uyan tetikleyicileri seçin.
Örneğin, işleviniz bir kuyruktan gelen iletileri işlerse kuyruğun kendisinin dayanıklı olduğundan ve bir hata oluşursa iletilerin yeniden işlendiğinden emin olun.
Yeniden denemeler ve dayanıklı desenler uygulayın: Geçici hatalar için yerleşik yeniden deneme ilkelerini kullanın. Daha karmaşık iş akışları için Azure İşlevleri'nin Dayanıklı İşlevler uzantısını kullanmayı göz önünde bulundurun. Birden çok işlev işlemi arasında durum yönetimi ve koordinasyon sağlar.
Dayanıklı İşlevler, uzun süre çalışan iş akışlarında güvenilirlik gerektiren senaryolar için özellikle kullanışlıdır. Otomatik yeniden denemeleri ve dayanıklı görev yönetimini destekler.
Uygun özel durum işlemeyi sağlayın: İşlevlerin düzgün bir şekilde başarısız olduğundan emin olmak için sağlam özel durum işleme uygulayın. Hataları günlüğe kaydedip kritik hatalar için uyarı mekanizmaları uygulamayı göz önünde bulundurun.
Ölçeklenebilirlik planı: Azure İşlevleri isteğe bağlı olarak ölçeği otomatik olarak genişletebilir. Uygulamanızın yük altında performansını test ederek ani artışları işleyecek şekilde tasarlandığından emin olun.
Performansı izlemek ve işlevlerinizin gerçek zamanlı ölçeğini izlemek için Application Insights'ı kullanmayı göz önünde bulundurun.
İdemputans için tasarım: İşlevlerinizin istenmeyen yan etkilere neden olmadan güvenli bir şekilde yeniden denenebilir olduğundan emin olun. Eşzamanlılık, dış sistemlerle etkileşim kuran veya verileri değiştiren işlevler için çok önemlidir.
Uzun süre çalışan işlemler için Dayanıklı İşlevler'i kullanın: Düzenleme veya uzun süre çalışan işlemler gerektiren işlemler için, durumu korumak ve birden çok adımda güvenilirliği sağlamaya yardımcı olmak için Dayanıklı İşlevler'i kullanın.
Çözümünüzün durumunu izleyin: Azure İşlevleri çözümünüzü genel iş yükü sistem durumu izleme ve uyarı sisteminizle tümleştirin.
Yapılandırma önerileri
| Recommendation | Benefit |
|---|---|
| Geçici hatalar için otomatik yeniden denemeleri yapılandırın. Azure İşlevleri hata işleme ve yeniden denemeler hakkında daha fazla bilgi edinin. | Başarısız çalıştırmaları otomatik olarak yeniden deneyerek güvenilirliği artırır ve bu da veri kaybı veya kesinti olasılığını azaltır. |
| Karmaşık iş akışlarını ve uzun süre çalışan işlemleri yönetmek için Dayanıklı İşlevler'i kullanın. Dayanıklı İşlevler hakkında daha fazla bilgi edinin. | Yerleşik durum yönetimi ve otomatik yeniden denemeler ile uzun süre çalışan iş akışlarının güvenilir bir şekilde çalışmasını sağlar. |
| Application Insights'ı kullanarak izleme ve merkezi günlüğe kaydetme uygulayın. Application Insights'ın ayarlanması. | İşlev işlemleri ve bağımlılıkları hakkında ayrıntılı içgörüler sağlayarak izlemeyi ve sorun gidermeyi geliştirir. |
| İşlev barındırma planına, tetikleyici türüne ve talebe göre otomatik olarak ölçeklendirin. Ölçeklendirme hakkında daha fazla bilgi edinin. | Uygulamanızın el ile müdahale olmadan trafik artışlarını kaldırabileceğinden emin olmak için güvenilirlik ve performansı artırır. |
| Gelişmiş dayanıklılık için Kullanılabilirlik Alanlarını kullanın. Esnek Tüketim planı, bölge yedekliliği için Kullanılabilirlik Alanları arasında dağıtımı destekler. | Kullanılabilirlik alanları arasında otomatik yük devretme yoluyla veri merkezi düzeyindeki hatalara karşı koruma sağlayarak genel uygulama güvenilirliğini artırır. |
Security
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, Azure İşlevleri çevresinde teknik tasarıma yaklaşımlar uygulayarak bu hedeflere ulaşmak için üst düzey bir tasarım stratejisi sağlar.
İş yükü 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.
Yönetilen kimlikleri kullanma: kimlik bilgilerini yönetmeye gerek kalmadan diğer Azure hizmetlerine güvenli bir şekilde erişmek için işlev uygulamalarınız için yönetilen kimlikleri etkinleştirin.
Microsoft Entra Id ile işlev uygulamanızın güvenliğini sağlayın: Azure İşlevleri'ni Microsoft Entra Id kimlik doğrulaması gerektirecek şekilde yapılandırarak işlevlerinize erişimi kısıtlayın.
Ağ güvenlik denetimlerini uygulama:Azure İşlevleri ağ yapılandırmasının güvenliğini sağlamaya yardımcı olmak için barındırma modeliniz için kullanılabilir Azure İşlevleri ağ seçeneklerini anlayın. Gereksinimlerinizi karşılamak için ağın güvenliğini sağlayın.
Yapılandırma önerileri
| Recommendation | Benefit |
|---|---|
| Azure kaynaklarına güvenli erişim için yönetilen kimlikleri etkinleştirin. Yönetilen kimlikleri etkinleştirme | Gizlileri saklama ve yenileme gereksinimini ortadan kaldırarak kimlik bilgisi yönetimini basitleştirir. Bu yaklaşım güvenliği artırır. |
| Gizli dizi yönetimi ve düzenli döndürme için Azure Key Vault'ı kullanın. Key Vault'un Azure İşlevleri ile tümleştirilmesi. | API anahtarları ve bağlantı dizeleri gibi hassas bilgileri güvenli bir şekilde depolayarak ve yönetilen kimlik kullanmak mümkün olmadığında gizli dizi döndürmeyi otomatikleştirerek korumaya yardımcı olur. |
| Sanal ağ ile tümleştirin ve özel uç noktaları kullanın. | İç ağınıza erişimi kısıtlayarak ve genel İnternet'e erişimi önleyerek işlev uygulamalarının güvenliğini sağlar.
Tüketim barındırma planında sanal ağ tümleştirmesi ve özel uç noktalar kullanılamaz. |
| Ağ ile kısıtlanmış Key Vault ve Uygulama Yapılandırması erişimini kullanın. Esnek Tüketim planı, Key Vault ve Uygulama Yapılandırma hizmetlerine ağ kısıtlamalı erişimi destekler. | Özel ağ bağlantısı aracılığıyla yapılandırmaya ve gizli bilgilere güvenli erişim sağlayarak güvenliği artırır ve genel erişim noktalarına maruziyeti azaltır. |
Maliyet İyileştirme
Maliyet Optimizasyonu, kuruluşun bütçesini karşılarken iş gereksinimlerini de karşılamak amacıyla harcama düzenlerini tespit etmeye, kritik alanlardaki yatırımlara öncelik vermeye ve diğer yerlerde optimizasyon yapmaya odaklanır.
Maliyet İyileştirme tasarım ilkeleri, bu hedeflere ulaşmak ve Azure İşlevleri ve ortamıyla ilgili teknik tasarımda gerekli olan dengeleri sağlamak için üst düzey bir tasarım stratejisi sağlar.
İş yükü tasarımı denetim listesi
Yatırımlar için Maliyet İyileştirme için
Doğru fiyatlandırma planını seçin: Azure İşlevleri'nin Tüketim planı, Premium plan ve Ayrılmış (App Service) planı dahil olmak üzere birden çok fiyatlandırma planı vardır. İş yükünüz ve maliyetle ilgili önemli noktalara uygun bir fiyatlandırma planı seçin.
Tüketim planı, yalnızca tüketilen işlem süresi ve kaynaklar için ödeme yaptığınız için seyrek işlemlere sahip öngörülemeyen iş yükleri için idealdir. Uygulamanız boşta olduğunda sizden ücret alınmaz.
İşlem süresini iyileştirme: İşlev kodunu iyileştirerek işlem süresini kısaltabilirsiniz. Dış bağımlılıkların kullanımını en aza indirin ve her işlemin süresini azaltmak için kod mantığını iyileştirin.
Maliyetleri izleme ve analiz etme:Microsoft Maliyet Yönetimi'yi kullanarak işlev uygulaması kullanımını ve maliyetlerini düzenli olarak izleyin ve maliyet anomalilerini algılamak için uyarılar ayarlayın.
Yapılandırma önerileri
| Recommendation | Benefit |
|---|---|
| Öngörülemeyen trafik içeren iş yükleri için Tüketim planını kullanın. Tüketim planını anlama. | Yalnızca işlevler gerçekleştirilirken kullanılan kaynaklar için ücretlendirme yaparak maliyetleri azaltır ve bu da boşta kalan kaynaklarla ilişkili maliyetleri önler. |
| Hem maliyet verimliliği hem de gelişmiş özellikler gerektiren iş yükleri için Esnek Tüketim planını göz önünde bulundurun. Bkz. Esnek Tüketim. | Sunucusuz maliyet avantajlarını Kullanılabilirlik Alanları ve sanal ağ tümleştirmesi gibi gelişmiş özelliklerle birleştirerek, gelişmiş güvenilirlik ve güvenlik özellikleriyle maliyet iyileştirmesi sağlar. |
| İş yükünüz tahmin edilebilirse Elastik Premium planları veya Ayrılmış App Service planları için kapasite ayırın. | Sürekli kullanım desenlerine sahip öngörülebilir iş yükleri için indirimli fiyatlandırma yoluyla maliyetleri düşürür. |
| Maliyetleri düzenli olarak izleyin ve anomaliler için uyarılar ayarlayın. Uyarıları izleyerek maliyetleri izleyin. | Maliyet artışlarını erken belirlemeye yardımcı olur ve bu da proaktif yönetim ve iyileştirme sağlar. |
Operasyonel Mükemmellik
Operasyonel Mükemmellik öncelikli olarak geliştirme uygulamaları, gözlemlenebilirlik ve sürüm yönetimiyordamları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.
İş yükü tasarımı denetim listesi
Azure İşlevleri 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.
Dağıtımları otomatikleştirme: İşlev uygulamalarınızın dağıtımını otomatikleştirmek için sürekli tümleştirme ve sürekli teslim (CI/CD) işlem hatlarını kullanın. Sorunsuz dağıtım iş akışları için Azure DevOps veya GitHub Actions ile tümleştirme.
Sistem durumu izlemeyi uygulama: İşlevlerinizin durumunu ve performansını izlemek için Azure İzleyici ve Application Insights'ı kullanın. Kritik ölçümler için uyarılar ayarlayın ve gerçek zamanlı içgörüler için özel panolar kullanın. Daha fazla bilgi için bkz. Azure İşlevlerini İzleme.
Çözümünüzü güvenli bir şekilde dağıtın: Azure İşlevleri için kullanılabilen dağıtım modellerini anlayın ve güvenli dağıtım uygulamalarınıza en uygun modeli benimseyin.
Olağanüstü durum kurtarmayı planlama (DR):Kritik işlevler için bölgeler arası DR ve kullanılabilirlik alanlarını kullanarak DR stratejilerini uygulayın.
Yapılandırma önerileri
| Recommendation | Benefit |
|---|---|
| Azure DevOps veya GitHub Actions kullanarak CI/CD işlem hatları ile dağıtımları otomatikleştirin. CI/CD'yi ayarlayın. | Dağıtım tutarlılığını artırır, el ile hataları azaltır ve yeni özellikler için pazara çıkış süresini hızlandırır. |
| Üretim sürümünden önce değişiklikleri hazırlamak için dağıtım yuvalarını kullanın. | Üretime hata girme riskini azaltır ve sorun algılanırsa güvenli geri alma işlemlerine olanak tanır. |
| Kullanılabilir ölçümleri kullanarak Application Insights ve Azure Monitor aracılığıyla merkezi izleme uygulayın. | İşlev performansının görünürlüğünü artırır ve bu da sorunları hızla belirlemeye ve çözmeye yardımcı olur. |
Performans Verimliliği
Performans Verimliliği, kapasiteyi yöneterek yük 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.
İş yükü tasarımı denetim listesi
Performans Verimliliğiiçin
Soğuk başlangıçları iyileştirme: Önceden hazır örnekler sağlayan Premium Flex planlarını kullanarak soğuk başlangıçların etkilerini en aza indirin veya Azure İşlevleri ısınma tetikleyicisi gibi stratejileri kullanarak işlevlerinizin sıcak kalmasını sağlayın.
İşlev kodunu iyileştirme: İşlem süresini ve kaynak tüketimini azaltmak için verimli kod yazın. Uzun süreli işlemlerden kaçının ve dış hizmet çağrılarını optimize edin.
Otomatik ölçeklendirmeyi etkinleştirme: İsteğe bağlı olarak ölçeği otomatik olarak genişletmek için Azure İşlevleri'nin otomatik ölçeklendirme özelliklerinden yararlanın. Ölçeklendirme kurallarınızın iyi tanımlanmış ve test edilmiş olduğundan emin olun.
Performans ölçümlerini izleme: İşlem süresi, CPU ve bellek kullanımı gibi önemli performans ölçümlerini izlemek için Application Insights'ı kullanın. Performans düşüşü için uyarılar ayarlayın.
Yapılandırma önerileri
| Recommendation | Benefit |
|---|---|
| Soğuk başlatma gecikme süresini en aza indirmek için önceden hazır bir örnekle Elastik Premium planını kullanın. Soğuk başlangıçları anlayın. | Soğuk başlatmalarla ilişkili gecikme süresini azaltır ve bu da zamana duyarlı uygulamalar için yanıt sürelerini artırır. |
| İşlem süresini kısaltmak için işlev kodunu iyileştirin. Azure İşlevleri için en iyi yöntemleri anlama. | Her işlevin çalışması için gereken süreyi ve kaynakları azaltarak performansı artırır. |
| Kapasiteyi isteğe bağlı olarak otomatik olarak ayarlamak için otomatik ölçeklendirmeyi etkinleştirin. Otomatik ölçeklendirmeyi yapılandırın. | İşlev uygulamalarınızın el ile müdahale olmadan değişen yükleri işleyebilmesini sağlar. Bu yaklaşım baskı altında performansın korunmasına yardımcı olur. |
Azure ilkeleri
Azure, Azure İşlevleri 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:
- Tüm işlev uygulamalarında yönetilen kimlikler etkindir.
- İşlev uygulamaları, ağ güvenliği için yalnızca özel uç noktaları kullanıyor.
- Tüm fonksiyon uygulamaları için tanılama kaydı etkin.
Kapsamlı idare için Azure İlkesi yerleşik tanımlarını ve ağ 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.
Daha fazla bilgi için bkz. Azure Danışmanı.
Örnek mimari
Temel önerileri gösteren temel mimari: Web uygulamaları mimarisi tasarımı.
Sonraki Adımlar
Bu belgede vurgulanan önerileri daha fazla incelemek için aşağıdaki kaynakları göz önünde bulundurun: