Tutorial AWS Lambda: la tua guida all'elaborazione serverless di Amazon



Questo tutorial AWS Lambda descrive la piattaforma di calcolo serverless di AWS coprendo i dettagli sulla funzione Lambda, l'origine evento, i prezzi Lambda con un caso d'uso.

Tutorial AWS Lambda

Oggi parleremo di AWS Lambda. AWS Lambda è un servizio di elaborazione offerto da Amazon. Devi essere curioso in quanto esistono molti altri servizi di elaborazione di AWS, come AWS EC2, AWS Elastic Beanstalk, AWS Opsworks ecc., Allora perché un altro servizio di elaborazione? In questo tutorial AWS Lambda scoprirai cos'è AWS Lambda, perché viene utilizzato e in quali casi d'uso dovresti prenderlo in considerazione.

Vediamo come Amazon definisce AWS Lambda e poi approfondiremo i concetti chiave, comprendendo un caso d'uso con una pratica pratica alla fine.





Elaborazione senza server Lambda - tutorial aws lambda

Cos'è AWS Lambda?

Amazon spiega, AWS Lambda (& lambda) come servizio di elaborazione 'serverless', il che significa che gli sviluppatori, non devono preoccuparsi di quali risorse AWS lanciare o di come le gestiranno, mettono semplicemente il codice su lambda e viene eseguito , è così semplice! Ti aiuta a concentrarti sulle competenze di base, ad esempio App Building o il codice.



Dove userò AWS Lambda?

AWS Lambda esegue il codice di backend, gestendo automaticamente le risorse AWS. Quando diciamo 'gestisci', include l'avvio o la chiusura di istanze, controlli di integrità, ridimensionamento automatico, aggiornamento o applicazione di patch a nuovi aggiornamenti ecc.

Quindi, come funziona?

Il codice che vuoi che Lambda esegua è noto come Funzione lambda . Ora, come sappiamo una funzione viene eseguita solo quando viene chiamata, giusto? Qui, Origine evento è l'entità che attiva una funzione Lambda, quindi l'attività viene eseguita.

Facciamo un esempio per capirlo più chiaramente.



Supponi di avere un'app per il caricamento di immagini. Ora, quando carichi un'immagine, sono necessarie molte attività prima di memorizzarla, come il ridimensionamento, l'applicazione di filtri, la compressione ecc.

Quindi, questa attività di caricamento di un'immagine può essere definita come un file Origine evento o il 'trigger' che chiamerà la funzione Lambda, quindi tutte queste attività possono essere eseguite tramite la funzione Lambda.

In questo esempio, uno sviluppatore deve solo definire l'origine dell'evento e caricare il codice.

Vediamo ora questo esempio con risorse AWS reali,

genera una stringa casuale java

Fig. Caso d'uso Lambda con S3

Qui caricheremo immagini sotto forma di oggetti in un bucket S3. Questo caricamento di un'immagine nel bucket S3 diventerà una sorgente di evento o il 'trigger'.

L'intero processo, come puoi vedere nel diagramma, è diviso in 5 passaggi, capiamo ognuno di essi.

  1. L'utente carica un'immagine (oggetto) in un bucket di origine in S3 a cui è allegata una notifica, per Lambda.
  2. La notifica viene letta da S3 e decide dove inviarla.
  3. S3 invia la notifica a Lambda, questa notifica agisce come una chiamata invoke della funzione lambda.
  4. Il ruolo di esecuzione in Lambda può essere definito utilizzando IAM (Identity and Access Management) per concedere l'autorizzazione di accesso per le risorse AWS, per questo esempio qui sarebbe S3.
  5. Infine, richiama la funzione lambda desiderata che funziona sull'oggetto che è stato caricato nel bucket S3.

Se dovessi risolvere questo scenario tradizionalmente, insieme allo sviluppo, avresti assunto persone per la gestione delle seguenti attività:

  • Dimensionare, fornire e ampliare il gruppo di server
  • Gestione degli aggiornamenti del sistema operativo
  • Applicare patch di sicurezza e
  • Monitorare tutta questa infrastruttura per prestazioni e disponibilità.

Questo sarebbe stato un compito costoso, noioso e faticoso, quindi la necessità di AWS Lambda è giustificata.AWS Lambda è compatibile con Node.JS, Python e Java, quindi puoi caricare il tuo file in uno zip, definire un'origine evento e sei pronto!

Puoi leggere di più su S3 AWS qui per una comprensione più profonda.

Ora sappiamo -Come funziona Lambda eChe cerva Lambda S .

Now, capiamo-

  • Dove utilizzare Lambda?
  • Quale scopo serve Lambda, quelloaltri servizi AWS Compute no?

Se dovessi progettare una soluzione a un problema, dovresti essere in grado di identificare dove utilizzare Lambda, giusto?

Quindi, come architetto hai le seguenti opzioni per eseguire un'attività:

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

Prendiamo come esempio il caso d'uso precedente e capiamo perché abbiamo scelto Lambda per risolverlo.

AWS OpsWorks e AWS ElasticBeanstalk vengono utilizzati per distribuire un'app, quindi il nostro caso d'uso è non per creare un'app , ma per eseguire un codice di back-end.

Allora perché non EC2?

Se dovessi utilizzare EC2, dovresti progettare tutto, ad esempio bilanciatore del carico, volumi EBS, stack software ecc. In lambda non devi preoccuparti di nulla, inserisci semplicemente il tuo codice e AWS gestirà il resto!

Per esempio , in EC2 installeresti i pacchetti software sulla tua macchina virtuale che supporterebbero il tuo codice, ma in Lambda non devi preoccuparti di nessuna VM, inserisci semplicemente il codice e Lambda lo eseguirà per te.

Ma, se il tuo codice verrà eseguito per ore e ti aspetti un flusso continuo di richieste, dovresti probabilmente andare con EC2, perché l'architettura di Lambda è per un tipo di carico di lavoro sporadico, in cui ci saranno alcune ore tranquille e alcuni picchi nel no. anche delle richieste.

Per esempio , registrando l'attività di posta elettronica per diciamo una piccola azienda, vedrebbe più attività durante il giorno che di notte, inoltre potrebbero esserci giorni in cui ci sono meno email da elaborare e talvolta il mondo intero potrebbe iniziare a inviarti email! In entrambi i casi Lambda è al tuo servizio.

Considerando questo caso d'uso per una grande azienda di social networking, dove le e-mail non finiscono mai perché ha una base di utenti enorme, Lambda potrebbe non essere la scelta giusta.

Puoi leggere di più su EC2 AWS qui per una comprensione più profonda.

Limitazioni di AWS Lambda

Alcune limitazioni sono specifiche dell'hardware e alcune sono vincolate dall'architettura, parliamo di tutte.

Limitazioni hardware includere la dimensione del disco, che è limitata a 512 MB, la memoria può variare tra 128 MB e 1536 MB. Poi ce ne sono altri come il timeout di esecuzione che può essere massimizzato a soli 5 minuti, il payload del corpo della richiesta non può essere superiore a 6 MB e il corpo della richiesta è di 128 KB. Il payload del corpo della richiesta è come i dati che invii con una richiesta 'GET' o 'PUT' in HTTP, dove il corpo della richiesta sarebbe il tipo di richiesta, le intestazioni ecc.

In realtà, queste non sono limitazioni, ma sono i limiti di progettazione che sono stati impostati nell'architettura di Lambda, quindi se il tuo caso d'uso non si adatta a questi, hai sempre a disposizione gli altri servizi di elaborazione AWS.

In questo tutorial AWS Lambda abbiamo discusso del fatto che le attività in Lambda 'non' sono noiose e stancanti. Adesso copriamo anche la parte relativa alle spese.

Prezzi in AWS Lambda

Come la maggior parte dei servizi AWS, anche AWS Lambda è un servizio pay per use, il che significa che paghi solo ciò che utilizzi, quindi ti vengono addebitati i seguenti parametri

  • Il numero di richieste che apporti alla tua funzione lambda
  • Il durata per cui viene eseguito il codice.

Richieste

elevare un numero a una potenza in java
  • Ti viene addebitato il numero di richieste che effettui su tutte le tue funzioni lambda.
  • AWS Lambda conta una richiesta ogni volta che avvia l'esecuzione in risposta a un'origine evento o invoca una chiamata, incluso il test viene richiamato dalla console. Diamo ora un'occhiata ai prezzi:
    • Il primo milione di richieste, ogni mese, è gratuito.
    • Successivamente, 0,20 $ per milione di richieste.

Durata

  • La durata viene calcolata dal momento in cui il codice inizia l'esecuzione fino al momento in cui ritorna o termina, viene arrotondata per eccesso ai 100 ms più vicini.
  • Il prezzo dipende dalla quantità di memoria allocata alla funzione, ti vengono addebitati $ 0,00001667 per ogni GB al secondo utilizzato.

* Fonte: sito Web ufficiale di AWS

Se sei arrivato fino a qui, sei pronto per un Hands-on in Lambda. Divertiamoci!

Pratica: AWS Lambda DIY

Creiamo una funzione Lambda che registrerà 'Un oggetto è stato aggiunto' una volta aggiunto un oggetto a un bucket specifico in S3.

Passo 1: Dalla Console di gestione AWS nella sezione Compute, seleziona AWS Lambda.

Passo 2: Nella console AWS Lambda, fai clic su 'Crea una funzione Lambda'.

Step3: Nella pagina successiva, devi selezionare un progetto. Ad esempio, selezioneremo la funzione vuota per il nostro caso d'uso.

come eseguire php su Windows 10

Step4: Nella pagina successiva dovrai (1) impostare un trigger, dato che lavoreremo su S3, (2) selezionare il trigger S3 e quindi (3) fare clic su Avanti.

Step5: Nella pagina di configurazione, inserisci i dettagli. Puoi inserire il tuo codice oppure puoi copiare lo stesso codice da questo caso d'uso. Dopodiché, riempi il gestore e il ruolo, lascia le impostazioni avanzate così come sono, alla fine fai clic su Avanti.

Step6: Nella pagina successiva, rivedere tutte le informazioni e fare clic su 'Crea funzione'.

Step7: Ora, poiché abbiamo creato la funzione per il bucket S3, nel momento in cui aggiungi un file al bucket S3, dovresti ottenere un log per lo stesso in CloudWatch, che è un servizio di monitoraggio di AWS.

Congratulazioni!Hai eseguito con successo la funzione Lambda.

Spero che ti sia piaciuto l'approfondimento del tutorial AWS Lambda. È una delle aree di conoscenza più desiderate nell'ecosistema AWS per posizioni lavorative come Solutions Architect, Cloud Engineer, DevOps Engineer. Ecco una raccolta di per aiutarti a prepararti per il tuo prossimo colloquio di lavoro AWS.

Se hai trovato pertinente questo tutorial AWS Lambda, puoi dare un'occhiata al corso dal vivo e con istruttore di Edureka su , co-creato da professionisti del settore.

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.