Tutorial AWS Lambda: la vostra guia per a la informàtica sense servidor d'Amazon



Aquest tutorial AWS Lambda descriu la plataforma de càlcul sense servidor d'AWS que inclou detalls sobre la funció Lambda, la font d'esdeveniments i el preu Lambda amb un cas d'ús.

Tutorial AWS Lambda

Avui parlarem d’AWS Lambda. AWS Lambda és un servei de càlcul que ofereix Amazon. Heu de tenir curiositat, ja que hi ha diversos altres serveis de càlcul d’AWS, com ara AWS EC2, AWS Elastic Beanstalk, AWS Opsworks, etc., per què un altre servei de càlcul? En aquest tutorial sobre AWS Lambda, descobrireu què és AWS Lambda, per què s’utilitza i en quins casos d’ús ho haureu de considerar.

Vegem com Amazon defineix AWS Lambda i, a continuació, aprofundirem en els conceptes clau, entenem un cas d’ús amb una pràctica al final.





Informàtica sense servidor Lambda: tutorial lambda aws

Què és AWS Lambda?

Amazon explica que AWS Lambda (& lambda) és un servei de càlcul 'sense servidor', és a dir, els desenvolupadors no han de preocupar-se de quins recursos AWS han de llançar o de com els gestionaran, només han de posar el codi a lambda i s'executa , és tan senzill! Us ajuda a centrar-vos en la competència bàsica, és a dir, la creació d'aplicacions o el codi.



On utilitzaré AWS Lambda?

AWS Lambda executa el vostre codi de fons administrant automàticament els recursos d’AWS. Quan diem 'gestionar', inclou el llançament o finalització d'instàncies, revisions de salut, escalat automàtic, actualització o pegat de noves actualitzacions, etc.

Llavors, com funciona?

El codi que voleu que execute Lambda es coneix com a Funció Lambda . Ara, com sabem, una funció només s’executa quan s’anomena, oi? Aquí, Font de l'esdeveniment és l'entitat que activa una funció Lambda i, a continuació, s'executa la tasca.

Prenem un exemple per entendre-ho amb més claredat.



Suposem que teniu una aplicació per penjar imatges. Ara, quan pengeu una imatge, hi ha moltes tasques abans de desar-la, com ara canviar la mida, aplicar filtres, compressió, etc.

Per tant, aquesta tasca de pujar una imatge es pot definir com a Font de l'esdeveniment o el 'disparador' que cridarà la funció Lambda i, a continuació, totes aquestes tasques es poden executar mitjançant la funció Lambda.

En aquest exemple, un desenvolupador només ha de definir la font de l'esdeveniment i penjar el codi.

Comprenem aquest exemple amb recursos AWS reals ara,

Fig. Cas d'ús Lambda amb S3

java converteix el doble a int

Aquí penjarem imatges en forma d’objectes a un dipòsit S3. Aquesta càrrega d’una imatge al dipòsit S3 es convertirà en una font d’esdeveniments o en el 'disparador'.

Tot el procés, com podeu veure al diagrama, es divideix en 5 passos, entenguem cadascun d’ells.

  1. L'usuari penja una imatge (objecte) a un dipòsit d'origen a S3 que té notificació adjunta, per a Lambda.
  2. S3 llegeix la notificació i decideix on enviar-la.
  3. S3 envia la notificació a Lambda, aquesta notificació actua com una crida a la funció lambda.
  4. El rol d'execució a Lambda es pot definir utilitzant IAM (Identity and Access Management) per donar permís d'accés als recursos AWS, per a aquest exemple aquí seria S3.
  5. Finalment, invoca la funció lambda desitjada que funciona sobre l'objecte que s'ha carregat al dipòsit S3.

Si resolgués aquest escenari tradicionalment, juntament amb el desenvolupament, hauríeu contractat persones per gestionar les tasques següents:

  • Mida, subministrament i ampliació del grup de servidors
  • Gestió de les actualitzacions del sistema operatiu
  • Aplicar pegats de seguretat i
  • Superviseu tota aquesta infraestructura per obtenir el rendiment i la disponibilitat.

Aquesta hauria estat una tasca costosa, tediosa i fatigosa, per tant, es justifica la necessitat d'AWS Lambda.AWS Lambda és compatible amb Node.JS, Python i Java, de manera que podeu penjar el fitxer en un fitxer zip, definir una font d’esdeveniment i ja està.

Podeu obtenir més informació sobre S3 AWS aquí per a una comprensió més profunda.

Ara ho sabem -Com funciona Lambda iQuè gambeta Lambda s .

Nvaja, entenem-

  • On utilitzar Lambda?
  • Per a què serveix Lambda, aixòaltres serveis AWS Compute no?

Si decidíssiu solucionar un problema, hauríeu de ser capaç d’identificar on s’ha d’utilitzar Lambda, oi?

Per tant, com a arquitecte teniu les opcions següents per executar una tasca:

  • AWS EC2
  • AWS Elastic Beanstalk
  • AWS OpsWorks
  • AWS Lambda

Prenem el cas d’ús anterior com a exemple i entenem per què hem triat Lambda per resoldre-ho.

AWS OpsWorks i AWS ElasticBeanstalk s’utilitzen per desplegar una aplicació, de manera que el nostre cas d’ús és no per crear una aplicació , sinó per executar un codi de back-end.

Llavors, per què no EC2?

Si utilitzeu EC2, haureu d’arquitecturar-ho tot, és a dir, equilibrador de càrrega, volums EBS, piles de programari, etc. A lambda no us haureu de preocupar de res, només cal que inseriu el vostre codi i AWS gestionarà la resta.

quina diferència hi ha entre hashmap i hashtable

Per exemple , a EC2 instal·laríeu els paquets de programari a la vostra màquina virtual que admetin el vostre codi, però a Lambda no us heu de preocupar de cap màquina virtual, només cal que inseriu codi normal i que Lambda l’executarà.

Però, si el vostre codi s’executarà durant hores i espereu un flux continu de sol·licituds, probablement hauríeu d’anar amb EC2, perquè l’arquitectura de Lambda és per a un tipus de càrrega de treball esporàdica, on hi haurà algunes hores tranquil·les i alguns punts al núm. de sol·licituds també.

Per exemple , registrant l’activitat de correu electrònic per a una empresa petita, veuríeu més activitat durant el dia que a la nit, també hi pot haver dies en què es processin menys correus electrònics i, de vegades, tot el món us pugui començar a enviar correus electrònics. En ambdós casos, Lambda està al vostre servei.

Tenint en compte aquest cas d’ús per a una gran empresa de xarxes socials, on els correus electrònics no s’acaben perquè tenen una gran base d’usuaris, és possible que Lambda no sigui l’elecció més adequada.

Podeu obtenir més informació sobre EC2 AWS aquí per a una comprensió més profunda.

Limitacions d'AWS Lambda

Algunes limitacions són específiques del maquinari i algunes estan limitades per l’arquitectura. Anem a discutir-les totes.

Limitacions de maquinari inclouen la mida del disc, que es limita a 512 MB, la memòria pot variar entre 128 MB i 1536 MB. Hi ha altres, com ara que el temps d’espera d’execució es pot maximitzar a només 5 minuts, la càrrega útil del cos de la sol·licitud no pot superar els 6 MB i el cos de la sol·licitud és de 128 KB. La càrrega útil del cos de la sol·licitud és com les dades que envieu amb una sol·licitud 'GET' o 'PUT' a HTTP, on el cos de la sol·licitud seria el tipus de sol·licitud, les capçaleres, etc.

En realitat, aquestes no són limitacions, sinó que són els límits de disseny que s’han establert a l’arquitectura de Lambda, de manera que si el vostre cas d’ús no s’adapta a aquests, sempre teniu a la vostra disposició els altres serveis de càlcul AWS.

En aquest tutorial d'AWS Lambda hem comentat que com fer tasques a Lambda 'no' és tediós i cansat. Ara cobrem també la part de despeses.

Preus en AWS Lambda

Com la majoria dels serveis AWS, AWS Lambda també és un servei de pagament per ús, és a dir, que només pagueu el que feu servir, per tant, se us cobrarà pels següents paràmetres

  • El nombre de sol·licituds que feu a la vostra funció lambda
  • El durada per al qual s'executa el vostre codi.

Sol·licituds

  • Se us cobrarà el nombre de sol·licituds que feu a totes les funcions lambda.
  • AWS Lambda compta una sol·licitud cada vegada que comença a executar-se en resposta a una font d'esdeveniments o invoca una trucada, inclosa la prova que s'invoca des de la consola. Vegem els preus ara:
    • Els primers 1 milió de sol·licituds cada mes són gratuïts.
    • 0,20 $ per milió de sol·licituds després.

Durada

  • La durada es calcula des que el codi comença a executar-se fins que torna o finalitza, s’arrodoneix fins als 100 ms propers.
  • El preu depèn de la quantitat de memòria que assigneu a la vostra funció; se us cobrarà 0,00001667 USD per cada GB de segon que utilitzeu.

* Font: lloc web oficial d'AWS

Si heu arribat fins aquí, esteu preparats per a un Hands-on a Lambda. Passem-nos-ho bé!

Pràctic: AWS Lambda DIY

Creem una funció Lambda que registrarà 'S'ha afegit un objecte' un cop afegiu un objecte a un dipòsit específic a S3.

Pas 1: A la consola d'administració d'AWS a la secció de càlcul, seleccioneu AWS Lambda.

Pas 2: A la consola AWS Lambda, feu clic a 'Crea una funció Lambda'.

Pas 3: A la pàgina següent, heu de seleccionar un pla. Per exemple, seleccionarem la funció en blanc per al nostre cas d’ús.

Pas 4: A la pàgina següent, (1) definireu un activador, ja que treballarem a S3, (2) seleccioneu l’activador S3 i, a continuació, (3) feu clic a Següent.

Pas 5: A la pàgina de configuració, empleneu els detalls. Podeu posar el vostre propi codi o bé copiar el mateix codi d’aquest cas d’ús. Després, empleneu el controlador i el rol, deixeu la configuració avançada tal com està, al final feu clic a següent.

Pas 6: A la pàgina següent, reviseu tota la informació i feu clic a 'Funció de creació'.

Pas 7: Ara, ja que hem creat la funció per al dipòsit S3, en el moment que afegiu un fitxer al dipòsit S3, hauríeu d'obtenir un registre del mateix a CloudWatch, que és un servei de supervisió d'AWS.

què és un error clau a Python

Enhorabona!Heu executat amb èxit la funció Lambda.

Espero que us hagi agradat aprofundir en el tutorial AWS Lambda. És una de les àrees de coneixement més desitjades de l’ecosistema AWS per a llocs de treball com Solucions Architect, Cloud Engineer, DevOps Engineer. Aquí teniu una col·lecció de per ajudar-vos a preparar la vostra propera entrevista de treball d’AWS.

Si trobeu aquest tutorial AWS Lambda rellevant, podeu consultar el curs en directe i dirigit per un instructor d’Edureka , co-creat per professionals de la indústria.

Tens alguna pregunta? Esmenta’l a la secció de comentaris i et respondrem.