![]() | |
![]() | |
Tipus | Informàtica sense servidor ifunction as a service(en)![]() ![]() |
---|---|
Part de | Amazon Web Services![]() |
Més informació | |
Lloc web | aws.amazon.com…![]() |
Stack Exchange | Etiqueta![]() |
AWS Lambda és unafunció com a servei (FaaS)basada en esdeveniments isense servidor proporcionada perAmazon com a part d'Amazon Web Services. Està dissenyat per permetre als desenvolupadors executar codi sense proveir ni gestionar servidors. Executa codi en resposta alsesdeveniments i gestiona automàticament els recursos informàtics requerits per aquest codi. Es va presentar el 13 de novembre de 2014.[1]
Cada instància d'AWS Lambda s'executa en un entorn lleuger i aïllat alimentat per microVMFirecracker. Aquestes microVM s'inicien amb un entorn d'execució basat enAmazon Linux (Amazon Linux AMI o Amazon Linux 2), una distribució de Linux personalitzada desenvolupada per AWS. Firecracker proporciona un aïllament basat en la virtualització de maquinari, amb l'objectiu d'aconseguir un rendiment gairebé de metall amb una sobrecàrrega mínima. AWS afirma que, a diferència de les màquines virtuals tradicionals, aquestes microVM es llancen en mil·lisegons, permetent una execució ràpida i segura de funcions amb una empremta de memòria mínima. L'AMI Linux d'Amazon està optimitzada específicament per a càrregues de treball natives del núvol i sense servidor, amb l'objectiu de proporcionar un entorn d'execució lleuger, segur i de rendiment.[2][3][4]
A 2025[update], AWS Lambda supportsNode.js,Python,Java,Go,.NET,Ruby and custom runtimes.[5]
El 2019, a la conferència anual de computació en núvol d'AWS (AWS re:Invent), l'equip d'AWS Lambda va anunciar "Provisioned Concurrency", una característica que "manté les funcions inicialitzades i hiper-preparades per respondre en mil·lisegons de dos dígits".[6] L'equip de Lambda va descriure Provisioned Concurrency com "ideal per implementar serveis interactius, com ara backends web i mòbils,microserveis sensibles a la latència o API síncrones".[7]
L'URL de la funció Lambda proporciona a Lambda unURL únic i permanent al qual poden accedir usuarisautenticats i no autenticats.[8]
La capa AWS Lambda és un arxiu ZIP que conté biblioteques, marcs o codi personalitzat que es pot afegir a les funcions d'AWS Lambda.[9] Des de desembre de 2024, les capes d'AWS Lambda tenen limitacions importants:[10][11]
Les destinacions d'AWS Lambda ofereixen capacitats avançades de gestió d'errors i d'encaminament en comparació amb les cues de cartes inèdites (DLQ). Tot i que els DLQ només capturen invocacions asíncrones fallides per al processament manual, Lambda Destinations admet tant invocacions síncrones com asíncrones. Les destinacions Lambda permeten l'encaminament a diversos objectius, com ara Amazon SQS, SNS, EventBridge o una altra funció Lambda, en funció del resultat de la invocació (èxit o error). Les destinacions també inclouen la capacitat de capturar informació contextual detallada sobre la invocació, com ara càrregues útils de sol·licituds i respostes, ajudant a un seguiment i resolució de problemes més granulars. Aquesta característica facilita fluxos de treball de gestió d'errors més dinàmics i automatitzats en aplicacions sense servidor.[12][13]
Seguir les pràctiques deDevSecOps pot ajudar els usuaris finals a utilitzar i protegir les aplicacions basades en Lambda de manera més eficaç.[14] A les aplicacions basades en Lambda, la línia entre la infraestructura i la lògica empresarial es difumina i les aplicacions solen estar repartides per diversos serveis. Segons Yan Cui, per treure el màxim profit dels esforços de prova, les aplicacions basades en Lambda s'han de provar principalment per a les seves integracions, i les proves unitàries només s'han d'utilitzar si hi ha una lògica de negoci complexa. A més, per facilitar la depuració i la implementació de basats en Lambda, els desenvolupadors haurien d'utilitzarl'orquestració dins delcontext limitat d'unmicroservei i haurien d'utilitzarla coreografia entre els contextos acotats.[15]