Azure Functions Premium abonnement
Het Azure Functions Elastic Premium-abonnement is een dynamische hostingoptie voor functie-apps. Zie het artikel over hostingplannen voor andere hosting-abonnementsopties.
Belangrijk
Azure Functions wordt uitgevoerd op het Azure App Service platform. In het App Service-platform worden plannen die als host fungeren Premium planfunctie-apps aangeduid als Elastic Premium-abonnementen, met SKU-namen als EP1 . Als u ervoor kiest om uw functie-app uit te voeren op een Premium-abonnement, moet u een plan maken met een SKU-naam die begint met 'E', zoals EP1 . App Service namen van abonnements-SKU's die beginnen met 'P', zoals P1V2 (Premium V2 Small-abonnement), zijn eigenlijk Toegewezen hostingplannen. Omdat ze Toegewezen zijn en niet elastisch Premium, kunnen plannen met SKU-namen die beginnen met P niet dynamisch worden geschaald en kunnen uw kosten toenemen.
Premium-abonnement hosten biedt de volgende voordelen voor uw functies:
- Koude starts voorkomen met exemplaren die permanent warm zijn
- Connectiviteit van virtueel netwerk.
- Onbeperkte uitvoeringsduur, met gegarandeerd 60 minuten.
- Premium instantiegrootten: één kern, twee kernen en vier kernen.
- Meer voorspelbare prijzen, vergeleken met het verbruiksplan.
- High-density app-toewijzing voor plannen met meerdere functie-apps.
Wanneer u het Premium-abonnement gebruikt, worden exemplaren van de Azure Functions-host toegevoegd en verwijderd op basis van het aantal binnenkomende gebeurtenissen, net als het Verbruiksplan. Er kunnen meerdere functie-apps worden geïmplementeerd in hetzelfde Premium-abonnement en met het plan kunt u de grootte van het reken exemplaar, de grootte van het basisplan en de maximale plangrootte configureren.
Billing
De facturering voor Premium abonnement is gebaseerd op het aantal kernseconden en het geheugen dat is toegewezen aan meerdere exemplaren. Deze facturering wijkt af van het verbruiksplan, dat wordt gefactureerd per uitvoering en verbruikt geheugen. Er worden geen uitvoeringkosten in rekening Premium het abonnement. Ten minste één exemplaar moet te allen tijde per plan worden toegewezen. Deze facturering resulteert in minimale maandelijkse kosten per actief abonnement, ongeacht of de functie actief of inactief is. Houd er rekening mee dat alle functie-apps in een Premium toegewezen exemplaren delen. Zie de pagina met prijzen Azure Functions meer informatie.
Een Premium maken
Wanneer u een functie-app in de Azure Portal, is het verbruiksplan de standaardinstelling. Als u een functie-app wilt maken die wordt uitgevoerd in een Premium-abonnement, moet u expliciet een App Service-abonnement maken met behulp van een van de Elastic Premium-SKU's. De functie-app die u maakt, wordt vervolgens gehost in dit plan. Met Azure Portal kunt u eenvoudig tegelijkertijd zowel het Premium plan als de functie-app maken. U kunt meer dan één functie-app uitvoeren in hetzelfde Premium-abonnement, maar ze worden meestal uitgevoerd op hetzelfde besturingssysteem (Windows of Linux).
In de volgende artikelen ziet u hoe u een functie-app maakt met een Premium-abonnement, programmatisch of in de Azure Portal:
Koude start elimineren
Wanneer er geen gebeurtenissen of uitvoeringen plaatsvinden in het verbruiksplan, kan uw app worden geschaald naar nul exemplaren. Wanneer er nieuwe gebeurtenissen binnen komen, moet er een nieuw exemplaar zijn waarop uw app wordt uitgevoerd. Het kan enige tijd duren om nieuwe exemplaren te specialiseren, afhankelijk van de app. Deze extra latentie bij de eerste aanroep wordt vaak app cold start genoemd.
Premium plan biedt twee functies die samenwerken om koude starts in uw functies effectief te elimineren: altijd gereed instanties en vooraf opgewarmde exemplaren.
Exemplaren die altijd gereed zijn
In het Premium kunt u uw app altijd gereed hebben voor een opgegeven aantal exemplaren. Het maximum aantal always ready-exemplaren is 20. Wanneer gebeurtenissen de app activeren, worden ze eerst doorgeleid naar de exemplaren die altijd gereed zijn. Wanneer de functie actief wordt, worden extra exemplaren opgewarmd als buffer. Deze buffer voorkomt koude start voor nieuwe exemplaren die tijdens de schaal zijn vereist. Deze gebufferd exemplaren worden vooraf-opgewarmde exemplaren genoemd. Door de combinatie van de exemplaren die altijd gereed zijn en een vooraf opgewarmde buffer, kan uw app koude start effectief elimineren.
Notitie
Elk Premium-abonnement heeft ten minste één actief (gefactureerd) exemplaar te allen tijde.
U kunt het aantal exemplaren dat altijd gereed is in de Azure Portal configureren door uw functie-app te selecteren, naar het tabblad Platformfuncties te gaan en de opties uitschalen te selecteren. In het bewerkingsvenster van de functie-app zijn exemplaren die altijd gereed zijn specifiek voor die app.

Vooraf opgewarmde exemplaren
Vooraf opgewarmde exemplaren zijn instanties die worden opgewarmd als buffer tijdens schaal- en activeringsgebeurtenissen. Vooraf opgewarmde exemplaren blijven bufferen totdat de maximale uitschaallimiet is bereikt. Het standaard aantal vooraf opgewarmde exemplaren is 1 en in de meeste scenario's moet deze waarde op 1 blijven.
Wanneer een app een lange opwarming heeft (zoals een aangepaste containerafbeelding), moet u deze buffer mogelijk verhogen. Een vooraf opgewarmd exemplaar wordt pas actief nadat alle actieve exemplaren voldoende zijn gebruikt.
Kijk eens naar dit voorbeeld van hoe altijd voorbereide exemplaren en vooraf opgewarmde exemplaren samenwerken. Voor een Premium-functie-app zijn vijf exemplaren geconfigureerd die altijd gereed zijn en de standaardwaarde van één vooraf opgewarmd exemplaar. Wanneer de app inactief is en er geen gebeurtenissen worden triggers, wordt de app ingericht en uitgevoerd met vijf exemplaren. Op dit moment wordt u niet gefactureerd voor een vooraf opgewarmd exemplaar, omdat de altijd voorbereide exemplaren niet worden gebruikt en er geen vooraf opgewarmd exemplaar wordt toegewezen.
Zodra de eerste trigger binnenkomt, worden de vijf exemplaren die altijd gereed zijn actief en wordt er een vooraf opgewarmd exemplaar toegewezen. De app wordt nu uitgevoerd met zes inrichtende exemplaren: de vijf nu actieve, altijd gereedstaande exemplaren en de zesde voorgewarmde en inactieve buffer. Als het aantal uitvoeringen blijft toenemen, worden uiteindelijk de vijf actieve exemplaren gebruikt. Wanneer het platform besluit om verder te schalen dan vijf instanties, wordt het geschaald naar het vooraf opgewarmde exemplaar. Als dat gebeurt, zijn er nu zes actieve exemplaren en wordt direct een exemplaar van de vijfde instantie ingericht en wordt de vooraf opgewarmde buffer gevuld. Deze volgorde van schalen en voorvergroting gaat door totdat het maximum aantal exemplaren voor de app is bereikt. Er worden geen instanties vooraf opgewarmd of geactiveerd buiten het maximum.
U kunt het aantal vooraf warmgewarmde exemplaren voor een app wijzigen met behulp van de Azure CLI.
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.preWarmedInstanceCount=<desired_prewarmed_count> --resource-type Microsoft.Web/sites
Maximum aantal exemplaren van functie-apps
Naast het maximale aantal exemplaren van hetplan kunt u een maximum per app configureren. Het app-maximum kan worden geconfigureerd met behulp van de app-schaallimiet.
Connectiviteit van privénetwerk
Functie-apps die zijn geïmplementeerd in een Premium kunnen profiteren van VNet-integratie voor web-apps. Wanneer deze is geconfigureerd, kan uw app communiceren met resources binnen uw VNet of worden beveiligd via service-eindpunten. IP-beperkingen zijn ook beschikbaar in de app om binnenkomend verkeer te beperken.
Wanneer u een subnet toewijst aan uw functie-app in een Premium-abonnement, hebt u een subnet met voldoende IP-adressen nodig voor elk potentieel exemplaar. We hebben een IP-blok met ten minste 100 beschikbare adressen nodig.
Zie Uw functie-app integreren met een VNet voor meer informatie.
Snelle elastische schaal
Extra reken-exemplaren worden automatisch toegevoegd voor uw app met dezelfde snelle schaallogica als het verbruiksplan. Apps in dezelfde App Service schalen onafhankelijk van elkaar op basis van de behoeften van een afzonderlijke app. Functions-apps in dezelfde App Service delen VM-resources om waar mogelijk kosten te besparen. Het aantal apps dat aan een VM is gekoppeld, is afhankelijk van de footprint van elke app en de grootte van de VM.
Zie Gebeurtenisgestuurd schalen in Azure Functions voor meer informatie over hoe schalen werkt.
Duur van langere run
Azure Functions in een verbruiksplan zijn beperkt tot 10 minuten voor één uitvoering. In het Premium wordt de uitvoeringsduur standaard ingesteld op 30 minuten om runaway-uitvoeringen te voorkomen. U kunt de host.json-configuratie echter wijzigen zodat de duur voor apps Premium abonnement onbegrensd is. Als deze optie is ingesteld op een niet-gebonden duur, wordt gegarandeerd dat uw functie-app ten minste 60 minuten wordt uitgevoerd.
Plan- en SKU-instellingen
Wanneer u het plan maakt, zijn er twee instellingen voor de plangrootte: het minimum aantal exemplaren (of de grootte van het plan) en de maximale burstlimiet.
Als uw app exemplaren nodig heeft die buiten de altijd gereed zijn, kan deze blijven uitschalen totdat het aantal exemplaren de maximale burstlimiet bereikt. Instanties buiten de abonnementsgrootte worden alleen gefactureerd wanneer ze per seconde worden uitgevoerd en aan u worden toegewezen. Het platform doet er alles aan om uw app uit te schalen naar de gedefinieerde maximumlimiet.
U kunt de plangrootte en maximumgrootten configureren in de Azure Portal door de opties Uitschalen te selecteren in het plan of een functie-app die in dat plan is geïmplementeerd (onder Platformfuncties).
U kunt ook de maximale burstlimiet verhogen vanuit de Azure CLI:
az functionapp plan update -g <resource_group> -n <premium_plan_name> --max-burst <desired_max_burst>
Het minimum voor elk plan is ten minste één exemplaar. Het werkelijke minimum aantal exemplaren wordt automatisch voor u geconfigureerd op basis van de exemplaren die altijd gereed zijn en die zijn aangevraagd door apps in het abonnement. Als app A bijvoorbeeld vijf exemplaren aanvraagt die altijd gereed zijn en app B twee exemplaren aanvraagt die altijd gereed zijn in hetzelfde abonnement, wordt de minimale plangrootte berekend als vijf. App A wordt op alle vijf uitgevoerd en app B wordt alleen uitgevoerd op 2.
Belangrijk
Er worden kosten in rekening gebracht voor elk exemplaar dat is toegewezen in het minimumaantal exemplaren, ongeacht of functies al dan niet worden uitgevoerd.
In de meeste gevallen is dit automatisch berekende minimum voldoende. U kunt echter het beste buiten het minimum schalen. Het is mogelijk, hoewel onwaarschijnlijk, dat uitschalen op een bepaald tijdstip kan worden vertraagd als er geen extra exemplaren beschikbaar zijn. Door een minimum in te stellen dat hoger is dan het automatisch berekende minimum, reserveert u instanties voor uitschalen.
U kunt het berekende minimum voor een plan verhogen met behulp van de Azure CLI.
az functionapp plan update -g <resource_group> -n <premium_plan_name> --min-instances <desired_min_instances>
Beschikbare exemplaar-SKU's
Bij het maken of schalen van uw abonnement kunt u kiezen uit drie exemplaargrootten. U wordt gefactureerd voor het totale aantal kernen en het inrichten van geheugen, per seconde dat elke instantie aan u wordt toegewezen. Uw app kan automatisch naar meerdere exemplaren worden geschaald als dat nodig is.
| SKU | Kernen | Geheugen | Storage |
|---|---|---|---|
| EP1 | 1 | 3,5 GB | 250 GB |
| EP2 | 2 | 7 GB | 250 GB |
| EP3 | 4 | 14 GB | 250 GB |
Overwegingen voor geheugengebruik
Het uitvoeren op een computer met meer geheugen betekent niet altijd dat uw functie-app gebruikmaakt van al het beschikbare geheugen.
Een JavaScript-functie-app wordt bijvoorbeeld beperkt door de standaardgeheugenlimiet in Node.js. Als u deze vaste geheugenlimiet wilt verhogen, voegt u de languageWorkers:node:arguments app-instelling toe met de waarde --max-old-space-size=<max memory in MB> .
En voor plannen met meer dan 4 GB geheugen moet u ervoor zorgen dat de Bitness-platforminstelling is ingesteld op 64 Bit onder Algemeen Instellingen.
Regio max. uitschalen
Hieronder vindt u de momenteel ondersteunde maximumwaarden voor uitschalen voor één plan in elke regio- en besturingssysteemconfiguratie.
Zie de volledige regionale beschikbaarheid van Functions op de Azure-website.
| Regio | Windows | Linux |
|---|---|---|
| Australië - centraal | 100 | Niet beschikbaar |
| Australië - centraal 2 | 100 | Niet beschikbaar |
| Australië - oost | 100 | 20 |
| Australië - zuidoost | 100 | 20 |
| Brazilië - zuid | 100 | 20 |
| Canada - midden | 100 | 20 |
| India - centraal | 100 | 20 |
| Central US | 100 | 20 |
| China - oost 2 | 100 | 20 |
| China - noord 2 | 100 | 20 |
| Azië - oost | 100 | 20 |
| VS - oost | 100 | 40 |
| VS - oost 2 | 100 | 20 |
| Frankrijk - centraal | 100 | 20 |
| Duitsland - west-centraal | 100 | 20 |
| Japan - oost | 100 | 20 |
| Japan - west | 100 | 20 |
| Jio India West | 100 | 20 |
| Korea - centraal | 100 | 20 |
| Korea - zuid | Niet beschikbaar | 20 |
| VS - noord-centraal | 100 | 20 |
| Europa - noord | 100 | 20 |
| Noorwegen - oost | 100 | 20 |
| Zuid-Afrika - noord | 100 | 20 |
| VS - zuid-centraal | 100 | 20 |
| India - zuid | 100 | Niet beschikbaar |
| Azië - zuidoost | 100 | 20 |
| Zwitserland - noord | 100 | 20 |
| Zwitserland - west | 100 | 20 |
| VAE - noord | 100 | 20 |
| Verenigd Koninkrijk Zuid | 100 | 20 |
| Verenigd Koninkrijk West | 100 | 20 |
| USGov Arizona | 100 | 20 |
| USGov Texas | 100 | Niet beschikbaar |
| USGov Virginia | 100 | 20 |
| VS - west-centraal | 100 | 20 |
| Europa -west | 100 | 20 |
| India - west | 100 | 20 |
| VS - west | 100 | 20 |
| VS - west 2 | 100 | 20 |
| VS - west 3 | 100 | 20 |