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.

Sonraki adımlar