Delen via


Hosting van Azure Functions Flex Consumption-abonnement

Flex Consumption is een op Linux gebaseerd Azure Functions-hostingabonnement dat voortbouwt op het verbruik voor wat u gebruikt voor het serverloze factureringsmodel. Het biedt u meer flexibiliteit en aanpasbaarheid door persoonlijke netwerken, de selectie van de geheugengrootte van exemplaren en snelle/grootschalige uitschalingsfuncties te introduceren die nog steeds zijn gebaseerd op een serverloos model.

U kunt end-to-end voorbeelden bekijken die het Flex Consumption-abonnement bevatten in de opslagplaats met voorbeelden van Flex Consumption-plannen.

Benefits

Het Flex Consumption-plan bouwt voort op de sterke punten van het serverloze verbruiksplan, waaronder dynamische schaalaanpassing en facturering op basis van uitvoering. Met Flex Consumption krijgt u ook deze extra functies:

  • Gereduceerde koude starttijden: Schakel altijd-gereed instanties in om snellere koude starttijden te bereiken in vergelijking met het Consumption-abonnement.
  • Ondersteuning voor virtuele netwerken: Dankzij de integratie van een virtueel netwerk kan uw serverloze app worden uitgevoerd in een virtueel netwerk.
  • Per-Function Schalen: Elke functie in uw app wordt onafhankelijk geschaald op basis van de workload, wat mogelijk resulteert in een efficiëntere resourcetoewijzing.
  • Verbeterde gelijktijdigheidsafhandeling: Betere verwerking van gelijktijdige uitvoeringen met configureerbare gelijktijdigheidsinstellingen per functie.
  • Flexibele geheugenconfiguratie: Flexverbruik biedt opties voor meerdere exemplaarformaten, zodat u deze kunt optimaliseren voor uw specifieke workloadvereisten.

In deze tabel kunt u de functies van Flex Consumption rechtstreeks vergelijken met het hostingabonnement Verbruik:

Feature Consumption Flex Consumption
Schalen naar nul ✅ Ja ✅ Ja
Schaalgedrag Gebeurtenisgestuurd Gebeurtenisgestuurd (snel)
Virtuele netwerken ❌ Niet ondersteund ✅ Ondersteund
Toegewezen rekenkracht (koude start beperken) ❌ Geen ✅ Altijd gereede instanties (optioneel)
Billing Alleen uitvoeringstijd Uitvoeringstijd + altijd gereede exemplaren
Uitschaalexemplaren (max. 200 1000

Zie functieschaal- en hostingopties voor een volledige vergelijking van het Flex Consumption-abonnement ten opzichte van het Verbruiksabonnement en alle andere typen hosting.

Aanbeveling

Als u migreert vanaf het Linux Consumption-verbruiksplan, raadpleeg dan Migreer verbruiksplan-apps naar het Flex-verbruiksplan voor stapsgewijze migratie-instructies en belangrijke verschillen tussen de plannen.

Integratie van virtueel netwerk

Flex Consumption breidt de traditionele voordelen van het Verbruiksabonnement uit door ondersteuning toe te voegen voor integratie van virtuele netwerken. Wanneer uw apps worden uitgevoerd in een Flex Consumption-abonnement, kunnen ze verbinding maken met andere Azure-services die in een virtueel netwerk zijn beveiligd. Allemaal terwijl u nog steeds kunt profiteren van serverloze facturering en schaal, samen met de schaal- en doorvoervoordelen van het Flex Consumption-abonnement. Zie Integratie van virtuele netwerken inschakelen voor meer informatie.

Instantiegrootten

Wanneer u uw functie-app maakt in een Flex Consumption-abonnement, kunt u de geheugengrootte selecteren van de exemplaren waarop uw app wordt uitgevoerd. Zie Facturering voor meer informatie over hoe de geheugengrootten van exemplaren van invloed zijn op de kosten van uw functie-app.

Flex Consumption biedt momenteel de volgende opties voor instantiegrootte:

Instantiegeheugen (MB) CPU-kernen
512 0.25
2048 1
4096 2

Opmerking

De weergegeven CPU-kernwaarden zijn typische toewijzingen voor exemplaren met de opgegeven geheugengrootte. Initiële instanties kunnen echter iets andere kerntoewijzingen toegekend krijgen om de prestaties te verbeteren. Elke Flex Consumption-instantie bevat ook een extra geheugen van 272 MB toegewezen door het platform als buffer voor systeem- en hostprocessen. Dit extra geheugen heeft geen invloed op de facturering en exemplaren worden gefactureerd op basis van de geconfigureerde geheugengrootte van het exemplaar die wordt weergegeven in de voorgaande tabel.

Wanneer u besluit welke instantiegeheugengrootte u met uw apps wilt gebruiken, moet u rekening houden met het volgende:

  • De geheugengrootte van 2048 MB is de standaardgrootte van het exemplaar en moet worden gebruikt voor de meeste scenario's. De geheugengrootten van 512 MB en 4096 MB zijn beschikbaar voor scenario's die het beste aansluiten bij de gelijktijdigheid of verwerkingskrachtvereisten van uw toepassing. Zie Exemplaargeheugen configureren voor meer informatie.
  • U kunt de grootte van het exemplaargeheugen op elk gewenst moment wijzigen. Zie Exemplaargeheugen configureren voor meer informatie.
  • Exemplaarbronnen worden gedeeld tussen uw functiecode en de Functions-host.
  • Hoe groter de geheugengrootte van het exemplaar, hoe meer elk exemplaar kan verwerken voor gelijktijdige uitvoeringen of meer intensieve CPU- of geheugenworkloads. Specifieke schaalbeslissingen zijn workloadspecifiek.
  • De standaard gelijktijdigheid van HTTP-triggers is afhankelijk van de geheugengrootte van het exemplaar. Zie gelijktijdigheid van HTTP-triggers voor meer informatie.
  • Beschikbare CPU's en netwerkbandbreedte worden opgegeven in verhouding tot een specifieke instantiegrootte.

Schaalaanpassing per functie

Gelijktijdigheid is een belangrijke factor die bepaalt hoe de schaal van flexverbruiksfuncties wordt aangepast. Om de schaalprestaties van apps met verschillende triggertypen te verbeteren, biedt het Flex Consumption-abonnement een meer deterministische manier om uw app per functie te schalen.

Dit schaalgedrag per functie maakt deel uit van het hostingplatform, dus u hoeft uw app niet te configureren of de code te wijzigen. Zie voor meer informatie schalen per functie in het artikel over gebeurtenisgestuurd schalen.

Bij schalen per functie worden beslissingen genomen voor bepaalde functietriggers op basis van groepsaggregaties. In deze tabel ziet u de gedefinieerde set functieschaalgroepen:

Groepen schalen Triggers in groep Waarde van instellingen
HTTP-triggers HTTP-trigger
SignalR-trigger
http
Blob Storage-triggers
(op basis van Event Grid)
Blob Storage-trigger blob
Durable Functions Indelingstrigger
Activiteittrigger
Entiteitstrigger
durable

Alle andere functies in de app worden afzonderlijk geschaald in hun eigen set exemplaren, waarnaar wordt verwezen met behulp van de conventie function:<NAMED_FUNCTION>.

Altijd gereede exemplaren

Flex Consumption bevat een altijd kant-en-klare functie waarmee u exemplaren kunt kiezen die altijd worden uitgevoerd en toegewezen aan elk van uw groepen of functies per functieschaal. Altijd gereed is een uitstekende optie voor scenario's waarbij u een minimum aantal exemplaren moet hebben die altijd gereed zijn om aanvragen te verwerken. Als u bijvoorbeeld de latentie van de koude start van uw toepassing wilt verminderen. De standaardwaarde is 0 (nul).

Als u bijvoorbeeld altijd gereed hebt ingesteld als 2 voor uw HTTP-functiegroep, houdt het platform altijd twee exemplaren actief voor deze functies. Deze exemplaren verwerken eerst de uitvoeringen van uw functie. Afhankelijk van de gelijktijdigheidsinstellingen schaalt het platform verder dan deze twee exemplaren met on-demand exemplaren.

Er kunnen niet minder dan twee altijd gereede exemplaren per functie of functiegroep worden geconfigureerd terwijl zoneredundantie is ingeschakeld.

Zie Always Ready Instance Counts instellen voor meer informatie over het configureren van altijd gereede exemplaren.

Concurrency

Gelijktijdigheid verwijst naar het aantal parallelle uitvoeringen van een functie op een exemplaar van uw app. U kunt een maximum aantal gelijktijdige uitvoeringen instellen die op elk gewenst moment door elk exemplaar moeten worden verwerkt. Gelijktijdigheid heeft een direct effect op de schaal van uw app, omdat u op lagere gelijktijdigheidsniveaus meer exemplaren nodig hebt om de gebeurtenisgestuurde vraag voor een functie af te handelen. Hoewel u de gelijktijdigheid kunt beheren en afstemmen, bieden we standaardinstellingen die voor de meeste gevallen werken.

Zie Http-gelijktijdigheidslimieten instellen voor HTTP-triggerfuncties voor meer informatie over het instellen van gelijktijdigheidslimieten. Zie Doelbasisschalen voor meer informatie over het instellen van gelijktijdigheidslimieten voor niet-HTTP-triggerfuncties.

Deployment

Implementaties in het Flex Consumption-abonnement volgen één pad en er is niet langer behoefte aan app-instellingen om het implementatiegedrag te beïnvloeden. Uw projectcode is gebouwd en gezipt in een toepassingspakket en vervolgens geïmplementeerd in een BLOB-opslagcontainer. Bij het opstarten haalt uw app het pakket op en voert u de functiecode uit vanuit dit pakket. Standaard wordt hetzelfde opslagaccount gebruikt voor het opslaan van interne hostmetagegevens (AzureWebJobsStorage) als de implementatiecontainer. U kunt echter een alternatief opslagaccount gebruiken of uw voorkeursverificatiemethode kiezen door de implementatie-instellingen van uw app te configureren.

Aanbeveling

Er is een diagnostisch hulpprogramma voor flexverbruiksimplementatie beschikbaar in Azure Portal. Open uw Flex Consumption-app, selecteer Problemen vaststellen en oplossen en zoek naar Flex Consumption Deployment. Dit hulpprogramma bevat gedetailleerde informatie over uw implementaties, waaronder de implementatiegeschiedenis, pakketstatus en aanbevelingen voor probleemoplossing.

Implementaties zonder downtime

Opmerking

Implementaties zonder downtime met rolling updates zijn momenteel beschikbaar als openbare preview.

Flex Consumption biedt implementaties zonder downtime via rolling updates als de site-updatestrategie, waardoor code-implementaties en configuratiewijzigingen geleidelijk kunnen worden toegepast op exemplaren zonder dat de uitvoering van de functie wordt onderbroken. Andere hostingabonnementen gebruiken implementatieslots om downtime tijdens implementaties te minimaliseren. Zie Implementaties optimaliseren voor implementatieopties voor alle hostingabonnementen.

Billing

Er zijn twee modi waarmee uw kosten worden bepaald bij het uitvoeren van uw apps in het Flex Consumption-abonnement. Elke modus wordt per instantie bepaald.

Factureringsmodus Description
Op aanvraag Wanneer u in de modus op aanvraag wordt uitgevoerd, worden alleen kosten in rekening gebracht voor de hoeveelheid tijd die uw functiecode uitvoert op uw beschikbare exemplaren. In de modus op aanvraag is er geen minimumaantal exemplaren vereist. U wordt gefactureerd voor:

• De totale hoeveelheid geheugen die is ingericht terwijl elk exemplaar op aanvraag actief functies uitvoert (in GB-seconden), min een gratis toekenning van GB-s per maand.
• Het totale aantal uitvoeringen, min een gratis toekenning (aantal) uitvoeringen per maand.
Altijd gereed U kunt een of meer exemplaren configureren die zijn toegewezen aan specifieke triggertypen (HTTP/Durable/Blob) en afzonderlijke functies die altijd beschikbaar zijn voor het verwerken van aanvragen. Wanneer er altijd gereede instanties zijn ingeschakeld, wordt u gefactureerd voor:

• De totale hoeveelheid geheugen die is ingericht voor al uw altijd gereede exemplaren, ook wel de basislijn genoemd (in GB-seconden).
• De totale hoeveelheid geheugen die is ingericht tijdens de tijd dat elk altijd gereed exemplaar actief functies uitvoert (in GB-seconden).
• Het totale aantal uitvoeringen.

In altijd gereede facturering zijn er geen gratis subsidies.

Zie de pagina met prijzen voor Azure Functions voor actuele informatie over de prijzen van de uitvoering, altijd gereed voor basislijnkosten en gratis subsidies voor uitvoeringen op aanvraag.

De minimale factureerbare uitvoeringsperiode voor beide uitvoeringsmodi is 1000 ms. Daarna wordt de factureerbare activiteitsperiode afgerond op de dichtstbijzijnde 100 ms. U vindt meer informatie over de factureringsmeters van het Flex Consumption-abonnement in de naslaginformatie over bewaking.

Zie Kosten op basis van verbruik en kosten weergeven voor meer informatie over hoe kosten worden berekend wanneer u een Flex Consumption-abonnement uitvoert, inclusief voorbeelden.

Ondersteunde taalstackversies

In deze tabel ziet u de taalstackversies die momenteel worden ondersteund voor Flex Consumption-apps:

Taalstack Vereiste versie
C# (geïsoleerd werkmodel)1 .NET 8, .NET 9, .NET 10
Java Java 11, Java 17, Java 21
Node.js Node.js 20 Node.js 22
PowerShell PowerShell 7.4
Python Python 3.10, Python 3.11, Python 3.12
  1. Het C#-model voor in-proces wordt niet ondersteund. U moet in plaats daarvan uw .NET-project migreren naar het geïsoleerde werkrolmodel.

Geheugenquota voor regionaal abonnement

Alle Flex Consumption-apps in een abonnement en regio delen een rekenquotum, zoals een gedeelde bucket met resources. Dit quotum is alleen van toepassing op Flex Consumption-apps: andere hostingabonnementen, zoals Consumption, Premium en Dedicated, tellen er niet mee mee. Het quotum beperkt hoeveel rekenkracht uw Flex Consumption-apps tegelijkertijd kunnen gebruiken. Als uw apps het quotum proberen te overschrijden, kunnen sommige uitvoeringen en implementaties worden vertraagd of mislukt en wordt het schalen beperkt. U kunt echter nog steeds nieuwe apps maken.

Standaardquotum

Elke regio in een abonnement heeft een standaardquotum van 250 kernen (gelijk aan 512.000 MB) voor alle instanties van de Flex Consumption-app gecombineerd. U kunt elke combinatie van instantiegrootten en aantallen gebruiken, zolang de totale kernen onder het quotum blijven.

Als u de gebruikte kernen wilt berekenen, vermenigvuldigt u de kernen per instantie met het aantal exemplaren:

Grootte van instantie Kernen per instantie Formula
512 MB 0.25 exemplaren × 0,25
2048 MB 1 exemplaren × 1
4096 MB 2 exemplaren × 2

Voorbeelden van quota

Elk van deze scenario's bereikt de quotumlimiet van 250 kernen. Wanneer het quotum is bereikt, stoppen apps in de regio met schalen:

Scenario Berekening Totaal aantal kernen
Eén app van 512 MB bij 1000 exemplaren 1000 × 0,25 250
Twee 512-MB apps met 250 en 750 instanties (250 + 750) × 0,25 250
Eén app van 2048 MB bij 250 exemplaren 250 × 1 250
Twee apps van 2048 MB op 100 en 150 instanties (100 + 150) × 1 250
Eén app van 4096 MB bij 125 exemplaren 125 × 2 250
Eén app van 4096 MB bij 100 exemplaren + één app van 2048 MB bij 50 exemplaren (100 × 2) + (50 × 1) 250

Belangrijke opmerkingen

  • Flex Consumption schaalt snel op basis van gelijktijdigheidsinstellingen, waardoor apps regelmatig processors uit het quotum verkrijgen en vrijgeven wanneer de vraag verandert.
  • Flex Consumption-apps die worden geschaald naar nul of exemplaren die zijn gemarkeerd om te worden ingeschaald en verwijderd, tellen niet mee op basis van het quotum.
  • Exemplaren die altijd gereed zijn, tellen mee voor het quotum.
  • Er is een flexverbruiksquotum beschikbaar in Azure Portal. Open een Flex Consumption-app in uw abonnement, selecteer Problemen vaststellen en oplossen, zoek Flex Consumption Quotaen kies vervolgens een regio. Het hulpprogramma bevat aanbevelingen, huidige quotumgegevens en historische gebruiksweergaven.
  • Dit quotum kan worden verhoogd in afwachting van capaciteitsbeoordeling. Bijvoorbeeld van 250 kernen tot 1000 kernen of meer. Als u een groter quotum wilt aanvragen, maakt u een ondersteuningsticket of neemt u contact op met uw Microsoft-accountteam.

Afgeschafte eigenschappen en instellingen

In het Flex Consumption-abonnement worden veel standaardtoepassingsinstellingen en siteconfiguratie-eigenschappen afgeschaft of verplaatst. Gebruik deze instellingen niet wanneer u het creëren van resources voor de functie-app automatiseert. Zie Afschaffingen van flexverbruiksabonnementen voor meer informatie.

Considerations

Houd rekening met deze andere overwegingen bij het gebruik van een Flex Consumption-abonnement:

  • Apps per abonnement: er is slechts één app toegestaan per Flex Consumption-abonnement.
  • Host: Er is een time-out van 30 seconden voor app-initialisatie. Wanneer het langer dan 30 seconden duurt voordat uw functie-app is gestart, ziet u mogelijk gRPC-gerelateerde System.TimeoutException vermeldingen die zijn geregistreerd. U kunt deze time-out momenteel niet configureren. Zie dit hostwerkitem voor meer informatie.
  • Durable Functions: Azure Storage en Durable Task Scheduler zijn de enige ondersteunde opslagproviders voor Durable Functions wanneer deze worden gehost in het Flex Consumption-abonnement. Bekijk aanbevelingen bij het hosten van Durable Functions in het Flex Consumption-abonnement.
  • Integratie van virtuele netwerken en registratie van resourceproviders: u moet de Microsoft.App Azure-resourceprovider hebben geregistreerd in uw abonnement om te kunnen integreren in een virtueel netwerk, dat nodig is voor subnetdelegering. Azure Portal en Azure CLI dwingen registratie af bij het maken van apps, omdat integratie van virtuele netwerken op elk moment kan worden ingeschakeld nadat uw app is gemaakt. Volg deze instructies om deze provider te registreren. De subnetdelegering die is vereist voor Flex Consumption-apps is Microsoft.App/environments.
  • Triggers: Hoewel alle triggers volledig worden ondersteund in een Flex Consumption-abonnement, ondersteunt de Blob Storage-trigger alleen de Event Grid-bron. Niet-C#-functie-apps moeten de versie [4.0.0, 5.0.0) van de extensiebundel of een latere versie gebruiken.
  • Regio's: Hoewel het Flex Consumption-abonnement beschikbaar is in veel Azure-regio's, worden niet alle regio's momenteel ondersteund. Zie Momenteel ondersteunde regio's weergeven voor meer informatie.
  • Implementaties: implementatiesites worden momenteel niet ondersteund. Zie voor implementaties zonder downtime met Flex Consumption Strategieën voor site-updates in Flex Consumption.
  • Azure Storage als een lokale share: NFS-bestandsshares (Network File System) zijn niet beschikbaar voor Flex Consumption. Alleen Server Message Block (SMB) en Azure Blobs (alleen-lezen) worden ondersteund.
  • Schaal: De laagste maximale schaal is momenteel 40. De hoogste ondersteunde waarde is 1000.
  • Beheerde afhankelijkheden voor PowerShell: Flexverbruik biedt geen ondersteuning voor beheerde afhankelijkheden in PowerShell. U moet in plaats daarvan modules uploaden met app-inhoud.
  • Certificaten: Certificaten laden met de WEBSITE_LOAD_CERTIFICATES app-instelling, beheerde certificaten, app-servicecertificaten en andere platformfuncties op basis van certificaten, zoals endToEndEncryptionEnabled, worden momenteel niet ondersteund.
  • Tijdzones: WEBSITE_TIME_ZONE en TZ app-instellingen worden momenteel niet ondersteund bij het uitvoeren van een Flex Consumption-abonnement.
  • Azure Functions Runtime-versie en proxy's: Flex Consumption ondersteunt alleen versie 4.x en hoger van de Azure Functions-runtime. Azure Functions-proxy's was een functie van versie 1.x tot en met 3.x van de Azure Functions-runtime en is niet beschikbaar in Flex Consumption.

Hostingoptiesvoor Azure Functions: functie-apps maken en beheren in het Flex Consumption-abonnement