Azure Functions Premium-abonnement

Het Azure Functions Premium-abonnement (ook wel Elastic Premium-abonnement genoemd) is een hostingoptie voor functie-apps. Zie het artikel over hostingplannen voor andere hosting-abonnementsopties.

Hosting van een Premium-abonnement biedt de volgende voordelen voor uw functies:

  • Koude starts voorkomen met continu warme exemplaren
  • 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 reken-exemplaren, de grootte van het basisplan en de maximale plangrootte configureren.

Billing

De facturering voor het 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 kosten in rekening voor de uitvoering van het Premium-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-abonnement toegewezen exemplaren delen. Zie de pagina met prijzen Azure Functions meer informatie.

Een Premium-abonnement 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 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-abonnement 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).

De volgende artikelen laten zien 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.

Een Premium-abonnement biedt twee functies die samenwerken om cold starts in uw functies effectief te elimineren: exemplaren die altijd gereed zijn en vooraf opgewarmde exemplaren.

Exemplaren die altijd gereed zijn

In het Premium-abonnement kunt u uw app altijd gereed hebben voor een opgegeven aantal exemplaren. Het maximum aantal exemplaren dat altijd gereed is, is 20. Wanneer gebeurtenissen de app activeren, worden ze eerst doorgeleid naar de exemplaren die altijd gereed zijn. Naarmate 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.

Instellingen voor elastisch schalen

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 exemplaren, wordt het geschaald naar de vooraf opgewarmde instantie. Als dat gebeurt, zijn er nu zes actieve exemplaren en wordt er direct een exemplaar ingericht en wordt de vooraf opgewarmde buffer gevuld. Deze volgorde van schalen en voorverwarmen gaat door totdat het maximum aantal exemplaren voor de app is bereikt. Er worden geen exemplaren vooraf opgewarmd of geactiveerd buiten het maximum.

U kunt het aantal vooraf opgewarmde 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 het plankunt u een maximum per app configureren. Het app-maximum kan worden geconfigureerd met behulp van de app-schaallimiet.

Connectiviteit met privénetwerk

Functie-apps die zijn geïmplementeerd in een Premium-abonnement, 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 behulp van 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-abonnement is de uitvoeringsduur standaard 30 minuten om runaway-uitvoeringen te voorkomen. U kunt echter de configuratie van host.jswijzigen om de duur voor premium-abonnements-apps onbegrensd te maken. 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 voor uw app exemplaren nodig zijn die de exemplaren overschrijden die altijd gereed zijn, kan deze blijven uitschalen totdat het aantal exemplaren de maximale burstlimiet bereikt. Instanties buiten uw abonnementsgrootte worden alleen gefactureerd terwijl 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 -maximums 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 burst-limiet 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 instantie. 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 plan, wordt de minimale plangrootte berekend als vijf. App A wordt uitgevoerd op alle 5 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 Algemene instellingen.

Maximale schaal voor regio's

Hieronder vindt u de momenteel ondersteunde maximumwaarden voor uitschalen voor één plan in elke regio en besturingssysteemconfiguratie. Als u een verhoging wilt aanvragen, kunt u een ondersteuningsticket openen.

Zie de volledige regionale beschikbaarheid van Functions op de Azure-website.

Region 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
Central US 100 20
China - oost 2 100 20
China - noord 2 100 20
Azië - oost 100 20
VS - oost 100 20
VS - oost 2 100 20
Frankrijk - centraal 100 20
Duitsland - west-centraal 100 Niet beschikbaar
Japan - oost 100 20
Japan - 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
VS - zuid-centraal 100 20
India - zuid 100 Niet beschikbaar
Azië - zuidoost 100 20
Zwitserland - noord 100 Niet beschikbaar
Zwitserland - west 100 Niet beschikbaar
Verenigd Koninkrijk Zuid 100 20
Verenigd Koninkrijk West 100 20
USGov Arizona 100 20
USGov Virginia 100 20
USNat East 100 Niet beschikbaar
USNat West 100 Niet beschikbaar
Europa -west 100 20
India - west 100 20
VS - west-centraal 100 20
VS - west 100 20
VS - west 2 100 20

Volgende stappen