Blog Azure Infrastructuur

Alles wat je moet weten over Azure Functions

Azure Functions is door zijn flexibiliteit en schaalbaarheid een sterke tool voor het bouwen van event-driven, serverless applicaties.

Azure Functions kosten echter vaak meer dan verwacht en het ware doel en de kracht ervan is voor velen vaak onduidelijk. Wil je weten wat Azure Functions allemaal inhoudt en hoe je het kunt gebruiken?

Voordat je begint met het maken van schaalbare, event-driven apps met Functions, zijn er een paar belangrijke details die je moet weten.

Niels Kroeze

Auteur

Niels Kroeze

Leestijd 11 minuten Gepubliceerd: 12 mei 2025

Wat is Azure Functions?

Azure Functions is een serverless computing oplossing waarmee je event-driven code kunt uitvoeren in een serverless omgeving zonder cloud infrastructuur te beheren. Denk aan het maken van een virtuele machine (VM) of het publiceren van een webapplicatie.

Azure Functions richt zich op event-driven scenario's en voorziet alleen in de compute resources die nodig zijn om je applicaties uit te voeren. Het schaalt automatisch en ondersteunt continue updates in productie.

Azure Functions: PaaS of FaaS?

Azure Functions biedt een 'ready-to-code' omgeving en gebruikt een code-first programmeermodel als serverloze oplossing. Hiermee kun je je richten op de onderdelen van je code die het belangrijkst zijn zonder servers op te zetten of infrastructuur te beheren. Het is dus een van de vele diensten van Microsoft die PaaS (platform-as-a-service) zijn.

PaaS services leveren alles wat je nodig hebt om apps te ontwikkelen en te implementeren zonder infrastructuur componenten te beheren.”

Terwijl softwareontwikkeling zijn trends doormaakt, worden serverless architecturen (de abstractie van servers, infrastructuur en operating systems) steeds populairder.

Comparison of cloud computing services, including pre-cloud BYO servers, IaaS, PaaS, and serverless models, showing the different layers and components.

Net als microservice architecturen, worden FaaS-architecturen steeds populairder.

Azure Functions is Microsoft’s FaaS oplossing (Functions-as-a-Service) binnen de PaaS omgeving van Azure.

Functions zijn krachtig, maar je moet wel weten wanneer je ze moet gebruiken.

Dus laten we daar eens naar kijken…

Wat is de beste toepassing van Azure Functions?

Azure Functions biedt veel event-driven triggers en bindings, waarmee je andere services kunt koppelen zonder extra integratiecode te schrijven.

HTTP endpoint die een function triggert met HTTP trigger en output binding.

Dus waarvoor gebruik je Azure Functions? In het algemeen gebruik je Azure Functions om:

  • Web APIs te bouwen
  • Te reageren op databasewijzigingen
  • IoT-streams te verwerken
  • Geplande taken te beheren
  • Andere automation scenario’s te ondersteunen

Heb je een enkele event of taak met weinig maatwerkcode nodig om iets uit te voeren? Dan is Azure Functions ideaal. Wat kun je er precies mee doen?

Hier wat voorbeelden:

Als je dit wilt… Dan kun je dit doen…
Bestanden verwerken Code laten draaien zodra een bestand wordt geüpload of aangepast in blob storage.
Data realtime verwerken Data van event- of IoT-bronnen opvangen en transformeren richting opslag.
Inference draaien op data Tekst uit een queue halen en aanbieden aan AI services voor analyse en classificatie.
Geplande taak uitvoeren Code draaien voor bijvoorbeeld data clean-up op vaste tijdstippen.
Schaalbare web API bouwen REST endpoints maken voor je app met HTTP triggers.
Serverless workflow bouwen Een event-driven workflow maken via een reeks functions met Durable Functions.
Reageren op databasewijzigingen Eigen logic draaien zodra een document in Azure Cosmos DB wordt aangemaakt of aangepast.
Betrouwbare messaging systemen bouwen Message queues verwerken via Queue Storage, Service Bus of Event Hubs.

Met deze scenario’s bouw je event-driven systemen in een moderne, losgekoppelde architectuur.

Azure Functions werkt soepel samen met andere Azure services via triggers en bindings die je input en output regelen.

Azure Functions geïntegreerd met onder andere Notification Hubs, Event Grid, Event Hubs, Cosmos DB, Storage, Service Bus, Twilio, Queue, Blob, Table, Topics en Queues.

Je kunt koppelen met storage accounts, messaging services, API endpoints en meer.

Azure Functions ondersteunt meerdere programmeertalen, zoals:

  • C#
  • Java
  • JavaScript
  • Python
  • TypeScript
  • PowerShell

Logos van programmeertalen zoals Python, Java, GoLang, JavaScript en Microsoft Azure .NET.

Je kunt ook support uitbreiden naar andere talen zoals Go en Rust via een feature in Azure Functions genaamd Custom Handlers.

Wat zijn de voordelen van Azure Functions?

  • Flexibele pricing: Kies het prijsmodel dat past bij je situatie – van consumption tot always-on tiers, of draai je functions in een container.
  • Makkelijk in gebruik: Functions zijn snel te maken, beheren en updaten via bekende tools zoals Azure Portal, Visual Studio, Visual Studio Code, enz. voor deployment en debugging.
  • Schaalbaarheid: Functions schalen automatisch op en af op basis van vraag.
  • Integratie met andere Azure Services: Azure Functions werkt soepel samen met Azure integration services zoals Azure Service Bus, Event Hubs, Event Grid, enz.

 

Wat zijn de beperkingen van Azure Functions?

Azure Functions zijn krachtig, vooral voor korte taken en om API-verkeer schaalbaar op te vangen. Ze starten en stoppen automatisch, en dat maakt ze handig voor workloads met veel volume en weinig complexiteit.

Maar de uitdaging komt bij middelgrote tot grote applicaties. Hoe meer functions je hebt, hoe lastiger het wordt om overzicht te houden. In plaats van gerichte, goed doordachte componenten, bouwen teams vaak een wirwar van Azure Functions – soms honderden of duizenden – met allerlei triggers en geen duidelijke structuur.

Het probleem: op een gegeven moment wordt het systeem te complex om goed te begrijpen of beheren.

Een ander probleem zijn lange operaties. Functions zijn bedoeld voor korte jobs (zoals ETLs of requests van een paar honderd milliseconden). Draai je APIs die 5 seconden of langer duren? Dan kunnen kosten en complexiteit snel oplopen.

Heb je een kleine app? Dan kun je er prima mee wegkomen.

Intercept Verzamelbestand Intercept Scale Staafdiagram Cirkel

5 Azure PaaS en serverless services die je als ISV niet wilt missen

Wil je event-driven, veerkrachtige en schaalbare applicaties bouwen? Deze 5 services zullen je helpen!

Lees meer!

Hosting Plans in Azure Functions

Als je een Function App maakt in Azure, moet je een hostingplan kiezen. Microsoft Azure biedt 6 opties:

  1. Consumption Plan
  2. Premium Plan
  3. Flex Consumption Plan
  4. App Service Plan
  5. Kubernetes
  6. ASE

Overzicht van Azure Functions hostingopties.

Je hostingplan bepaalt hoe je app zich gedraagt:

  • Hoe de Function App schaalt
  • Welke compute resources beschikbaar zijn
  • Welke extra features je kunt gebruiken (zoals VNet integratie)

 

Consumption Plan

Schaalt automatisch op basis van binnenkomende events. Je betaalt alleen als je function draait. Geen gebruik = geen kosten.

Premium Plan

Net als Consumption, maar je stelt vooraf een aantal 'pre-warmed' instances in die altijd klaarstaan. Je betaalt voor die instances – ook als je function niks doet – plus extra als Azure opschaalt.

Flex Consumption Plan

Nieuwe optie met flexibeler schaling en meer controle over je compute settings. Je betaalt per gebruik, met optioneel always-ready instances. Je krijgt ook maandelijks 250.000 gratis executions en 100.000 GB-s resourceverbruik per subscription.

App Service Plan

Laat je functions draaien zoals je web apps. Gebruik je al App Service? Dan kun je zonder extra kosten je functions daar laten meedraaien. Handig voor langdurige processen zonder Durable Functions.

Kubernetes

Biedt volledige isolatie op een Kubernetes cluster. Goed als je in multi-cloud of met on-prem integraties werkt.

App Service Environment (ASE)

Een aparte, geïsoleerde omgeving voor grootschalige en veilige apps. Denk aan high-end gebruiksscenario’s.

 

Hoe kies je het juiste Hosting Plan?

Begin met Consumption…

Zoals bij veel Azure services, start je best met het Consumption Plan. Je betaalt alleen bij gebruik, en het schaalt automatisch mee. Voor de meeste apps is dit prima.

Gebruik Premium als…

Je workloads iets meer vragen. Cold starts zijn een nadeel bij het Consumption Plan – vooral als je function na inactiviteit even moet opstarten. Voor APIs die constant draaien of lage latency nodig hebben, is Premium beter. Je functies reageren dan direct.

  • Premium biedt ook VNet integratie en private endpoints.
  • Voor veel kleine executions is Premium soms goedkoper dan Consumption.

Kies App Service Plan als…

Je voorspelbare kosten wil, of al App Service gebruikt. Je kunt alles combineren op één plan.

Kies Kubernetes bij multi-cloud

Als je workloads draait over meerdere clouds of je zit met on-prem integraties, dan is Kubernetes het meest flexibel.

Overzicht:

Hosting Plan Wanneer gebruiken
Consumption (Begin hier!)

- Volledig serverless

- Je betaalt alleen bij gebruik

- Automatisch schalen

Premium Plan

- Lage latency nodig

- Hoge schaalbaarheid met networking en containers

- Lange functies

- Veel kleine executions (goedkoper dan Consumption)

App Service Plan

- Vaste kosten willen

- Workload isolatie

- Je gebruikt al App Service

Kubernetes

- Multi-cloud of on-prem integratie

- Maximale isolatie

 

Azure Functions Pricing: Wat kost het?

Je vraagt je waarschijnlijk af: wat kost Azure Functions me?

Kort antwoord: hangt af van hoe je het gebruikt.

Er zijn drie pricing modellen:

  1. Consumption
  2. Premium
  3. Dedicated (App Service) Plan

1. Consumption Plan

Verreweg het populairste. Pay-as-you-go model op basis van verbruik.

  • Gratis tot 1 miljoen requests en 400.000 GB-s per maand
  • Daarboven betaal je centen per run

Bij lange of zeer frequente workloads kan dit prijzig worden.

Voorbeeld

Stel je function draait 250ms en gebruikt 256MB geheugen, dan kost dat: 0.000016 × 256 × 0.25 = $0.001024 per execution.

Als die function 2 miljoen keer draait in een maand, dan is je execution cost:

2 miljoen × $0.20 per miljoen = $400 aan executions alleen.

Let op!

Er worden extra kosten in rekening gebracht voor opslag, netwerken, logging en andere Azure-services die door de functie worden geactiveerd of aangeroepen.

2. Premium Plan

Je krijgt dezelfde features en automatische scaling als bij het Consumption Plan, maar zonder cold starts. Je hebt voorspelbare performance en support voor VNet integratie. De functies draaien op dedicated resources – dus geen gedeelde infrastructuur met anderen. 

Kosten hangen af van de gekozen pricing tier, en worden berekend op basis van de hoeveelheid vCPU en geheugen die je function app gebruikt. Je kiest uit verschillende groottes afhankelijk van je performance- en schaalbehoefte.

Meter Pay-as-you-go 1 jaar Savings Plan 3 jaar Savings Plan
vCPU duur vCPU: $126.29 vCPU/maand vCPU: $104.83 vCPU/maand
17% besparing
vCPU: $104.83 vCPU/maand
17% besparing
Geheugen duur Memory: $8.979 GB/maand Memory: $7.453 GB/maand
17% besparing
Memory: $7.453 GB/maand
17% besparing

De Premium Plan is gebouwd voor workloads die meer power nodig hebben, langere runtimes, en extra features zoals VNet integratie of hybrid connecties.

 

3. Dedicated (App Service) Plan

Hier draaien je functions op dedicated VMs – handig als je isolatie nodig hebt, eigen images gebruikt, of al bestaande App Service infrastructuur hebt. Je betaalt volgens de gekozen App Service pricing tier.

 

Best Practices voor Azure Functions

Functions zijn handig voor veel situaties, maar starten kan lastig zijn. Met deze best practices kom je sneller op gang:

Vermijd lange functies

Gebruik je veel Node.js dependencies of zijn je functions groot? Dan kun je last krijgen van time-outs. Hou ze kort.

Beheer dependencies slim

Externe libraries beïnvloeden je cold starts en runtime performance.

  • Houd het klein: Voeg alleen toe wat je echt nodig hebt. Extra packages vertragen.
  • Gebruik managed varianten: Kies voor Azure-managed extensies als dat kan.
  • Vermijd logge libraries: Grote packages maken je deployment trager en zwaarder.
  • Update regelmatig: Nieuwe versies verbeteren performance en fixen beveiligingsgaten.

Gebruik queues tussen functions

Gebruik Durable Functions of Logic Apps om meerdere functions met elkaar te laten praten. Anders: gebruik queues voor communicatie tussen functions. Dat is betrouwbaarder en overzichtelijker.

Schrijf stateless functions

Hou je functions stateless en idempotent. Als je toch state nodig hebt, voeg die dan toe aan de input/output payloads.

Code defensief

Ga ervan uit dat je function onverwacht kan stoppen. Bouw je code zo dat die bij een volgende run gewoon verder kan waar hij gebleven was.

Hou verschillende workloads gescheiden

Alle functions binnen één Function App delen hetzelfde hostingplan en schalen samen. Dus als één function veel verkeer heeft, schalen ze allemaal mee – ook als dat niet nodig is. Dit kost resources en geld. Groepeer functions met gelijke behoeften in aparte apps.

Presentation Simon

Bekijk onze on-demand Azure workshop!

Wil je meer leren over Azure? Bekijk onze on-demand workshop wanneer je maar wilt, helemaal gratis!

Bekijk het nu!

Monitor en analyseer performance

Je kunt niet optimaliseren wat je niet ziet. Monitor dus goed wat er gebeurt:

  • Gebruik Azure Monitor voor execution time, memory en request volume.
  • Gebruik Application Insights voor diepgaande info zoals traces, dependencies en errors.
  • Log gestructureerd. Geen datadumps, maar bruikbare info. En stel alerts in.

 

Conclusie

Azure Functions zijn flexibel en krachtig – maar alleen als je ze op de juiste manier inzet.

De kunst is weten wanneer functions logisch zijn, en wanneer je eigenlijk een andere oplossing nodig hebt. 

Zijn je workloads event-driven, kortlopend en schaalbaar? Dan zit je goed met Azure Functions.

Let wel: het lijkt goedkoop, maar de totale kosten kunnen oplopen afhankelijk van hoe je alles integreert. Kijk dus altijd naar het geheel – niet alleen compute.

Weet je nog steeds niet zeker of Azure Functions geschikt zijn voor jouw setup?

Serverless op Azure kan krachtig zijn - maar alleen als je architectuur het ondersteunt. 

We hebben een interessant artikel voor je samengesteld als je niet zeker weet welke architectuur je moet gebruiken wanneer je migreert naar Azure.

Veelgestelde vragen over Azure Functions

Zijn Azure Functions gratis?

Wat is het verschil tussen Azure Functions en Azure App Services?

Wat is het verschil tussen Azure Functions en Web API?

Wat is het verschil tussen Lambda en Azure Functions?