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
Esnek Tüketim planı Azure İşlevleri Genel Erişime Açık (GA) Hiçbiri
Premium plan Azure İşlevleri Georgia Linux işletim sistemi
Özel plan Azure İşlevleri Georgia Linux işletim sistemi
Container Apps Azure Kapsayıcı Uygulamalar Georgia Linux işletim sistemi
Tüketim planı Azure İşlevleri Georgia Hiçbiri

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 nasıl ölçeklendirildiği.
  • 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ına destek.

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
Esnek Tüketim planı İşlem seçenekleri, sanal ağ ve kullandıkça öde faturalaması ile hızlı yatay ölçeklendirme 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.

✔ Soğuk başlangıçları azaltmak için önceden sağlanmış (her zaman hazır) bir veya daha fazla örnek belirtin.
✔ Ek güvenlik için sanal ağı destekler.
✔ İşlevleriniz çalışırken ödeme yapın.
✔ 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.
Özel plan İşlevlerinizi bir App Service planında normal App Service planı fiyatlarında çalıştırın.

Dayanıklı İşlevler kullanılamadığında 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.
✔ Tam işlem yalıtımı ve güvenli ağ erişimi, bir App Service Ortamı (ASE) tarafından sağlanır.
✔ Ç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.
✔ Kod yürütmeyi şirket içi veya eski uygulamalardan 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.
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.

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ı
Esnek Tüketim planı ✅ Yalnızca kod
❌ Kapsayıcı (desteklenmez)
❌ Desteklenmiyor
Premium plan ✅ Yalnızca kod
✅ Konteyner
✅ Yalnızca kod
Özel plan ✅ Yalnızca kod
✅ Konteyner
✅ Yalnızca kod
Container Apps ✅ Yalnızca kapsayıcı ❌ Desteklenmiyor
Tüketim planı ✅ Yalnızca kod
❌ Kapsayıcı (desteklenmez)
✅ Yalnızca kod
  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.jsonfunctionTimeoutözelliği tarafından 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ını önlemek 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:

Tasarı Varsayılan En Fazla1
Esnek Tüketim planı 30 Sınırsız2
Premium plan 304 Sınırsız2
Özel plan 304 Sınırsız3
Container Apps 30 Sınırsız5
Tüketim planı 5 10
  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 süresi aşımıdır. Daha uzun işleme süreleri için, zaman uyumsuz Dayanıklı İşlevler desenini kullanmayı veya asıl işi erteleyip anında yanıt döndürmeyi göz önünde bulundurun.
  2. Yürütme zaman aşımı süresi için herhangi bir üst sınır yoktur. Ancak, bir işlev yürütmesine verilen avans süresi Esnek Tüketim ve Premium planları için ölçek küçültme sırasında 60 dakikadır ve platform güncellemeleri sırasında 10 dakikalık bir avans 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.
Fonksiyon uygulaması (Tüketim) veya plan başına (Premium/Dedicated) maksimum örnek sayısı verilir, aksi belirtilmedikçe.

Tasarı Ölçek genişletme Maksimum # örnek
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. 10001
Premium plan Olay güdümlü. 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: 1006
Linux: 20-1002,6
Özel plan El ile/otomatik ölçeklendirme 10-303
100 (ASE)
Container Apps Olay güdümlü. 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
Tüketim planı Olay güdümlü. Yüksek yük dönemlerinde bile otomatik olarak ölçeklenir. İş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: 1005
  1. 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 . Bölgesel abonelik bellek kotaları. Esnek Tüketim planları şu anda yalnızca Linux'a destek sağlar.
  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çeneklerinin belirli sınırlarını görmek için App Service planı sınırları bölümüne bakın.
  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. Daha fazla bilgi için Azure Container Apps kotalarına bakın. İşlev uygulamanızı Azure portalından oluşturduğunuzda 300 örnekle sınırlısınız.
  5. Ölçekleme sırasında, Tüketim planındaki Linux uygulamaları için abonelik başına saatte 500 örnekleme sınırı vardır.
  6. Özel uç nokta kısıtlanmış http tetikleyicileri için ölçeği genişletme işlemi en fazla 20 örnekle sınırlıdır.

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

Tasarı Ayrıntılar
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 amacıyla her zaman hazır örnekleri destekler.
Özel plan Özel planda çalışırken, Functions ana bilgisayarı belirtilen sayıda örnekte sürekli olarak çalışabilir ve bu da soğuk başlangıcı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 ayarlandığında: ana süreç kesintisiz çalışır, bu da soğuk başlatmanın bir sorun olmayacağı anlamına gelir.
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, soğuk başlangıç süresini azaltmaya yardımcı olacak bazı iyileştirmeler bulunmaktadır; bunlar arasında, konak ve dil işlemlerinin zaten çalıştığı önceden ısıtılmış yer tutucu işlevlerden yararlanma da vardır.

Hizmet sınırları

Kaynak Esnek Tüketim planı Premium plan Özel plan/ASE Kapsayıcı Uygulamaları Tüketim planı
Varsayılan zaman aşımı süresi (dk) 30 30 301 3016 5
En uzun zaman aşımı süresi (dk) ilişkisiz9 ilişkisiz9 ilişkisiz2 sınırsız17 10
En fazla giden bağlantı (örnek başına) Sınırsız Sınırsız Sınırsız Sınırsız 600 etkin (toplam 1200)
Maksimum istek boyutu (MB)3 210 210 210 210 210
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 210-840 100-840/210-25010 Değişir 100 Değişir
Maksimum bellek (örnek başına GB) 414 3.5-14 1.75-256/8-256 Değişir 1.5
En fazla örnek sayısı (Windows | Linux)15 yok | 1000 20-100 10-30 (100 ASE)11 300-100018 200 | 100
Plan başına işlev uygulamaları13 1 100 ilişkisiz4 ilişkisiz4 100
App Service planları Yok Kaynak grubu başına 100 Kaynak grubu başına 100 Yok Bölge başına 100
Uygulamabaşına dağıtım yuvaları 12 Yok 3 1-2011 desteklenmiyor 2
Depolama (geçici)5 0,8 GB 21-140 GB 11-140 GB Yok 0,5 GB
Depolama (kalıcı) 0 GB7 250 GB 10-1000 GB11 Yok 1 GB6,7
Uygulama başına özel etki alanları beş yüz beş yüz beş yüz desteklenmiyor 5007
Özel etki alanı SSL/TLS desteği ilişkisiz SNI SSL ve bir IP SSL bağlantısı dahil ilişkisiz SNI SSL ve bir IP SSL bağlantısı dahil ilişkisiz SNI SSL ve bir IP SSL bağlantısı dahil desteklenmiyor ilişkisiz SNI 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ı için 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 Files 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.
  7. Linux'ta, kendi Azure Dosyalar paylaşımınızı açıkça bağlamanız gerekir.
  8. İşlev uygulamanız tüketim planında barındırıldığında yalnızca CNAME seçeneği desteklenir. Premium planındaki veya App Service planındaki işlev uygulamaları için, CNAME veya A kaydı kullanarak özel bir etki alanını eşleyebilirsiniz.
  9. Maksimum yürütme zaman aşımı süresi uygulanmamaktadır. Ancak, işlev yürütmeye verilen geçiş süresi, ölçekleme sırasında 60 dakika ve platform güncelleştirmeleri sırasında 10 dakikadır.
  10. Ç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.
  11. Ayrıntılar için bkz . App Service sınırları .
  12. Üretim slotu dahil.
  13. Şu anda belirli bir abonelikte 5.000 işlev uygulaması sınırı vardır.
  14. Esnek Tüketim planı örnek boyutları şu anda 512 MB, 2.048 MB veya 4.096 MB olarak tanımlanmaktadır. Daha fazla bilgi için bkz . Örnek belleği.
  15. Ayrıntılar için Barındırma karşılaştırma makalesindeki Ölçeklendirme bölümüne bakın.
  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. Çoğaltma sayısının minimum değeri bir veya daha fazla olarak ayarlandığında.

Ağ özellikleri

Özellik Esnek Tüketim planı Tüketim planı Premium plan Özel plan/ASE Container Apps1
Gelen IP kısıtlamaları
Gelen Özel Uç Noktalar
Sanal ağ tümleştirmesi 2 3
Giden IP kısıtlamaları
  1. Daha fazla bilgi için Azure Container Apps ortamında Ağ Çalışması bölümüne bakın.
  2. Sanal ağ tetikleyicileriyle çalışırken dikkat edilmesi gereken özel noktalar vardır.
  3. Yalnızca Dedicated/ASE planı, ağ geçidi gerektiren sanal ağ tümleştirmesini destekler.

Faturalandırma

Tasarı Ayrıntılar
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.
Özel 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ı başına vCPU için de bir maliyet 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.
Tüketim planı İşlevlerinizin çalıştığı süresince yalnızca ödeme yapın. Fatura oluşturulurken yürütme sayısı, yürütme süresi ve kullanılan bellek temel alınır.

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ı <resource_group_name> kaynak grubunda yok.

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