Azure Işlevleri barındırma seçenekleri
Azure 'da bir işlev uygulaması oluşturduğunuzda, uygulamanız için bir barındırma planı seçmeniz gerekir. Azure işlevleri için kullanılabilen üç temel barındırma planı vardır: tüketim planı, Premium planıve adanmış (App Service) plan. tüm barındırma planları, hem Linux hem de Windows sanal makinelerde genel olarak kullanılabilir (GA).
Seçtiğiniz barındırma planı aşağıdaki davranışları belirler:
- İşlev uygulamanız nasıl ölçeklendirilir.
- Her işlev uygulaması örneği için kullanılabilir kaynaklar.
- Azure sanal ağ bağlantısı gibi gelişmiş işlevsellik için destek.
Bu makalede, Kubernetes tabanlı barındırmaile birlikte çeşitli barındırma planları arasında ayrıntılı bir karşılaştırma sağlanır.
Not
İşlevlerinizi bir Kubernetes kümesinde barındırmanıza tercih ederseniz, Azure Arc etkin bir Kubernetes kümesikullanmayı göz önünde bulundurun. Azure Arc etkin bir Kubernetes kümesi üzerinde barındırma Şu anda önizlemededir. Daha fazla bilgi edinmek için bkz. Azure Arc üzerinde App Service, işlevler ve Logic Apps.
Planlara genel bakış
Aşağıda, Işlevleri için üç ana barındırma planının avantajlarından oluşan bir Özet verilmiştir:
| Planlama | Avantajlar |
|---|---|
| Tüketim planı | Otomatik olarak ölçeklendirin ve işlevleriniz çalışırken yalnızca işlem kaynakları için ödeme yapın. Tüketim planında, Işlevler ana bilgisayarının örnekleri, gelen olayların sayısına göre dinamik olarak eklenir ve kaldırılır. ✔ Varsayılan barındırma planı. ✔ Yalnızca işlevleriniz çalışırken ödeyin. ✔, Yüksek yük dönemlerinde bile otomatik olarak ölçeklendirilir. |
| Premium planı | , Boşta kaldıktan sonra gecikme olmadan uygulamaları çalıştıran, daha güçlü örneklerde çalışan ve sanal ağlara bağlanan, önceden çarpımış çalışanları kullanarak isteğe bağlı olarak otomatik olarak ölçeklendirin. aşağıdaki durumlarda plan Premium Azure işlevlerini göz önünde bulundurun: İşlev uygulamalarınızın sürekli veya neredeyse sürekli çalışmasını ✔. ✔ Yüksek sayıda küçük yürütmeler ve yüksek bir yürütme faturanız, ancak tüketim planında düşük GB saniyedir. ✔ Tüketim planı tarafından sağlandıkından daha fazla CPU veya bellek seçeneği gerekir. Kodunuzun, tüketim planında izin verilen en uzun yürütme süresinden daha uzun süre çalışmasını ✔. ✔, Sanal ağ bağlantısı gibi tüketim planında kullanılamayan özellikler gerektirir. İşlevlerinizin çalıştırılacağı özel bir Linux görüntüsü sağlamak ✔. |
| Ayrılmış plan | İşlevlerinizi düzenli App Service plan ücretlerindekibir App Service planı içinde çalıştırın. Dayanıklı işlevler kullanılamayacak uzun süre çalışan senaryolar için idealdir. Aşağıdaki durumlarda bir App Service planı düşünün: Daha önce başka App Service örnekleri çalıştıran mevcut, az kullanılan VM 'Ler ✔. Tahmine dayalı ölçekleme ve maliyetler ✔ gereklidir. |
Bu makaledeki karşılaştırma tabloları, işlev uygulamalarınızın çalıştırılacağı en yüksek denetim ve yalıtım miktarını sağlayan aşağıdaki barındırma seçeneklerini de içerir.
| Barındırma seçeneği | Ayrıntılar |
|---|---|
| ASE | App Service Ortamı (ASE), yüksek ölçekte App Service uygulamaları güvenli bir şekilde çalıştırmak için tam olarak yalıtılmış ve ayrılmış bir ortam sağlayan bir App Service özelliğidir. ASEs, gereken uygulama iş yükleri için uygundur: Çok yüksek ölçekli ✔. Tam işlem yalıtımı ve güvenli ağ erişimi ✔. ✔ Yüksek bellek kullanımı. |
| Kubernetes (Doğrudan veya Azure Arc) |
Kubernetes, Kubernetes platformunun üstünde çalışan tam yalıtılmış ve ayrılmış bir ortam sağlar. Kubernetes şunları gerektiren uygulama iş yükleri için uygundur: Özel donanım gereksinimlerini ✔. Yalıtım ve güvenli ağ erişimi ✔. Karma veya çok bulut ortamında çalıştırmak ✔. ✔, Mevcut Kubernetes uygulamaları ve hizmetleriyle birlikte çalışır. |
Bu makaledeki geri kalan tablolar, çeşitli özellikler ve davranışlar için planları karşılaştırın. dinamik barındırma planları (tüketim ve Premium) arasında bir maliyet karşılaştırması için bkz. Azure işlevleri fiyatlandırma sayfası. Çeşitli adanmış plan seçeneklerinin fiyatlandırması için App Service fiyatlandırma sayfasınabakın.
İşletim sistemi/çalışma zamanı
Aşağıdaki tabloda barındırma planları için işletim sistemi ve dil desteği gösterilmektedir.
| Linux1 Yalnızca kod |
Windows2 Yalnızca kod |
Linux1, 3 Docker kapsayıcısı |
|
|---|---|---|---|
| Tüketim planı | .NET Core 3.1 .NET 5.0 JavaScript Java Python TypeScript |
.NET Core 3.1 .NET 5.0 JavaScript Java PowerShell Core TypeScript |
Destek yok |
| Premium planı | .NET Core 3.1 .NET 5.0 JavaScript Java Python TypeScript |
.NET Core .NET 5.0 JavaScript Java PowerShell Core TypeScript |
.NET Core Node.js Java PowerShell Core Python TypeScript |
| Ayrılmış plan | .NET Core 3.1 .NET 5.0 JavaScript Java Python TypeScript |
.NET Core 3.1 .NET 5.0 JavaScript Java PowerShell Core TypeScript |
.NET Core 3.1 .NET 5.0 JavaScript Java PowerShell Core Python TypeScript |
| ASE | .NET Core 3.1 .NET 5.0 JavaScript Java Python TypeScript |
.NET Core 3.1 .NET 5.0 JavaScript Java PowerShell Core TypeScript |
.NET Core 3.1 .NET 5.0 JavaScript Java PowerShell Core Python TypeScript |
| Kubernetes (doğrudan) | yok | yok | .NET Core 3.1 .NET 5.0 JavaScript Java PowerShell Core Python TypeScript |
| Azure Arc (Önizleme) | .NET Core 3.1 .NET 5.0 JavaScript Java Python TypeScript |
yok | .NET Core 3.1 .NET 5.0 JavaScript Java PowerShell Core Python TypeScript |
1 Linux, Python çalışma zamanı yığını için desteklenen tek işletim sistemidir.
2 Windows, PowerShell çalışma zamanı yığını için desteklenen tek işletim sistemidir.
3 Docker kapsayıcıları için desteklenen tek işletim sistemi Linux'tır.
İşlev uygulaması zaman aşımı süresi
bir işlev uygulamasının zaman aşımı süresi functionTimeout host.json proje dosyasındaki özelliği tarafından tanımlanır. Aşağıdaki tabloda hem planlar hem de farklı çalışma zamanı sürümleri için dakikalar içinde varsayılan ve maksimum değerler yer alır:
| Planlama | Çalışma Zamanı Sürümü | Varsayılan | Maksimum |
|---|---|---|---|
| Tüketim | 1.x | 5 | 10 |
| Tüketim | 2.x | 5 | 10 |
| Tüketim | 3.x | 5 | 10 |
| Premium | 1.x | Sınırsız | Sınırsız |
| Premium | 2.x | 30 | Sınırsız |
| Premium | 3.x | 30 | Sınırsız |
| App Service | 1.x | Sınırsız | Sınırsız |
| App Service | 2.x | 30 | Sınırsız |
| App Service | 3.x | 30 | Sınırsız |
Not
İşlev uygulaması zaman aşımı ayarından bağımsız olarak 230 saniye, HTTP ile tetiklenen bir işlevin i isteği yanıtlamak için sahip olduğu en uzun süredir. Bunun nedeni, varsayılan boşta kalma zaman aşımının Azure Load Balancer. Daha uzun işlem süreleri için, zaman uyumsuz Dayanıklı İşlevler kullanmayı veya gerçek işi erteleyerek anında yanıtını dönmesini göz önünde bulundurarak.
Ölçek
Aşağıdaki tabloda çeşitli barındırma planlarının ölçeklendirme davranışları karşılaştırıldı.
| Planlama | Ölçeği genişletme | En fazla # örneği |
|---|---|---|
| Tüketim planı | Olay odaklı. Yüksek yük dönemleri sırasında bile otomatik olarak ölçeğin ölçeğini ölçeklendirin. Azure İşlevleri altyapısı gelen tetikleyici olaylarının sayısına göre İşlevler ana bilgisayarının ek örneklerini ekleyerek CPU ve bellek kaynaklarını ölçeklendirmektedir. | 200 |
| Premium planı | Olay odaklı. Yüksek yük dönemleri sırasında bile otomatik olarak ölçeğin ölçeğini ölçeklendirin. Azure İşlevleri altyapısı, işlevlerinin tetiklenen olay sayısına göre İşlevler ana bilgisayarının ek örneklerini ekleyerek CPU ve bellek kaynaklarını ölçeklendirmektedir. | 100 |
| Ayrılmış plan1 | El ile/otomatik ölçeklendirme | 10-20 |
| ASE1 | El ile/otomatik ölçeklendirme | 100 |
| Kubernetes | KEDA kullanarak Kubernetes kümeleri için olay odaklı otomatik ölçeklendirme. | Kümeye göre değişir |
1 Çeşitli plan seçeneklerine yönelik App Service limitler için bkz. App Service sınırları.
Soğuk başlatma davranışı
| Planlama | Ayrıntılar |
|---|---|
| Tüketim planı | Boştayken uygulamalar sıfıra ölçeklendirilen uygulamalar, bazı isteklerin başlangıçta ek gecikme süresine sahip olduğu anlamına gelir. Tüketim planında, işlev ana bilgisayarı ve dil işlemleri zaten çalışan önceden hazır yer tutucu işlevlerinden çekme dahil olmak üzere soğuk başlangıç zamanlarını azaltmaya yardımcı olacak bazı iyileştirmeler vardır. |
| Premium planı | Herhangi bir soğuk başlatmayı önlemek için kalıcı olarak sıcak örnekler. |
| Ayrılmış plan | Ayrılmış bir planda çalışan İşlevler ana bilgisayarı sürekli olarak çalışıyor olabilir ve bu da soğuk başlangıcın gerçekten bir sorun olmadığını gösterir. |
| ASE | Ayrılmış bir planda çalışan İşlevler ana bilgisayarı sürekli olarak çalışıyor olabilir ve bu da soğuk başlangıcın gerçekten bir sorun olmadığını gösterir. |
| Kubernetes | KEDA yapılandırmasına bağlı olarak, uygulamalar durulmaması için yalıtılmalıdır. Sıfıra ölçeklendirecek şekilde yapılandırılmışsa, yeni olaylar için bir soğuk başlatma yaşanır. |
Hizmet sınırlamaları
| Kaynak | Tüketim planı | Premium planı | Ayrılmış plan | ASE | Kubernetes |
|---|---|---|---|---|---|
| Varsayılan zaman aşımı süresi (dk) | 5 | 30 | 301 | 30 | 30 |
| En fazla zaman aşımı süresi (dk) | 10 | sınırsız7 | sınırsız2 | unbounded | unbounded |
| En fazla giden bağlantı (örnek başına) | 600 etkin (1200 toplam) | unbounded | unbounded | unbounded | unbounded |
| En fazla istek boyutu (MB)3 | 100 | 100 | 100 | 100 | Kümeye bağlıdır |
| En fazla sorgu dizesi uzunluğu3 | 4096 | 4096 | 4096 | 4096 | Kümeye bağlıdır |
| En fazla istek URL uzunluğu3 | 8192 | 8192 | 8192 | 8192 | Kümeye bağlıdır |
| Örnek başına acu | 100 | 210-840 | 100-840 | 210-2508 | AKS fiyatlandırması |
| Maksimum bellek (örnek başına GB) | 1,5 | 3,5-14 | 1,75-14 | 3,5-14 | Herhangi bir düğüm desteklenir |
| En fazla örnek sayısı | 200 | 1009 | SKU10 ' a göre değişir | 10010 | Kümeye bağlıdır |
| Plan başına işlev uygulamaları | 100 | 100 | sınırsız4 | unbounded | unbounded |
| App Service planları | bölge başına 100 | kaynak grubu başına 100 | kaynak grubu başına 100 | - | - |
| Depolama5 | 5 TB | 250 GB | 50-1000 GB | 1 TB | yok |
| Uygulama başına özel etki alanları | 5006 | 500 | 500 | 500 | yok |
| Özel etki alanı SSL desteği | sınırsız SNI SSL bağlantısı dahildir | sınırsız SNI SSL ve 1 IP SSL bağlantı dahildir | sınırsız SNI SSL ve 1 IP SSL bağlantı dahildir | sınırsız SNI SSL ve 1 IP SSL bağlantı dahildir | yok |
1 varsayılan olarak, bir App Service planındaki işlev 1. x çalışma zamanının zaman aşımı değeri sınırsız olur.
2 App Service planının her zaman açıkolarak ayarlanmasını gerektirir. Standart oranlardaödeyin.
3 bu sınırlar konakta ayarlanır.
4 barındırabilmeniz gereken işlev uygulamalarının gerçek sayısı, uygulamaların etkinliğine, makine örneklerinin boyutuna ve karşılık gelen kaynak kullanımına göre değişir.
5 depolama sınırı, aynı App Service planındaki tüm uygulamalarda geçici depolamadaki toplam içerik boyutudur. Tüketim planı, geçici depolama için Azure dosyalarını kullanır.
6 işlev uygulamanız bir Tüketim PLANıNDAbarındırılıyorsa yalnızca CNAME seçeneği desteklenir. Bir Premium planındaki veya bir App Service planındakiişlev UYGULAMALARı için, bir CNAME veya a kaydı kullanarak özel bir etki alanını eşleyebilirsiniz.
7 60 dakikaya kadar garanti edilir.
8 çalışan, müşteri uygulamalarını barındıran rollerdir. Çalışanlar üç sabit boyutta kullanılabilir: bir vCPU/3,5 GB RAM; İki vCPU/7 GB RAM; Dört vCPU/14 GB RAM.
9 Premium bir planda Linux üzerinde çalışırken, şu anda 20 örnek ile sınırlı olursunuz.
10 ayrıntılar için App Service sınırları bölümüne bakın.
Ağ özellikleri
| Özellik | Tüketim planı | Premium planı | Ayrılmış plan | ASE | Kubernetes |
|---|---|---|---|---|---|
| Gelen IP kısıtlamaları ve özel site erişimi | ✅Yes | ✅Yes | ✅Yes | ✅Yes | ✅Yes |
| Sanal Ağ tümleştirmesi | ❌No | ✅Evet (bölgesel) | ✅Evet (bölgesel ve ağ geçidi) | ✅Yes | ✅Yes |
| Sanal ağ Tetikleyicileri (HTTP olmayan) | ❌No | ✅Yes | ✅Yes | ✅Yes | ✅Yes |
| Karma bağlantılar (yalnızca Windows) | ❌No | ✅Yes | ✅Yes | ✅Yes | ✅Yes |
| Giden IP kısıtlamaları | ❌No | ✅Yes | ✅Yes | ✅Yes | ✅Yes |
Faturalama
| Planlama | Ayrıntılar |
|---|---|
| Tüketim planı | Yalnızca işlevlerinizin çalıştır olduğu süre için ödeme. Fatura oluşturulurken yürütme sayısı, yürütme süresi ve kullanılan bellek temel alınır. |
| Premium planı | Premium planı, gerekli ve önceden hazır örnekler arasında kullanılan çekirdek saniye ve bellek sayısını temel almaktadır. Plan başına en az bir örnek her zaman sıcak tutulmalıdır. Bu plan en tahmin edilebilir fiyatlandırmayı sağlar. |
| Ayrılmış plan | App Service Plan'daki işlev uygulamaları için, web uygulamaları gibi diğer App Service için de aynı şekilde ödemeniz gerekir. |
| App Service Ortamı (ASE) | AsE için altyapı için ödeme yapılan ve ASE'nin boyutuyla değişmeden sabit bir aylık ücret vardır. Ayrıca plan vCPU's App Service maliyeti vardır. ASE'de barındırılan tüm uygulamalar, Yalıtılmış fiyatlandırma SKU’su içindedir. |
| Kubernetes | Yalnızca Kubernetes kümenizin maliyetlerini ödersiniz; İşlevler için ek faturalama yoktur. İşlev uygulamanız, normal bir uygulama gibi kümenizin üzerinde bir uygulama iş yükü olarak çalışır. |