Aracılığıyla paylaş


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
✅ Konteyner
✅ Yalnızca kod
Ayrılmış plan ✅ Yalnızca kod
✅ Konteyner
✅ 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. Zaman aşımlarından kaçınmak için sağlam işlevler yazmak önemlidir. 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 İlişkisiz2
Premium plan 304 İlişkisiz2
Ayrılmış plan 304 İlişkisiz3
Container Apps 30 İlişkisiz4
  1. İşlev uygulamasının zaman aşımı ayarından bağımsız olarak, HTTP tarafından tetiklenen bir işlevin isteği yanıtlaması en fazla 230 saniye sürebilir. 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. Zorunlu yürütme zaman aşımı süresi üst sınırı yoktur. Ancak, bir işlev yürütmesine verilen yetkisiz kullanım süresi Esnek Tüketim ve Premium planları için ölçeğin ölçeğinde 60 dakikadır ve platform güncelleştirmeleri sırasında 10 dakikalık bir yetkisiz kullanım süresi verilir.
  3. App Service planının Always On olarak ayarlanmasını gerektirir. Platform güncelleştirmeleri sırasında 10 dakikalık bir yetkisiz kullanım süresi verilir.
  4. İşlevler konak çalışma zamanının 1.x sürümü için varsayılan zaman aşımı sınırsızdır.
  5. En az çoğaltma sayısı sıfır olarak ayarlandığında, varsayılan zaman aşımı uygulamada kullanılan belirli tetikleyicilere bağlıdır.

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)
Container Apps 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. 300-10004
  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ı.
  4. Container Apps'te varsayılan değer 10 örnektir, ancak toplam en fazla 1000 çoğaltma içeren en fazla çoğaltma sayısını ayarlayabilirsiniz. Yeterli çekirdek kotası olduğu sürece bu ayar kabul edilir. İşlev uygulamanızı Azure portalından oluşturduğunuzda 300 örnekle sınırlısınız.

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ında, zaten konak 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ştirmeler vardır.
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.
Container Apps En az çoğaltma sayısına bağlıdır:
• Sıfır olarak ayarlandığında: uygulamalar boşta olduğunda sıfıra ölçeklendirilebilir ve bazı istekler başlangıçta daha fazla gecikme süresine sahip olabilir.
• Bir veya daha fazla olarak ayarlandığında: konak işlemi sürekli çalışır, bu da soğuk başlatmanın sorun olmadığı anlamına gelir.

Hizmet sınırları

Kaynak Tüketim planı Esnek Tüketim planı13 Premium plan Ayrılmış plan/ASE Container Apps
Varsayılan zaman aşımı süresi (dk) 5 30 30 301 3016
En uzun zaman aşımı süresi (dk) 10 ilişkisiz8 ilişkisiz8 ilişkisiz2 ilişkisiz17
En fazla giden bağlantı (örnek başına) 600 etkin (toplam 1200) Sınırsız Sınırsız Sınırsız Sınırsız
Maksimum istek boyutu (MB)3 100 100 100 100 100
En fazla sorgu dizesi uzunluğu3 4096 4096 4096 4096 4096
En fazla istek URL'si uzunluğu3 8192 8192 8192 8192 8192
Örnek başına ACU 100 Değişir 210-840 100-840/210-2509 Değişir
Maksimum bellek (örnek başına GB) 1.5 414 3.5-14 1.75-14/3.5-14 Değişir
En fazla örnek sayısı (Windows/Linux) 200/100 1000 15 100/20 SKU/100 10'agöre değişir 10-30018
Planbaşına işlev uygulamaları 12 100 100 100 ilişkisiz4 ilişkisiz4
App Service planları Bölge başına 100 yok Kaynak grubu başına 100 Kaynak grubu başına 100 yok
Uygulamabaşına dağıtım yuvaları 11 2 yok 3 1-2010 desteklenmiyor
Depolama (geçici)5 0.5 GB 0,8 GB 21-140 GB 11-140 GB yok
Depolama (kalıcı) 1 GB6 0 GB6 250 GB 10-1000 GB10 yok
Uygulama başına özel etki alanları 5007 500 500 500 desteklenmiyor
Ö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 desteklenmiyor

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. Platform güncelleştirmeleri sırasında 10 dakikalık bir yetkisiz kullanım süresi verilir.
  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. Linux'ta Tüketim planları için depolama alanı şu anda 1,5 GB'tır.
  6. Tüketim planı, kalıcı depolama için bir Azure Dosyalar paylaşımı kullanır. Kendi Azure Dosyalar paylaşımınızı sağladığınızda, belirli paylaşım boyutu sınırları WEBSITE_CONTENTAZUREFILECONNECTIONSTRING için ayarladığınız depolama hesabına bağlıdır. Linux'ta, hem Flex Consumption hem de Consumption planları için kendi Azure Dosyalar paylaşımınızı açıkça bağlamanız gerekir.
  7. İş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.
  8. Zorunlu yürütme zaman aşımı süresi üst sınırı yoktur. Ancak, işlev yürütmeye verilen yetkisiz kullanım süresi, ölçeğin ölçeğinde 60 dakika ve platform güncelleştirmeleri sırasında 10 dakikadır.
  9. Ç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.
  10. Ayrıntılar için bkz . App Service sınırları .
  11. Üretim yuvası dahil.
  12. Şu anda belirli bir abonelikte 5000 işlev uygulaması sınırı vardır.
  13. Flex Consumption planı şu anda önizleme aşamasındadır.
  14. 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.
  15. Ö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.
  16. En az çoğaltma sayısı sıfır olarak ayarlandığında, varsayılan zaman aşımı uygulamada kullanılan belirli tetikleyicilere bağlıdır.
  17. En az çoğaltma sayısı bir veya daha fazla olarak ayarlandığında.
  18. Container Apps'te, kullanılabilir yeterli çekirdek kotası olduğu sürece kabul edilen en fazla çoğaltma sayısını ayarlayabilirsiniz.

Ağ özellikleri

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

*Daha fazla bilgi için bkz . Azure Container Apps ortamında ağ.

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.
Container Apps Azure Container Apps'te faturalama, plan türünüzü temel alır. Daha fazla bilgi için bkz . Azure Container Apps'te faturalama.

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