Share via


Azure İşlevleri barındırma seçenekleri

Azure'da bir işlev uygulaması oluşturduğunuzda, uygulamanız için bir barındırma seçeneği belirlemeniz gerekir. Azure, işlev kodunuz için şu barındırma seçeneklerini sağlar:

Barındırma seçeneği Hizmet Kullanılabilirlik Kapsayıcı desteği
Tüketim planı Azure İşlevleri Genel kullanım (GA) Hiçbiri
Esnek Tüketim planı Azure İşlevleri Önizle Hiçbiri
Premium plan Azure İşlevleri GA Linux
Ayrılmış plan Azure İşlevleri GA Linux
Container Apps Azure Container Apps GA Linux

Azure İşlevleri barındırma seçenekleri hem Linux hem de Windows sanal makinelerinde Azure Uygulaması Hizmeti altyapısı tarafından kolaylaştırılır. Seçtiğiniz barındırma seçeneği aşağıdaki davranışları belirler:

  • İşlev uygulamanızın ölçeklendirilmesi.
  • Her işlev uygulaması örneğinde kullanılabilen kaynaklar.
  • Azure Sanal Ağ bağlantısı gibi gelişmiş işlevler için destek.
  • Linux kapsayıcıları desteği.

Seçtiğiniz plan, işlev kodunuzu çalıştırma maliyetlerini de etkiler. Daha fazla bilgi için bkz . Faturalama.

Bu makale, çeşitli barındırma seçenekleri arasında ayrıntılı bir karşılaştırma sağlar. İşlev kodunuzu Linux kapsayıcılarında çalıştırma ve yönetme hakkında daha fazla bilgi edinmek için bkz. Azure İşlevleri'de Linux kapsayıcı desteği.

Planlara genel bakış

Aşağıda, Azure İşlevleri barındırma için çeşitli seçeneklerin avantajlarının bir özeti yer almakta:

Seçenek Sosyal haklar
Tüketim planı İşlem kaynakları için yalnızca işlevleriniz otomatik ölçekle çalışırken (kullandıkça öde) ödeme yapın.

Tüketim planında İşlevler konağının örnekleri, gelen olayların sayısına göre dinamik olarak eklenir ve kaldırılır.

✔ Gerçek sunucusuz barındırma sağlayan varsayılan barındırma planı.
✔ Yalnızca işlevleriniz çalışırken ödeme.
✔ Yüksek yük dönemlerinde bile otomatik olarak ölçeklendirilir.
Esnek Tüketim planı İşlem seçenekleri, sanal ağ ve kullandıkça öde faturalaması ile yüksek ölçeklenebilirlik elde edin.

Esnek Tüketim planında İşlevler konağı örnekleri, örnek başına yapılandırılan eşzamanlılık ve gelen olay sayısına göre dinamik olarak eklenir ve kaldırılır.

✔ Önceden sağlanan (her zaman hazır) bir dizi örnek belirterek soğuk başlangıçları azaltın.
✔ Ek güvenlik için sanal ağı destekler.
✔ İşlevleriniz çalışırken ödeme.
✔ Yüksek yük dönemlerinde bile otomatik olarak ölçeklendirilir.
Premium plan Uygulamaları boşta kaldıktan sonra gecikme olmadan çalıştıran, daha güçlü örneklerde çalışan ve sanal ağlara bağlanan önceden uyarlanmış çalışanlar kullanılarak isteğe göre otomatik olarak ölçeklendirilir.

Aşağıdaki durumlarda Azure İşlevleri Premium planını göz önünde bulundurun:

✔ İşlev uygulamalarınız sürekli veya neredeyse sürekli çalışır.
✔ Örnekleriniz üzerinde daha fazla denetime sahip olmak ve olay temelli ölçeklendirme ile aynı plana birden çok işlev uygulaması dağıtmak istiyorsunuz.
✔ Tüketim planında çok sayıda küçük yürütme ve yüksek yürütme faturanız, ancak düşük GB saniyeniz vardır.
✔ Tüketim planları tarafından sağlanandan daha fazla CPU veya bellek seçeneğine ihtiyacınız vardır.
✔ Kodunuzun Tüketim planında izin verilen en uzun yürütme süresinden daha uzun çalışması gerekir.
✔ Sanal ağ bağlantısına ihtiyacınız vardır.
✔ İşlevlerinizin çalıştırıldığı özel bir Linux görüntüsü sağlamak istiyorsunuz.
Ayrılmış plan İşlevlerinizi bir App Service planında normal App Service planı fiyatlarında çalıştırın.

Dayanıklı İşlevler kullanılamadığı uzun süre çalışan senaryolar için en iyi yöntemdir. Aşağıdaki durumlarda bir App Service planı düşünün:

✔ Zaten diğer App Service örneklerini çalıştıran mevcut ve az kullanılan sanal makineleriniz var.
✔ Tam olarak tahmin edilebilir bir faturalamaya sahip olmanız veya örnekleri el ile ölçeklendirmeniz gerekir.
✔ Aynı planda birden çok web uygulaması ve işlev uygulaması çalıştırmak istiyorsunuz
✔ Daha büyük işlem boyutu seçeneklerine erişmeniz gerekir.
✔ bir App Service Ortamı (ASE) tarafından sağlanan tam işlem yalıtımı ve güvenli ağ erişimi.
✔ Çok yüksek bellek kullanımı ve yüksek ölçek (ASE).
Container Apps Azure Container Apps tarafından barındırılan tam olarak yönetilen bir ortamda kapsayıcılı işlev uygulamaları oluşturun ve dağıtın.

Olay odaklı, sunucusuz ve bulutta yerel işlev uygulamaları oluşturmak için Azure İşlevleri programlama modelini kullanın. İşlevlerinizi diğer mikro hizmetler, API'ler, web siteleri ve iş akışlarıyla birlikte kapsayıcı tarafından barındırılan programlar olarak çalıştırın. Aşağıdaki durumlarda işlevlerinizi Container Apps'te barındırmayı göz önünde bulundurun:

✔ İş kolu uygulamalarını desteklemek için işlev kodunuzla özel kitaplıkları paketlemek istiyorsunuz.
✔ Şirket içi veya eski uygulamalardan kod yürütmeyi kapsayıcılarda çalışan buluta özel mikro hizmetlere geçirmeniz gerekir.
✔ Kubernetes kümelerini ve ayrılmış işlem yönetiminin ek yükünü ve karmaşıklığını önlemek istediğinizde.
✔ İşlevleriniz, ayrılmış GPU işlem kaynakları tarafından sağlanan üst düzey işleme gücüne ihtiyaç duyar.

Bu makaledeki diğer tablolar, barındırma seçeneklerini çeşitli özelliklere ve davranışlara göre karşılaştırır.

İşletim sistemi desteği

Bu tabloda barındırma seçenekleri için işletim sistemi desteği gösterilmektedir.

Barındırma Linux1 dağıtımı Windows2 dağıtımı
Tüketim planı ✅ Yalnızca kod
❌ Kapsayıcı (desteklenmez)
✅ Yalnızca kod
Esnek Tüketim planı ✅ Yalnızca kod
❌ Kapsayıcı (desteklenmez)
❌ Desteklenmiyor
Premium plan ✅ Yalnızca kod
✅ Kapsayıcı
✅ Yalnızca kod
Ayrılmış plan ✅ Yalnızca kod
✅ Kapsayıcı
✅ Yalnızca kod
Container Apps ✅ Yalnızca kapsayıcı ❌ Desteklenmiyor

1 Linux, Python çalışma zamanı yığını için desteklenen tek işletim sistemidir.
2 Windows dağıtımları yalnızca koda yöneliktir. İşlevler şu anda Windows kapsayıcılarını desteklemez.

İşlev uygulaması zaman aşımı süresi

İşlev uygulamasındaki işlevlerin zaman aşımı süresi, host.json proje dosyasındaki özelliği tarafından functionTimeout tanımlanır. Bu özellik özellikle işlev yürütmeleri için geçerlidir. Tetikleyici işlev yürütmeyi başlattığında, işlevin zaman aşımı süresi içinde döndürülmesi/yanıt vermesi gerekir. Daha fazla bilgi için bkz. Azure İşlevleri performansını ve güvenilirliğini geliştirme.

Aşağıdaki tabloda belirli planlar için varsayılan ve en yüksek değerler (dakika cinsinden) gösterilmektedir:

Planlama Varsayılan En Fazla1
Tüketim planı 5 10
Esnek Tüketim planı 30 Sınırsız3
Premium plan 302 Sınırsız3
Ayrılmış plan 302 Sınırsız3

1 İşlev uygulaması zaman aşımı ayarından bağımsız olarak 230 saniye, HTTP ile tetiklenen bir işlevin isteğe yanıt vermesi için gereken en uzun süredir. Bunun nedeni Azure Load Balancer'ın varsayılan boşta kalma zaman aşımıdır. Daha uzun işleme süreleri için zaman uyumsuz Dayanıklı İşlevler desenini kullanmayı veya fiili çalışmayı ertelemeyi ve anında yanıt döndürmeyi göz önünde bulundurun.
2 İşlevler çalışma zamanının 1.x sürümü için varsayılan zaman aşımı sınırsızdır.
3 60 dakikaya kadar garanti edilir. İşletim sistemi ve çalışma zamanı düzeltme eki uygulama, güvenlik açığı düzeltme eki uygulama ve davranış ölçeği işlevleri yine iptal edebilir, bu nedenle sağlam işlevler yazdığınızdan emin olun. 4 Esnek Tüketim planında, konak yürütme süresi sınırını zorlamaz. Ancak, platformun ölçeği daraltma, dağıtımlar sırasında veya güncelleştirmeleri uygulamak için örneklerinizi sonlandırması gerekebileceğinden şu anda hiçbir garanti yoktur.

Dil desteği

İşlevler'deki geçerli yerel dil yığını desteği hakkında ayrıntılı bilgi için bkz. Azure İşlevleri'da desteklenen diller.

Ölçek

Aşağıdaki tablo, çeşitli barındırma planlarının ölçeklendirme davranışlarını karşılaştırır.
Maksimum örnekler, aksi belirtilmedikçe işlev başına uygulama (Tüketim) veya plan başına (Premium/Ayrılmış) temelinde verilir.

Planlama Ölçeği genişletme En fazla # örneği
Tüketim planı Olay temelli. Yüksek yük dönemlerinde bile ölçeği otomatik olarak genişletebilir. İşlevler altyapısı, gelen tetikleyici olaylarının sayısına göre İşlevler konağına daha fazla örnek ekleyerek CPU ve bellek kaynaklarını ölçeklendirir. Windows: 200
Linux: 1001
Esnek Tüketim planı İşlev başına ölçeklendirme. Olay temelli ölçeklendirme kararları işlev başına hesaplanır ve bu da uygulamanızdaki işlevleri ölçeklendirmenin daha belirleyici bir yolunu sağlar. HTTP, Blob depolama (Event Grid) ve Dayanıklı İşlevler dışında, uygulamanızdaki diğer tüm işlev tetikleyici türleri bağımsız örneklere göre ölçeklendirilir. Uygulamanızdaki tüm HTTP tetikleyicileri, tüm Blob depolama (Event Grid) tetikleyicileri gibi aynı örneklerde bir grup olarak birlikte ölçeklendirilir. Tüm Dayanıklı İşlevler tetikleyicileri de örnekleri paylaşır ve birlikte ölçeklendirir. Yalnızca belirli bir bölgedeki tüm örneklerin toplam bellek kullanımıyla sınırlıdır. Daha fazla bilgi için bkz . Örnek belleği.
Premium plan Olay temelli. Yüksek yük dönemlerinde bile ölçeği otomatik olarak genişletme. Azure İşlevleri altyapısı, işlevlerinin tetiklediği olay sayısına göre İşlevler konağına daha fazla örnek ekleyerek CPU ve bellek kaynaklarını ölçeklendirir. Windows: 100
Linux: 20-1002
Ayrılmış plan3 El ile/otomatik ölçeklendirme 10-30
100 (ASE)

1 Ölçeği genişletme sırasında, tüketim planındaki Linux uygulamaları için abonelik başına saatte 500 örnek sınırı vardır.
2 Bazı bölgelerde Premium plandaki Linux uygulamaları 100 örneğe ölçeklendirilebilir. Daha fazla bilgi için Premium plan makalesine bakın.
3 Çeşitli App Service planı seçenekleri için belirli sınırlar için bkz . App Service planı sınırları.

Soğuk başlangıç davranışı

Planlama Ayrıntılar
Tüketim planı Uygulamalar boştayken sıfıra ölçeklendirilebilir, bu da bazı isteklerin başlangıçta daha fazla gecikme süresine sahip olabileceği anlamına gelir. Tüketim planı, zaten işlev konağı ve dil işlemlerinin çalıştığı önceden hazır yer tutucu işlevlerden çekme de dahil olmak üzere soğuk başlangıç süresini azaltmaya yardımcı olacak bazı iyileştirmelere sahiptir.
Esnek Tüketim planı Yeni örnekler sağlanırken gecikmeyi azaltmak için her zaman hazır örnekleri destekler.
Premium plan Bir veya daha fazla sürekli sıcak örneği korumanıza izin vererek soğuk başlangıçları önlemek için her zaman hazır örnekleri destekler.
Ayrılmış plan Ayrılmış planda çalışırken İşlevler konağı, belirtilen sayıda örnekte sürekli olarak çalışabilir ve bu da soğuk başlatmanın gerçekten sorun olmadığı anlamına gelir.

Hizmet sınırları

Kaynak Tüketim planı Esnek Tüketim planı12 Premium plan Ayrılmış plan/ASE
Varsayılan zaman aşımı süresi (dk) 5 30 30 301
En uzun zaman aşımı süresi (dk) 10 ilişkisiz15 ilişkisiz7 ilişkisiz2
En fazla giden bağlantı (örnek başına) 600 etkin (toplam 1200) Sınırsız Sınırsız Sınırsız
Maksimum istek boyutu (MB)3 100 100 100 100
En fazla sorgu dizesi uzunluğu3 4096 4096 4096 4096
En fazla istek URL'si uzunluğu3 8192 8192 8192 8192
Örnek başına ACU 100 Değişir 210-840 100-840/210-2508
Maksimum bellek (örnek başına GB) 1.5 413 3.5-14 1.75-14/3.5-14
En fazla örnek sayısı (Windows/Linux) 200/100 1000 14 100/20 SKU/1009'a göre değişir
Planbaşına işlev uygulamaları 11 100 100 100 ilişkisiz4
App Service planları Bölge başına 100 yok Kaynak grubu başına 100 Kaynak grubu başına 100
Uygulamabaşına dağıtım yuvaları 10 2 yok 3 1-209
Depolama 5 5 GB 250 GB 250 GB 50-1000 GB
Uygulama başına özel etki alanları 5006 500 500 500
Özel etki alanı SSL desteği ilişkisiz SNI SSL bağlantısı dahil ilişkisiz SNI SSL ve 1 IP SSL bağlantısı dahil ilişkisiz SNI SSL ve 1 IP SSL bağlantısı dahil ilişkisiz SNI SSL ve 1 IP SSL bağlantısı dahil

Hizmet sınırlarıyla ilgili notlar:

  1. Varsayılan olarak, App Service planındaki İşlevler 1.x çalışma zamanı zaman aşımı sınırsızdır.
  2. App Service planının Always On olarak ayarlanmasını gerektirir. Standart fiyatlarla ödeme.
  3. Bu sınırlar konakta ayarlanır.
  4. Barındırabileceğiniz işlev uygulamalarının gerçek sayısı, uygulamaların etkinliğine, makine örneklerinin boyutuna ve buna karşılık gelen kaynak kullanımına bağlıdır.
  5. Depolama sınırı, aynı App Service planındaki tüm uygulamalar genelinde geçici depolamadaki toplam içerik boyutudur. Tüketim planı, geçici depolama için Azure Dosyalar kullanır.
  6. İşlev uygulamanız tüketim planında barındırıldığında yalnızca CNAME seçeneği desteklenir. Premium plan veya App Service planındaki işlev uygulamaları için, CNAME veya A kaydı kullanarak özel bir etki alanını eşleyebilirsiniz.
  7. 60 dakikaya kadar garanti edilir.
  8. Çalışanlar, 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. Ayrıntılar için bkz . App Service sınırları .
  10. Üretim yuvası dahil.
  11. Şu anda belirli bir abonelikte 5000 işlev uygulaması sınırı vardır.
  12. Flex Consumption planı şu anda önizleme aşamasındadır.
  13. Esnek Tüketim planı örnek boyutları şu anda 2.048 MB veya 4.096 MB olarak tanımlanmaktadır. Daha fazla bilgi için bkz . Örnek belleği.
  14. Önizleme sırasında Esnek Tüketim planı, belirli bir bölgedeki tüm örneklerin toplam bellek kullanımını sınırlayan bölgesel bir abonelik kotasına sahiptir. Daha fazla bilgi için bkz . Örnek belleği.
  15. Esnek Tüketim planında konak, yürütme süresi sınırını zorlamaz. Ancak, platformun ölçeği daraltma, dağıtımlar sırasında veya güncelleştirmeleri uygulamak için örneklerinizi sonlandırması gerekebileceğinden şu anda hiçbir garanti yoktur.

Ağ özellikleri

Özellik Tüketim planı Esnek Tüketim planı Premium plan Ayrılmış plan/ASE
Gelen IP kısıtlamaları ✅Evet ✅Evet ✅Evet ✅Evet
Gelen Özel Uç Noktalar ❌No ✅Evet ✅Evet ✅Evet
Sanal ağ tümleştirmesi ❌No ✅Evet (Bölgesel) ✅Evet (Bölgesel) ✅Evet (Bölgesel ve Ağ Geçidi)
Sanal ağ tetikleyicileri (HTTP olmayan) ❌No ✅Evet ✅Evet ✅Evet
Karma bağlantılar (yalnızca Windows) ❌No ✅Evet ✅Evet ✅Evet
Giden IP kısıtlamaları ❌No ✅Evet ✅Evet ✅Evet

Faturalandırma

Planlama Ayrıntılar
Tüketim planı Yalnızca işlevlerinizin çalıştığı 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.
Esnek Tüketim planı Faturalama, yürütme sayısına, işlevleri etkin bir şekilde yürüten örneklerin belleğine ve her zaman hazır örneklerin maliyetine bağlıdır. Daha fazla bilgi için bkz . Esnek Tüketim planı faturalaması.
Premium plan Premium plan, gerekli ve önceden uyarlanmış örneklerde kullanılan çekirdek saniye ve bellek sayısını temel alır. Plan başına en az bir örnek her zaman sıcak tutulmalıdır. Bu plan en öngörülebilir fiyatlandırmayı sağlar.
Ayrılmış plan App Service Planındaki işlev uygulamaları için, web uygulamaları gibi diğer App Service kaynakları için yaptığınız gibi ödeme yaparsınız.

ASE için, altyapı için ödenen ve ortamın boyutuyla değişmeyen sabit bir aylık ücret vardır. App Service planı vCPU başına bir maliyet de vardır. ASE'de barındırılan tüm uygulamalar, Yalıtılmış fiyatlandırma SKU’su içindedir. Daha fazla bilgi için ASE'ye genel bakış makalesine bakın.

Dinamik barındırma planları (Tüketim, Esnek Tüketim ve Premium) arasında doğrudan maliyet karşılaştırması için Azure İşlevleri fiyatlandırma sayfasına bakın. Çeşitli Ayrılmış plan seçeneklerinin fiyatlandırması için App Service fiyatlandırma sayfasına bakın. Container Apps barındırma fiyatlandırması için bkz . Azure Container Apps fiyatlandırması.

Mevcut bir kaynak grubunda yeni işlev uygulamaları oluşturma sınırlamaları

Bazı durumlarda, mevcut bir kaynak grubunda işlev uygulamanız için yeni bir barındırma planı oluşturmaya çalışırken aşağıdaki hatalardan birini alabilirsiniz:

  • Bu kaynak grubunda fiyatlandırma katmanına izin verilmiyor
  • <> SKU_name çalışanları kaynak grubu <resource_group_name>

Aşağıdaki koşullar karşılandığında bu durum oluşabilir:

  • Daha önce başka bir işlev uygulaması veya web uygulaması içeren mevcut bir kaynak grubunda işlev uygulaması oluşturursunuz. Örneğin, Linux Tüketim uygulamaları Linux Ayrılmış veya Linux Premium planları ile aynı kaynak grubunda desteklenmez.
  • Yeni işlev uygulamanız önceki uygulamayla aynı bölgede oluşturulur.
  • Önceki uygulama bir şekilde yeni uygulamanızla uyumsuz. Bu hata SKU'lar, işletim sistemleri arasında veya kullanılabilirlik alanı desteği gibi platform düzeyindeki diğer özelliklerden kaynaklanabilir.

Bunun nedeni, işlev uygulaması ve web uygulaması planlarının oluşturulurken farklı kaynak havuzlarına nasıl eşlenmesidir. Farklı SKU'lar farklı bir altyapı özellikleri kümesi gerektirir. Bir kaynak grubunda uygulama oluşturduğunuzda, bu kaynak grubu eşlenir ve belirli bir kaynak havuzuna atanır. Bu kaynak grubunda başka bir plan oluşturmaya çalışırsanız ve eşlenen havuz gerekli kaynaklara sahip değilse, bu hata oluşur.

Bu hata oluştuğunda bunun yerine işlev uygulamanızı ve barındırma planınızı yeni bir kaynak grubunda oluşturun.

Sonraki adımlar