18-10-2022

AWS Lambda: que és i 5 aplicacions practiques

Les màquines virtuals, els contenidors, les instàncies puntuals i la computació sota demanda només són alguns exemples d'aquestes ofertes. En aquest article, farem una ullada a un més d'aquests serveis: Amazon Web Services (AWS) Lambda.
AWS Lambda: que és i 5 aplicacions practiques background

El núvol és la nova normalitat de la informàtica. S’ha convertit en la base per al desenvolupament i el lliurament de programari en general, i una varietat de serveis relacionats amb la informàtica s’ofereixen ara com a serveis al núvol. Aquests serveis al núvol tenen molts sabors diferents, i cadascú es dirigeix ​​a un cas dús o tecnologia específics.

Què és AWS Lambda?

Lambda és un servei informàtic ofert per Amazon Web Services (AWS). Els desenvolupadors poden utilitzar-lo per crear i executar aplicacions sense servidor. Una funció lambda és una peça de codi que s’executa en resposta a un esdeveniment. Aquest esdeveniment pot ser tan simple com una sol·licitud HTTP, o tan complex com la recepció de dades a una aplicació SaaS.

Les funcions lambda sempre s’invoquen al núvol i es poden escriure en qualsevol llenguatge que es pugui executar a AWS, com Java, Node.js, Python o C#. Fins i tot, en versions recents, permet l’execucions de contenidors. Lambda es basa en esdeveniments i no té estat, cosa que significa que cada vegada que s’activa una funció, comença amb una tabula rasa. En aquest sentit, és semblant a un treball cron, però té alguns avantatges.

Per què utilitzar AWS Lambda?

La principal raó per utilitzar Lambda és que us allibera d’haver de gestionar la infraestructura del servidor. Com ja hem comentat, les funcions de Lambda s’invoquen sempre al núvol. Això vol dir que de l’únic que t’has de preocupar és d’escriure el codi d’aquestes funcions.

No és necessari proveir un servidor, instal·lar un sistema operatiu, ni realitzar cap de les altres tasques associades a la configuració i el manteniment d’un servidor. Lambda també és altament escalable. Tot el que heu de fer és configurar la vostra funció per utilitzar una quantitat suficient de memòria, i Lambda l’escalarà automàticament per satisfer la demanda.

Això significa que la seva aplicació romandrà en línia fins i tot durant els períodes dalt trànsit. Així doncs, un dels grans avantatges d’utilitzar Lambda són la seva alta disponibilitat, la baixa latència i la facilitat d’integració.

Simplement es paga pel que sutilitza, així que si una funció no sutilitza, no genera cap cost.

5 aplicacions practiques per a AWS Lambda

Les funcions d’AWS Lambda es basen en esdeveniments, cosa que significa que es desencadenen per esdeveniments específics, com ara una sol·licitud HTTP, o l’arribada de dades a una aplicació SaaS. Això fa que siguin molt adequades per a un gran nombre de casos dús, entre ells

  • Processament de dades en flux: Lambda es pot utilitzar per processar dades que s’ingereixen en temps real. Això pot ser útil en una varietat de casos d’ús, com ara l’auditoria, la supervisió i el registre d’esdeveniments.
  • Processament per lots: Lambda també es pot utilitzar per processar grans quantitats de dades. Això pot ser útil en una varietat de casos d’ús, com ara la neteja de dades, l’ETL i l’anàlisi de dades.
  • Construcció de microserveis: Les funcions Lambda es poden combinar per formar microserveis. Això facilita la creació de grans aplicacions, ja que els microserveis es poden desenvolupar, provar i desplegar de manera independent.
  • Integració: Lambda es pot utilitzar per crear una àmplia varietat d’integracions, com API personalitzades, webhooks i correus electrònics activats. Això facilita la integració de diversos serveis de tercers amb la seva aplicació.
  • Recuperació de desastres: Lambda es pot utilitzar per implementar un pla de recuperació de desastres per a aplicacions crítiques. Això pot ser útil quan una aplicació es trasllada a un nou centre de dades, o quan una aplicació es canvia a un nou servei o tecnologia.

Limitacions d’AWS Lambda

Tot i tots els avantatges i funcionalitats esmentades anteriorment, AWS Lambda té algunes limitacions.

Per començar, les funcions de Lambda no poden ser invocades directament – ​​només poden ser activades per esdeveniments específics. Això vol dir que no es poden utilitzar per implementar aplicacions en temps real. Afortunadament, moltes aplicacions en temps real es poden construir utilitzant microserveis basats en esdeveniments, cosa que facilita la integració de les funcions Lambda amb ells.

Les funcions Lambda tenen un temps màxim d’execució de cinc minuts. Això vol dir que no són adequades per a tasques de llarga durada. Afortunadament, les tasques de llarga durada es poden dividir en trossos més petits mitjançant una tasca cron, o fent servir disparadors que executin la funció Lambda diverses vegades.

Les funcions Lambda també tenen una sol·licitud màxima d’execució d‘1 GB. Això vol dir que no es poden utilitzar per processar grans quantitats de dades. Això es pot mitigar dividint les tasques de llarga durada en trossos més petits, o fent servir disparadors que executin la funció Lambda diverses vegades.

També hi ha un problema amb Lambda que triga molt de temps a crear un contenidor temporal. Això triga entre 100 mil·lisegons i 2 minuts i es coneix com a arrencada en fred. Tot i així, això té solució. Per assegurar-vos que el contenidor no es destrueix, simplement feu un ping a la seva Lambda cada 5 minuts. Només la primera sol·licitud trigarà una mica a processar-se, totes les sol·licituds posteriors es processaran molt més ràpid i sense retard.

Conclusió

Hi ha una gran recompensa en lús duna arquitectura sense servidor com AWS Lambda per desplegar alguna funcionalitat en un entorn de producció sense invertir en infraestructura i pagant només quan sutilitza.

Les plataformes sense servidor estalvien temps i diners, a més d’augmentar-ne la seguretat i la fiabilitat.

Abans d’adoptar una arquitectura sense servidor, cal avaluar amb cura si és o no l’enfocament adequat per al problema en qüestió.

Totes les categories

Les millors pràctiques per escriure un codi net

Escriure codi que sigui fàcil de llegir i entendre és la clau per crear programes que siguin mantenibles, correctes i amb menys defectes. No obstant això, el codi net és més que bones pràctiques de formateig i nomenament de variables.

Llegir l'article

Serveis relacionats

Descobreix els nostres serveis relacionats amb aquest artícle.

Veure més

Aplicacions web

Les nostres aplicacions web són desenvolupades mitjançant lestudi de les característiques i motivacions del teu públic objectiu. Amb la nostra experiència, creem una aplicació web que et connecti amb la teva audiència.

  • HTML + CSS + Javascript
  • Django
  • Python
  • Flutter
  • Firebase
Veure projecte