Amazon Web Services - Lambda

AWS Lambda è un servizio cloud reattivo che ispeziona le azioni all'interno dell'applicazione e risponde distribuendo i codici definiti dall'utente, noti come functions. Gestisce automaticamente le risorse di calcolo su più zone di disponibilità e le ridimensiona quando vengono attivate nuove azioni.

AWS Lambda supporta il codice scritto in Java, Python e Node.js e il servizio può avviare processi in linguaggi supportati da Amazon Linux (include Bash, Go e Ruby).

Di seguito sono riportati alcuni suggerimenti consigliati durante l'utilizzo di AWS Lambda.

  • Scrivi il codice della tua funzione Lambda in uno stile senza stato.

  • Non dichiarare mai alcuna variabile di funzione al di fuori dell'ambito del gestore.

  • Assicurati di avere un set di + rx permissions sui file nello ZIP caricato per garantire che Lambda possa eseguire il codice per tuo conto.

  • Elimina le vecchie funzioni Lambda quando non sono più necessarie.

Come configurare AWS Lambda?

Segui questi passaggi per configurare AWS Lambda per la prima volta.

Step 1 - Accedi all'account AWS.

Step 2 - Seleziona Lambda dalla sezione dei servizi AWS.

Step 3 - Seleziona un progetto (opzionale) e fai clic sul pulsante Salta.

Step 4 - Fornire i dettagli necessari per creare un file Lambda functioncome mostrato nello screenshot seguente e incolla il codice Node.js che verrà attivato automaticamente ogni volta che un nuovo elemento viene aggiunto in DynamoDB. Seleziona tutte le autorizzazioni richieste.

Step 5 - Fare clic sul pulsante Avanti e verificare i propri dati.

Step 6 - Fare clic sul pulsante Crea funzione.

Ora, quando selezioniamo il servizio Lambda e selezioniamo la scheda Sorgenti evento, non ci saranno record. Aggiungi almeno una sorgente alla funzione Lambda affinché funzioni. Qui stiamo aggiungendo la tabella DynamoDB ad esso.

Abbiamo creato una tabella utilizzando DynamoDB (ne parleremo in dettaglio nel capitolo DynamoDB).

Step 7 - Seleziona la scheda stream e associala alla funzione Lambda.

Vedrai questa voce nella scheda Sorgenti evento della pagina Servizio Lambda.

Step 8- Aggiungi alcune voci nella tabella. Quando la voce viene aggiunta e salvata, il servizio Lambda dovrebbe attivare la funzione. Può essere verificato utilizzando i log Lambda.

Step 9- Per visualizzare i log, seleziona il servizio Lambda e fai clic sulla scheda Monitoraggio. Quindi fare clic su Visualizza log in CloudWatch.

Vantaggi di AWS Lambda

Di seguito sono riportati alcuni dei vantaggi dell'utilizzo delle attività Lambda:

  • Le attività Lambda non devono essere registrate come i tipi di attività Amazon SWF.

  • Possiamo utilizzare qualsiasi funzione Lambda esistente che hai già definito nei flussi di lavoro.

  • Le funzioni Lambda vengono chiamate direttamente da Amazon SWF; non è necessario progettare un programma per implementarli ed eseguirli.

  • Lambda ci fornisce le metriche e i log per il monitoraggio delle esecuzioni delle funzioni.

Limiti di AWS Lambda

Di seguito sono riportati i tre tipi di limiti Lambda.

Limite dell'acceleratore

Il limite di velocità è di 100 esecuzioni simultanee di funzioni Lambda per account e viene applicato al totale delle esecuzioni simultanee su tutte le funzioni all'interno di una stessa regione.

La formula per calcolare il numero di esecuzioni simultanee per una funzione = (durata media dell'esecuzione della funzione) X (numero di richieste o eventi elaborati da AWS Lambda).

Quando viene raggiunto il limite di accelerazione, restituisce un errore di limitazione con codice di errore 429. Dopo 15-30 minuti è possibile ricominciare a lavorare. Il limite di accelerazione può essere aumentato contattando il centro di supporto AWS.

Limite di risorse

La tabella seguente mostra l'elenco dei limiti delle risorse per una funzione Lambda.

Risorsa Limite predefinito
Capacità disco temporanea (spazio "/ tmp") 512 MB
Numero di descrittori di file 1.024
Numero di processi e thread (totale combinato) 1.024
Durata massima di esecuzione per richiesta 300 secondi
Richiama la dimensione del carico utile del corpo della richiesta 6 MB
Richiamare la dimensione del payload del corpo della risposta 6 MB

Limite di servizio

La tabella seguente mostra l'elenco dei limiti dei servizi per la distribuzione di una funzione Lambda.

Articolo Limite predefinito
Dimensioni del pacchetto di distribuzione della funzione Lambda (file .zip / .jar) 50 MB
Dimensioni del codice / dipendenze che è possibile comprimere in un pacchetto di distribuzione (dimensioni zip / jar non compresse) 250 MB
Dimensioni totali di tutti i pacchetti di distribuzione che possono essere caricati per regione 1,5 GB
Numero di origini evento univoche del tipo di origine Evento pianificato per account 50
Numero di funzioni Lambda univoche che puoi connettere a ciascun evento pianificato 5

Per la struttura dei limiti più recente e ulteriori informazioni, visitare - https://docs.aws.amazon.com/lambda/latest/dg/limits.html/