- Gepubliceerd op
Wat is AWS Lambda? Serverloos rekenen voor applicaties
- Auteurs
Wat is AWS Lambda? Serverloos rekenen voor applicaties
Backendcode uitvoeren betekent traditioneel servers inrichten, resources opschalen en de beschikbaarheid bewaken.
Met AWS Lambda kun je code uitvoeren zonder infrastructuur te beheren en betaal je alleen voor wat je gebruikt.
Wat is AWS Lambda?
AWS Lambda is een serverloze rekendienst van Amazon Web Services.
In plaats van applicaties op speciale servers te draaien, schrijf je functies die worden uitgevoerd als reactie op gebeurtenissen zoals:
- HTTP-verzoeken via Amazon API Gateway
- Bestandsuploads naar Amazon S3
- Database-updates in Amazon DynamoDB
- Geplande taken (crontaken) via Amazon EventBridge of Amazon CloudWatch Events
Je code draait in tijdelijke containers die volledig door AWS worden beheerd.
Je levert alleen de functiecode en configuratie aan. Lambda doet de rest.
Waarom AWS Lambda gebruiken?
- Geen serverbeheer → Geen servers inrichten, patchen of opschalen.
- Automatisch opschalen → Voert direct zoveel instanties uit als nodig is, van één verzoek tot duizenden per seconde.
- Betalen naar gebruik → Alleen rekentijd (milliseconden) en verzoeken worden gefactureerd, geen inactieve tijd.
- Ondersteuning voor meerdere talen / omgevingen → Node.js, Python, Java, Go, Ruby, .NET en aangepaste runtimes.
- Eenvoudige integratie → Werkt naadloos samen met Amazon S3, Amazon DynamoDB, Amazon SNS, Amazon API Gateway en andere AWS-diensten.
- Ingebouwde hoge beschikbaarheid → Draait in meerdere beschikbaarheidszones voor fouttolerantie.
Veelvoorkomende toepassingen
- Web-API's → Combineer Lambda met Amazon API Gateway om serverloze REST- of GraphQL-API's te bouwen.
- Bestandsverwerking → Verwerk afbeeldingen, video's of documenten automatisch na uploads naar Amazon S3.
- Geplande taken → Vervang cronservers door Amazon CloudWatch Events of Amazon EventBridge om periodieke taken uit te voeren.
- Chatbots en microservices → Voer lichte, gebeurtenisgestuurde backendlogica op grote schaal uit met diensten zoals Amazon SNS of Amazon SQS.
AWS Lambda versus traditionele servers
- Traditionele servers → Vereisen inrichting, monitoring en opschaling voor piekbelasting met diensten zoals Amazon EC2.
- AWS Lambda → Volledig beheerd, schaalt automatisch en brengt alleen uitvoeringstijd in rekening.
Beperkingen en aandachtspunten
- Koude starts → Functies die onlangs niet zijn aangeroepen, kunnen een korte vertraging ervaren (een “koude start”) wanneer AWS een nieuwe container opstart.
- Time-outs → Elke aanroep heeft een maximale uitvoeringstijd (momenteel 15 minuten). Langdurige taken vereisen mogelijk een andere dienst zoals Amazon ECS of Amazon EC2.
- Geheugen- en CPU-limieten → De geheugentoewijzing is beperkt tot enkele GB (momenteel 10 GB), met CPU-capaciteit evenredig aan het geheugen. Zware rekentaken kunnen deze limieten bereiken.
- Tijdelijke opslag → De standaardopslag in
/tmpis beperkt (standaard 512 MB, uitbreidbaar tot 10 GB), waardoor grote tijdelijke bestanden externe opslag vereisen zoals Amazon S3 of Amazon EFS. - Afhankelijkheid van de leverancier → Diepe integratie met AWS-diensten kan een migratie naar een andere cloudprovider bemoeilijken.
- Netwerkbeperkingen → Toegang tot resources binnen een VPC maakt de configuratie complexer en kan de latentie van koude starts verhogen.
- Complexere foutopsporing → Lokaal fouten opsporen en uitvoeringen traceren kan moeilijker zijn dan in een traditionele serveromgeving.
Conclusie
AWS Lambda stelt ontwikkelaars in staat gebeurtenisgestuurde applicaties te bouwen zonder servers te beheren.
Of je nu een snelle backend voor een webapp, een realtime bestandsverwerker of een gegevenspijplijn nodig hebt, Lambda levert rekenkracht op aanvraag die automatisch opschaalt.