Opties voor Azure Functions hostenAzure Functions hosting options

Wanneer u een functie-app in azure maakt, moet u een hosting abonnement kiezen voor uw app.When you create a function app in Azure, you must choose a hosting plan for your app. Er zijn drie elementaire hosting plannen beschikbaar voor Azure Functions: verbruiks abonnement, Premium planen toegewezen (app service)-abonnement.There are three basic hosting plans available for Azure Functions: Consumption plan, Premium plan, and Dedicated (App Service) plan. Alle hosting plannen zijn algemeen beschikbaar (GA) op virtuele machines met Linux en Windows.All hosting plans are generally available (GA) on both Linux and Windows virtual machines.

Het hosting abonnement dat u kiest, bepaalt het volgende gedrag:The hosting plan you choose dictates the following behaviors:

  • Hoe de functie-app wordt geschaald.How your function app is scaled.
  • De bronnen die beschikbaar zijn voor elk exemplaar van de functie-app.The resources available to each function app instance.
  • Ondersteuning voor geavanceerde functionaliteit, zoals Azure Virtual Network-connectiviteit.Support for advanced functionality, such as Azure Virtual Network connectivity.

In dit artikel vindt u een gedetailleerde vergelijking tussen de verschillende hosting plannen, samen met op Kubernetes gebaseerde hosting.This article provides a detailed comparison between the various hosting plans, along with Kubernetes-based hosting.

Overzicht van plannenOverview of plans

Hieronder vindt u een overzicht van de voor delen van de drie belangrijkste hosting plannen voor-functies:The following is a summary of the benefits of the three main hosting plans for Functions:

PlannenPlan VoordelenBenefits
VerbruiksabonnementConsumption plan Schaal automatisch en betaal alleen voor reken resources wanneer uw functies worden uitgevoerd.Scale automatically and only pay for compute resources when your functions are running.

In het verbruiks plan worden instanties van de functions-host dynamisch toegevoegd en verwijderd op basis van het aantal binnenkomende gebeurtenissen.On the Consumption plan, instances of the Functions host are dynamically added and removed based on the number of incoming events.

✔ Standaard hosting plan.✔ Default hosting plan.
✔ Betaal alleen wanneer uw functies worden uitgevoerd.✔ Pay only when your functions are running.
✔ Automatisch schalen, zelfs tijdens het aantal Peri Oden van hoge belasting.✔ Scales automatically, even during periods of high load.
Premium-abonnementPremium plan Schaalt automatisch op basis van de vraag met vooraf gewarmde werk rollen die toepassingen uitvoeren zonder vertraging na inactiviteit, worden uitgevoerd op krachtigere instanties en maakt verbinding met virtuele netwerken.Automatically scales based on demand using pre-warmed workers which run applications with no delay after being idle, runs on more powerful instances, and connects to virtual networks.

Bekijk het Azure Functions Premium-abonnement in de volgende situaties:Consider the Azure Functions Premium plan in the following situations:

✔ Uw functie-apps continu of bijna continu worden uitgevoerd.✔ Your function apps run continuously, or nearly continuously.
✔ U een groot aantal kleine uitvoeringen en een hoge uitvoerings factuur hebt, maar in het verbruiks abonnement is er minder dan een seconde.✔ You have a high number of small executions and a high execution bill, but low GB seconds in the Consumption plan.
✔ U meer CPU-of geheugen opties nodig hebt dan wat wordt aangegeven door het verbruiks abonnement.✔ You need more CPU or memory options than what is provided by the Consumption plan.
✔ De code moet langer worden uitgevoerd dan de Maxi maal toegestane uitvoerings tijd voor het verbruiks abonnement.✔ Your code needs to run longer than the maximum execution time allowed on the Consumption plan.
✔ U functies nodig hebt die niet beschikbaar zijn in het verbruiks abonnement, zoals verbinding met het virtuele netwerk.✔ You require features that aren't available on the Consumption plan, such as virtual network connectivity.
Toegewezen abonnementDedicated plan Voer uw functies uit binnen een App Service plan op regel matige app service plan tarieven.Run your functions within an App Service plan at regular App Service plan rates.

Geschikt voor langlopende scenario's waarbij Durable functions niet kan worden gebruikt.Best for long-running scenarios where Durable Functions can't be used. Houd rekening met een App Service-abonnement in de volgende situaties:Consider an App Service plan in the following situations:

✔ U bestaande, geApp Servicede virtuele machines die al worden uitgevoerd, worden gebruikt.✔ You have existing, underutilized VMs that are already running other App Service instances.
✔ U een aangepaste installatie kopie wilt opgeven waarop uw functies moeten worden uitgevoerd.✔ You want to provide a custom image on which to run your functions.
✔ Voorspellende schaling en kosten zijn vereist.✔ Predictive scaling and costs are required.

De vergelijkings tabellen in dit artikel bevatten ook de volgende hosting opties, die de hoogste mate van controle en isolatie bieden waarin u uw functie-apps kunt uitvoeren.The comparison tables in this article also include the following hosting options, which provide the highest amount of control and isolation in which to run your function apps.

Hosting optieHosting option DetailsDetails
ASEASE App Service Environment (ASE) is een App Service functie die een volledig geïsoleerde en toegewezen omgeving biedt voor het veilig uitvoeren van App Service-apps op grote schaal.App Service Environment (ASE) is an App Service feature that provides a fully isolated and dedicated environment for securely running App Service apps at high scale.

As zijn geschikt voor werk belastingen van toepassingen die nodig zijn voor:ASEs are appropriate for application workloads that require:

✔ Zeer grote schaal.✔ Very high scale.
✔ Volledige Compute-isolatie en beveiligde netwerk toegang.✔ Full compute isolation and secure network access.
✔ Hoog geheugen gebruik.✔ High memory usage.
KubernetesKubernetes Kubernetes biedt een volledig geïsoleerde en toegewezen omgeving die boven op het Kubernetes-platform wordt uitgevoerd.Kubernetes provides a fully isolated and dedicated environment running on top of the Kubernetes platform.

Kubernetes is geschikt voor werk belastingen van toepassingen die het volgende vereisen:Kubernetes is appropriate for application workloads that require:
Aangepaste hardwarevereisten ✔.✔ Custom hardware requirements.
✔ Isolatie en beveiligde netwerk toegang.✔ Isolation and secure network access.
✔ Mogelijkheid om uit te voeren in een hybride of multi-cloud omgeving.✔ Ability to run in hybrid or multi-cloud environment.
✔ Uitgevoerd naast bestaande Kubernetes-toepassingen en-services.✔ Run alongside existing Kubernetes applications and services.

In de overige tabellen in dit artikel worden de plannen vergeleken met verschillende functies en gedragingen.The remaining tables in this article compare the plans on various features and behaviors. Zie de pagina met prijzen voor Azure functionsvoor een kosten vergelijking tussen dynamische hosting plannen (verbruik en Premium).For a cost comparison between dynamic hosting plans (Consumption and Premium), see the Azure Functions pricing page. Zie de pagina met app service prijzenvoor prijzen van de verschillende opties voor toegewezen abonnementen.For pricing of the various Dedicated plan options, see the App Service pricing page.

Besturings systeem/runtimeOperating system/runtime

De volgende tabel geeft een lijst van ondersteunde besturingssysteem-en taal runtime-ondersteuning voor de hosting plannen.The following table shows supported operating system and language runtime support for the hosting plans.

Linux1Linux1
Alleen codeCode-only
Windows2Windows2
Alleen codeCode-only
Linux1, 3Linux1,3
Docker-containerDocker container
VerbruiksabonnementConsumption plan .NET Core.NET Core
Node.jsNode.js
JavaJava
PythonPython
.NET Core.NET Core
Node.jsNode.js
JavaJava
PowerShell CorePowerShell Core
Geen ondersteuningNo support
Premium-abonnementPremium plan .NET Core.NET Core
Node.jsNode.js
JavaJava
PythonPython
.NET Core.NET Core
Node.jsNode.js
JavaJava
PowerShell CorePowerShell Core
.NET Core.NET Core
Node.jsNode.js
JavaJava
PowerShell CorePowerShell Core
PythonPython
Toegewezen abonnementDedicated plan .NET Core.NET Core
Node.jsNode.js
JavaJava
PythonPython
.NET Core.NET Core
Node.jsNode.js
JavaJava
PowerShell CorePowerShell Core
.NET Core.NET Core
Node.jsNode.js
JavaJava
PowerShell CorePowerShell Core
PythonPython
ASEASE .NET Core.NET Core
Node.jsNode.js
JavaJava
PythonPython
.NET Core.NET Core
Node.jsNode.js
JavaJava
PowerShell CorePowerShell Core
.NET Core.NET Core
Node.jsNode.js
JavaJava
PowerShell CorePowerShell Core
PythonPython
KubernetesKubernetes n.v.t.n/a n.v.t.n/a .NET Core.NET Core
Node.jsNode.js
JavaJava
PowerShell CorePowerShell Core
PythonPython

1 Linux is het enige besturings systeem dat wordt ondersteund voor de python-runtime stack.1 Linux is the only supported operating system for the Python runtime stack.
2 Windows is het enige besturings systeem dat wordt ondersteund voor de Power shell-runtime stack.2 Windows is the only supported operating system for the PowerShell runtime stack.
3 Linux is het enige besturings systeem dat wordt ondersteund voor docker-containers.3 Linux is the only supported operating system for Docker containers.

Time-outduur voor Function-appFunction app timeout duration

De time-outduur van een Function-app wordt gedefinieerd door de eigenschap functionTimeout in het projectbestand host.json.The timeout duration of a function app is defined by the functionTimeout property in the host.json project file. In de volgende tabel ziet u de standaard- en maximumwaarden in minuten voor beide abonnementen en de verschillende runtimeversies:The following table shows the default and maximum values in minutes for both plans and the different runtime versions:

PlannenPlan Runtime-versieRuntime Version StandaardDefault MaximumMaximum
VerbruikConsumption 1.x1.x 55 1010
VerbruikConsumption 2.x2.x 55 1010
VerbruikConsumption 3.x3.x 55 1010
PremiumPremium 1.x1.x 3030 OnbeperktUnlimited
PremiumPremium 2.x2.x 3030 OnbeperktUnlimited
PremiumPremium 3.x3.x 3030 OnbeperktUnlimited
App ServiceApp Service 1.x1.x OnbeperktUnlimited OnbeperktUnlimited
App ServiceApp Service 2.x2.x 3030 OnbeperktUnlimited
App ServiceApp Service 3.x3.x 3030 OnbeperktUnlimited

Notitie

Ongeacht de time-outinstelling van de Function-app is 230 seconden de maximale tijdsduur die een door HTTP geactiveerde functie heeft om te reageren op een aanvraag.Regardless of the function app timeout setting, 230 seconds is the maximum amount of time that an HTTP triggered function can take to respond to a request. Dit komt door de standaard time-out voor inactiviteit van Azure Load Balancer.This is because of the default idle timeout of Azure Load Balancer. Overweeg voor langere verwerkingstijden het asynchrone Durable Functions-patroon te gebruiken of stel het werk uit en stuur onmiddellijk een antwoord terug.For longer processing times, consider using the Durable Functions async pattern or defer the actual work and return an immediate response.

SchalenScale

De volgende tabel vergelijkt het schaal gedrag van de verschillende hosting plannen.The following table compares the scaling behaviors of the various hosting plans.

PlannenPlan UitschalenScale out Maximum aantal instantiesMax # instances
VerbruiksabonnementConsumption plan Gestuurde gebeurtenis.Event driven. Automatisch uitschalen, zelfs tijdens het aantal Peri Oden van hoge belasting.Scale out automatically, even during periods of high load. Met Azure Functions-infra structuur worden CPU-en geheugen bronnen geschaald door extra exemplaren van de functions-host toe te voegen, op basis van het aantal inkomende trigger gebeurtenissen.Azure Functions infrastructure scales CPU and memory resources by adding additional instances of the Functions host, based on the number of incoming trigger events. 200200
Premium-abonnementPremium plan Gestuurde gebeurtenis.Event driven. Automatisch uitschalen, zelfs tijdens het aantal Peri Oden van hoge belasting.Scale out automatically, even during periods of high load. Met Azure Functions-infra structuur worden CPU-en geheugen bronnen geschaald door extra exemplaren van de functions-host toe te voegen op basis van het aantal gebeurtenissen waarvoor de functies zijn geactiveerd.Azure Functions infrastructure scales CPU and memory resources by adding additional instances of the Functions host, based on the number of events that its functions are triggered on. 100100
Toegewezen abonnement1Dedicated plan1 Hand matig/automatisch schalenManual/autoscale 10-2010-20
ASE1ASE1 Hand matig/automatisch schalenManual/autoscale 100100
KubernetesKubernetes Gebeurtenis gerichte automatisch schalen voor Kubernetes-clusters met behulp van KEDA.Event-driven autoscale for Kubernetes clusters using KEDA. Is afhankelijk   van het   cluster  Varies by cluster  

1 zie de app service plan limietenvoor specifieke limieten voor de verschillende opties voor het app service plan.1 For specific limits for the various App Service plan options, see the App Service plan limits.

Gedrag van koude startCold start behavior

PlannenPlan DetailsDetails
Verbruiks   abonnementConsumption plan Apps kunnen op nul worden geschaald wanneer ze niet actief zijn, wat betekent dat sommige aanvragen mogelijk extra latentie bij het opstarten hebben.Apps may scale to zero when idle, meaning some requests may have additional latency at startup. Het verbruiks plan heeft een aantal optimalisaties waarmee u de koude start tijd kunt verlagen, inclusief het ophalen van vooraf gewarmde tijdelijke aanduidingen waarvoor al de host-en taal processen van de functie worden uitgevoerd.The consumption plan does have some optimizations to help decrease cold start time, including pulling from pre-warmed placeholder functions that already have the function host and language processes running.
Premium-abonnementPremium plan Ongebruikte en warme exemplaren om te voor komen dat ze koud worden gestart.Perpetually warm instances to avoid any cold start.
Toegewezen abonnementDedicated plan Bij uitvoering in een speciaal plan kan de host functions continu uitvoeren, wat betekent dat koude start niet echt een probleem is.When running in a Dedicated plan, the Functions host can run continuously, which means that cold start isn't really an issue.
ASEASE Bij uitvoering in een speciaal plan kan de host functions continu uitvoeren, wat betekent dat koude start niet echt een probleem is.When running in a Dedicated plan, the Functions host can run continuously, which means that cold start isn't really an issue.
KubernetesKubernetes Afhankelijk van de configuratie van KEDA kunnen apps worden geconfigureerd om een koude start te voor komen.Depending on KEDA configuration, apps can be configured to avoid a cold start. Indien geconfigureerd om te worden geschaald naar nul, is er een koude start voor nieuwe gebeurtenissen.If configured to scale to zero, then a cold start is experienced for new events.

ServicelimietenService limits

ResourceResource VerbruiksabonnementConsumption plan Premium-abonnementPremium plan Toegewezen abonnementDedicated plan ASEASE KubernetesKubernetes
Standaard time-outduur (min.)Default timeout duration (min) 55 3030 301301 3030 3030
Maximale time-outduur (min.)Max timeout duration (min) 1010 niet-gebonden7unbounded7 niet-gebonden2unbounded2 niet-gebondenunbounded niet-gebondenunbounded
Maximumaantal uitgaande verbindingen (per exemplaar)Max outbound connections (per instance) 600 actief (1.200 totaal)600 active (1200 total) niet-gebondenunbounded niet-gebondenunbounded niet-gebondenunbounded niet-gebondenunbounded
Maximale aanvraaggrootte (MB)3Max request size (MB)3 100100 100100 100100 100100 Afhankelijk van clusterDepends on cluster
Maximale tekenreekslengte voor query's3Max query string length3 40964096 40964096 40964096 40964096 Afhankelijk van clusterDepends on cluster
Maximale lengte voor aanvraag-URL's3Max request URL length3 81928192 81928192 81928192 81928192 Afhankelijk van clusterDepends on cluster
ACU per exemplaarACU per instance 100100 210-840210-840 100-840100-840 210-2508210-2508 AKS-prijzenAKS pricing
Maximaal geheugen (GB per exemplaar)Max memory (GB per instance) 1.51.5 3,5-143.5-14 1,75-141.75-14 3,5 - 143.5 - 14 Elk knooppunt wordt ondersteundAny node is supported
Maximum aantal exemplarenMax instance count 200200 10091009 varieert per SKU10varies by SKU10 1001010010 Afhankelijk van clusterDepends on cluster
Functie-apps per abonnementFunction apps per plan 100100 100100 niet-gebonden4unbounded4 niet-gebondenunbounded niet-gebondenunbounded
App Service-abonnementenApp Service plans 100 per regio100 per region 100 per resourcegroep100 per resource group 100 per resourcegroep100 per resource group - -
Opslag5Storage5 5 TB5 TB 250 GB250 GB 50-1000 GB50-1000 GB 1 TB1 TB n.v.t.n/a
Aangepaste domeinen per appCustom domains per app 50065006 500500 500500 500500 n.v.t.n/a
Aangepast domein voor SSL-ondersteuningCustom domain SSL support niet-gebonden SNI SSL-verbinding inbegrepenunbounded SNI SSL connection included niet-gebonden SNI SSL- en 1 IP SSL-verbindingen inbegrepenunbounded SNI SSL and 1 IP SSL connections included niet-gebonden SNI SSL- en 1 IP SSL-verbindingen inbegrepenunbounded SNI SSL and 1 IP SSL connections included niet-gebonden SNI SSL- en 1 IP SSL-verbindingen inbegrepenunbounded SNI SSL and 1 IP SSL connections included n.v.t.n/a

1 De time-out voor de Functions 1.x-runtime in een App Service-abonnement is standaard niet-gebonden.1 By default, the timeout for the Functions 1.x runtime in an App Service plan is unbounded.
2 Het App Service-abonnement moet zijn ingesteld op Altijd aan.2 Requires the App Service plan be set to Always On. Tegen standaardtarieven.Pay at standard rates.
3 Deze limieten worden ingesteld in de host.3 These limits are set in the host.
4 Het werkelijke aantal functie-apps dat u kunt hosten, is afhankelijk van de activiteit van de apps, de grootte van het machine-exemplaar en het bijbehorende resourcegebruik.4 The actual number of function apps that you can host depends on the activity of the apps, the size of the machine instances, and the corresponding resource utilization.
5 De opslaglimiet is de totale inhoudsgrootte in tijdelijke opslag voor alle apps in hetzelfde App Service-abonnement.5 The storage limit is the total content size in temporary storage across all apps in the same App Service plan. Verbruiksabonnement maakt gebruik van Azure Files voor tijdelijke opslag.Consumption plan uses Azure Files for temporary storage.
6 Wanneer uw functie-app in een verbruiksabonnement wordt gehost, wordt alleen de optie CNAME ondersteund.6 When your function app is hosted in a Consumption plan, only the CNAME option is supported. Voor functie-apps in een Premium-abonnement of een App Service-abonnement kunt u een aangepast domein toewijzen met een CNAME- of A-record.For function apps in a Premium plan or an App Service plan, you can map a custom domain using either a CNAME or an A record.
7 Gegarandeerd voor maximaal 60 minuten.7 Guaranteed for up to 60 minutes.
8 Werkrollen zijn rollen die klanten-apps hosten.8 Workers are roles that host customer apps. Werkrollen zijn beschikbaar in drie vaste grootten: Eén vCPU/3,5 GB RAM; Twee vCPU/7 GB RAM; Vier vCPU/14 GB RAM.Workers are available in three fixed sizes: One vCPU/3.5 GB RAM; Two vCPU/7 GB RAM; Four vCPU/14 GB RAM.
9 wanneer u in een Premium-abonnement op Linux wordt uitgevoerd, bent u momenteel beperkt tot 20 exemplaren.9 When running on Linux in a Premium plan, you're currently limited to 20 instances.
10 Zie app service limieten voor meer informatie.10 See App Service limits for details.

NetwerkfunctiesNetworking features

FunctieFeature VerbruiksabonnementConsumption plan Premium-abonnementPremium plan Toegewezen abonnementDedicated plan ASEASE KubernetesKubernetes
Binnenkomende IP-beperkingen en toegang tot persoonlijke sitesInbound IP restrictions and private site access ✅Yes✅Yes ✅Yes✅Yes ✅Yes✅Yes ✅Yes✅Yes ✅Yes✅Yes
Integratie van virtueel netwerkVirtual network integration ❌No❌No ✅Ja (regionaal)✅Yes (Regional) ✅Ja (regionaal en gateway)✅Yes (Regional and Gateway) ✅Yes✅Yes ✅Yes✅Yes
Virtuele netwerk triggers (niet-HTTP)Virtual network triggers (non-HTTP) ❌No❌No ✅Yes✅Yes ✅Yes✅Yes ✅Yes✅Yes ✅Yes✅Yes
Hybride verbindingen (alleen Windows)Hybrid connections (Windows only) ❌No❌No ✅Yes✅Yes ✅Yes✅Yes ✅Yes✅Yes ✅Yes✅Yes
Uitgaande IP-beperkingenOutbound IP restrictions ❌No❌No ✅Yes✅Yes ✅Yes✅Yes ✅Yes✅Yes ✅Ja✅Yes

BillingBilling

PlannenPlan DetailsDetails
VerbruiksabonnementConsumption plan Betaal alleen voor de tijd dat uw functies worden uitgevoerd.Pay only for the time your functions run. De facturering is dan ook gebaseerd op het aantal uitvoeringen, de uitvoeringstijd en het gebruikte geheugen.Billing is based on number of executions, execution time, and memory used.
Premium-abonnementPremium plan Het Premium-abonnement is gebaseerd op het aantal kern seconden en het geheugen dat wordt gebruikt voor alle benodigde en vooraf gewarmde instanties.Premium plan is based on the number of core seconds and memory used across needed and pre-warmed instances. Ten minste één exemplaar per plan moet altijd warme worden bewaard.At least one instance per plan must be kept warm at all times. Dit abonnement biedt de meest voorspel bare prijzen.This plan provides the most predictable pricing.
*Toegewezen plan*Dedicated plan U betaalt hetzelfde voor functie-apps in een App Service plan zoals u zou doen voor andere App Service resources, zoals web-apps.You pay the same for function apps in an App Service Plan as you would for other App Service resources, like web apps.
App Service Environment (ASE)App Service Environment (ASE) Er is een vast maand bedrag voor een ASE dat betaalt voor de infra structuur en niet wordt gewijzigd door de grootte van de ASE.There's a flat monthly rate for an ASE that pays for the infrastructure and doesn't change with the size of the ASE. Er zijn ook kosten per App Service plan vCPU.There's also a cost per App Service plan vCPU. Alle apps die worden gehost in een AS-omgeving, vallen onder de Geïsoleerde prijs-SKU.All apps hosted in an ASE are in the Isolated pricing SKU.
KubernetesKubernetes U betaalt alleen de kosten van uw Kubernetes-cluster. geen extra facturering voor-functies.You pay only the costs of your Kubernetes cluster; no additional billing for Functions. De functie-app wordt uitgevoerd als een toepassings workload boven op het cluster, net als bij een gewone app.Your function app runs as an application workload on top of your cluster, just like a regular app.

Volgende stappenNext steps