Introduzione ad AWS Lambda

AWS Lambda è un servizio cloud reattivo che controlla le azioni dell'applicazione e risponde implementando codici definiti dall'utente noti come funzioni. Prima di approfondire l'argomento, dobbiamo prima comprendere AWS Lambda da due diversi scenari.

Problema

Hai in mente un progetto. Stai formulando l'algoritmo nella tua mente. Stai valutando le opzioni di stack tecnologici che puoi utilizzare per costruire il tuo progetto. Tutto procede molto bene fino a quando non ti rendi conto che devi scaricare il software, gli IDE, gli strumenti richiesti e procurarti lo spazio del server per servire il tuo codice. Va bene, è necessario configurare l'infrastruttura di base prima di iniziare l'effettiva codifica del progetto. Oh, ma hai bisogno che la tua applicazione funzioni perfettamente su computer e interfacce mobili. Questo significa più infrastruttura da configurare prima di colpire il codice di terra.

Troppe spese generali per le fasi iniziali di sviluppo? Troppe spese generali per la gestione dell'infrastruttura anche se il tuo progetto si ingrandisce? Il tuo progetto sta superando le stime dei costi? Il tuo focus è diviso tra tutte le cose tranne la codifica?

Soluzione: questi sono i problemi, ma AWS Lambda è la soluzione.

AWS Lambda - Informatica senza server

AWS Lambda ti consente di eseguire il codice senza provisioning per i server e altre infrastrutture di supporto. È possibile programmare qualsiasi tipo di applicazione o servizio back-end senza preoccuparsi del server o delle DLL / software di supporto. Devi solo concentrarti sul tuo codice. Riposa tutto è curato da AWS, a partire dalla pubblicazione del codice, attivando il codice su eventi specifici, per gestire più spazio sul server quando il tuo codice si ingrandisce.

  • AWS ti addebita in base al tempo di esecuzione del codice, in multipli di frame da 100 millisecondi. Non ci sono costi per il tempo in cui il codice rimane inattivo sul server. Quale migliore motivazione per scrivere codice efficiente!
  • Il termine "Serverless" indica spesso il passaggio al cloud. Con il cloud, puoi delegare le tue responsabilità operative ad AWS e concentrarti maggiormente sulla fornitura di una migliore esperienza utente attraverso l'applicazione.
  • Mentre lo fai, AWS gestisce attività come gestione dell'infrastruttura, clustering, patching, sicurezza, manutenzione del sistema operativo, ecc.

Perché AWS Lambda?

Come è la natura umana, è sempre bene valutare se la tecnologia / strumento valga il vantaggio. Vediamo alcune delle funzionalità di AWS Lambda che semplificano la vita degli sviluppatori.

1) Porta il tuo codice

Dato che AWS si vanta con affetto di questa funzione, Lambda ti consente di scrivere codice in qualsiasi lingua e AWS fornirà il supporto sottostante. Supporta quasi tutte le lingue native, i framework JavaScript, le librerie di terze parti e quant'altro.

2) Una serie di altri servizi AWS

AWS è uno sportello unico per tutte le infrastrutture necessarie. Ha una facile integrazione all'interno di vari servizi come storage (S3), database (RDS, DynamoDB), server (EC2), gestione della sicurezza (IAM), networking (Route53, CloudFront) e molto altro ancora.

3) Codice personalizzato

Devi scrivere una logica back-end personalizzata su misura per un singolo client? Invece di scrivere la logica sul lato client, utilizzare AWS Lambda per scrivere servizi personalizzati e rendere il codice libero dagli aggiornamenti della piattaforma client.

4) Pay Per Use

Non è necessario sborsare dollari per il tempo in cui il codice è inattivo. Se il tuo servizio riceve hit solo durante il giorno, paga solo per il tempo in cui il tuo codice viene eseguito. Questo viene calcolato in intervalli di tempo di 100 millisecondi.

5) Ridimensionamento automatico

AWS aumenta automaticamente le risorse quando il tuo servizio riceve hit più alti. Non è necessario configurare nulla per procurarsi risorse aggiuntive. Non c'è limite al numero di richieste che il tuo codice può gestire. Pertanto, le prestazioni rimangono elevate in ogni momento.

6) Disaster Recovery di Amazon

Con il codice e i dati replicati in più zone di disponibilità, qualsiasi errore della struttura non influisce sull'applicazione. Le richieste vengono automaticamente instradate verso un'altra zona.

Cominciamo con AWS Lambda Tutorial

Eccitato? Cominciamo con AWS Lambda. Dato che è un'usanza in tutto il mondo della programmazione, inizieremmo con un semplice programma "Hello World".

Passaggi pre-richiesti

Per iniziare con AWS Lambda, devi disporre di un account AWS. È diverso dall'account Amazon che utilizzi per lo shopping. Se ne hai già uno, accedi alla console e passa alla sezione successiva. In caso contrario, seguire i passaggi seguenti. Non preoccuparti, è assolutamente gratuito purché la tua applicazione non superi il limite di livello gratuito.

Crea un account AWS

  • Apri la console AWS. Fai clic su Crea nuovo account AWS.

  • Inserisci i tuoi dati e aggiorna i dettagli della tua carta. Amazon non ti addebiterà nulla se non superi il limite di utilizzo di livello gratuito. Il limite di utilizzo di livello gratuito è abbondante per lo sviluppo di singoli utenti.
  • Dopo aver completato la procedura di registrazione, visita nuovamente il link nel passaggio 1. Questa volta, accedi alla console con il tuo nome utente e password.

Entra in Lambda Console

Una volta effettuato l'accesso alla console di gestione AWS, nel riquadro dell'intestazione verrà visualizzato un collegamento a Servizi. Cliccaci sopra e troverai Lambda nella sottosezione Calcola .

Ecco come appare la console lambda a prima vista:

Puoi anche passare alla dashboard Lambda e vedere le statistiche del tuo codice. Ti dà un'idea del conteggio delle chiamate, della durata dell'esecuzione, del rapporto di successo e di errore, ecc. Una dashboard di esempio è simile alla seguente.

Ok, quindi il prossimo passo è creare una funzione. Tutti i codici in Lambda sono definiti come funzioni perché, beh, svolgono un compito specifico. Notare un pulsante Crea funzione in alto a destra nella console Lambda. Quel pulsante ci porterà alla schermata seguente:

Creazione di una funzione Lambda AWS

Vediamo come creare la funzione Lambda AWS seguendo i passaggi seguenti.

Passo 1

Ora abbiamo tre opzioni, per cominciare:

  • Autore da zero - Ti verrà dato un modello vuoto e puoi scrivere il tuo codice da zero.
  • Usa un progetto: un modello con alcune librerie incluse per soddisfare le tue esigenze. Hai solo bisogno di lavorare sulla logica del tuo codice.
  • Sfoglia repository di app senza server - Codici integrati pronti all'uso che svolgono varie funzioni. Questi possono essere facilmente utilizzati anche nel tuo codice.

Per soddisfare il nostro scopo di comprendere Lambda, in primo luogo, vorremmo utilizzare un modello. Una volta che sei abbastanza sicuro, puoi iniziare a costruire il tuo codice da zero ed esplorare il potenziale di AWS Lambda.

Ora fai clic su Usa un progetto e cerca la parola ciao. Vengono visualizzati i seguenti risultati. Creiamo la nostra applicazione ciao mondo usando NodeJS.

Passo 2

Ora arriviamo alla schermata di configurazione per la nostra funzione. Inserisci un nome a tua scelta e seleziona "Crea un nuovo ruolo dai modelli di criteri AWS" dal menu a discesa per il ruolo di esecuzione. Assegna il nome del ruolo a "lambda_basic_execution".

Nota : un ruolo di esecuzione definisce le autorizzazioni che AWS Lambda può assumere durante l'esecuzione del codice. Un'esecuzione di base significa che lambda eseguirà semplicemente il codice in cui non è coinvolta alcuna libreria di terze parti. Nel caso in cui il codice debba interagire con Amazon S3 o RDS o EC2 o altri servizi, è necessario fornire le autorizzazioni appropriate per accedere a questi servizi alla funzione lambda AWS.

Fare clic sul pulsante Crea funzione nella parte inferiore dello schermo. La seguente schermata appare sulla corretta creazione della funzione.

Nota : il nome della risorsa ARN o Amazon è un nome univoco della funzione. Questo può essere usato come endpoint per attivare la tua funzione. I trigger nella sezione designer sono i punti in cui aggiungi servizi che possono attivare la tua funzione. In ogni servizio che può attivare la tua funzione, l'ARN della tua funzione dovrebbe essere configurato. È come un'associazione di servizi bidirezionale. Il servizio trigger saprebbe che deve colpire la tua funzione e la tua funzione sarebbe configurata per ricevere richieste dai servizi trigger che aggiungi. L'aggiunta di trigger è il livello successivo delle esercitazioni lambda e non rientra nell'ambito di questo articolo.

Passaggio 3

Sotto la sottosezione del progettista è presente la sottosezione del codice funzione. Questo è il tuo IDE in linea facilitato da Amazon. Sembra qualcosa del genere:

  • Sotto il menu a discesa Tipo di codice, puoi selezionare se desideri modificare il codice in linea o caricare un file zip dal tuo sistema o caricare un file zip da Amazon S3. Le opzioni di caricamento possono essere utilizzate per codici complessi che possono essere facilmente modificati in alcuni IDE con funzionalità migliori nel sistema locale.
  • Il runtime è la lingua / framework che supporta il tuo codice.
  • Un gestore è una funzione di invocazione all'interno della funzione lambda AWS. La tua funzione lambda AWS può avere più gestori e puoi specificare con quale gestore iniziare l'esecuzione. Gestori di immagini come metodi designati per eseguire attività specifiche.

Passaggio 4

Nella parte superiore della pagina, vedrai una striscia con alcuni pulsanti. Fai clic su Seleziona un evento di prova per testare il nostro codice. Questo ti chiederà di configurare un evento di test, nel caso in cui non venga creato nessuno.

Configura il tuo primo evento di test come quello qui sotto:

Salvare l'evento di test e fare clic su Test. Vedrai i risultati dell'esecuzione della tua funzione.

  • Risposta : il risultato finale restituito dalla funzione. Si noti che la nostra funzione ha restituito key1.
  • ID richiesta : ogni richiesta per la tua funzione ha un ID richiesta univoco. Questi sono utilizzati da Amazon per tenere traccia delle richieste e generare le informazioni di fatturazione.
  • Log delle funzioni : la parte più approfondita di AWS Lambda. Questi sono registri dettagliati che specificano l'inizio e la fine dell'esecuzione della funzione. A differenza del debug nei normali IDE, AWS Lambda si basa fortemente sui log per scopi di debug. Sono memorizzati in CloudWatch anche per riferimenti futuri.

Congratulazioni! Hai creato correttamente una funzione Lambda. Ma aspetta, non l'abbiamo ancora invocato. L'abbiamo appena testato dal nostro ambiente. Richiamiamolo dal mondo esterno.

Richiamo della funzione Lambda AWS

Vorremmo creare un'API REST per invocare la funzione Lambda.

Passo 1

Vai su Amazon API Gateway. Può anche essere trovato in Servizi -> Networking e Content Delivery. Fai clic su Crea API.

Passo 2

Configura i dettagli di base dell'API come di seguito e fai clic su Crea API.

Passaggio 3

Ora l'API è stata creata, ma non è stato definito alcun metodo HTTP nell'API. Fai clic sul menu a discesa Azioni e su Crea metodo. Noterai un menu a discesa più piccolo nel riquadro di sinistra. Fai clic su OTTIENI da questo menu a discesa. Quindi, in sostanza, stiamo creando un metodo HTTP GET per la nostra API.

Passaggio 4

Configura il tuo metodo GET per invocare una funzione lambda come illustrato di seguito. È necessario specificare l'ARN della funzione Lambda nel campo Funzione Lambda. Clicca su Salva.

Una volta salvato il metodo GET, si arriva alla schermata di esecuzione del metodo seguente.

Passaggio 5

Ora viene anche creato il tuo metodo GET. Ma non abbiamo ancora fornito le coppie chiave-valore che abbiamo fatto nel nostro ambiente di test. La nostra funzione AWS Lambda prevede tre chiavi e valori. Definiamoli.

Fare clic su Richiesta di integrazione e scorrere fino a Modelli di mappatura. Definisci il tuo modello di mappatura come di seguito. Il tipo di contenuto è application / json. Questo è semplicemente il formato dei parametri che invieresti nel corpo della tua richiesta.

L'API è ora pronta per essere distribuita.

Passaggio 6

Fai clic su Azioni e distribuisci API. Nel popup di distribuzione, selezionare Nuova fase e fornire un nome e una descrizione significativi.

Si arriva alla schermata seguente con l'endpoint REST dell'API configurato e pronto per l'uso.

Fare clic sull'endpoint e il browser invierà una richiesta alla funzione Lambda e visualizzerà la risposta.

Congratulazioni! Hai invocato correttamente anche la tua funzione Lambda. Piuttosto un risultato.

Chi può imparare AWS Lambda

Ormai deve essere evidente che la funzione AWS Lambda richiede una piccola conoscenza di servizi, implementazione di servizi, richieste e risposte. Si tratta di elementi di base che ogni programmatore di computer deve conoscere per creare applicazioni Web. Se non si dispone di conoscenze sufficienti su questo argomento, si consiglia di acquisire tali conoscenze in modo da garantire la codifica senza problemi in AWS Lambda.

AWS ha anche una documentazione completa su tutti i suoi servizi. Esplora la documentazione per una comprensione più profonda del mondo AWS.

Carriera in AWS Lambda

Non è solo Lambda, ma l'intero settore dei servizi Web Amazon è in forte espansione oggi. C'è una richiesta di esperti nei servizi AWS. AWS fornisce anche certificazioni adatte al tuo livello di competenza. Esplora il sito Web AWS per ulteriori informazioni al riguardo.

Conclusione

Ora che hai compreso le basi delle funzioni AWS Lambda, continua a creare più funzioni e integrarti con altri servizi AWS. Continua a giocare e continua ad imparare. Saluti!

Articoli consigliati

Questa è stata una guida a What is AWS Lambda. In questo tutorial sulla funzione AWS Lambda abbiamo spiegato come configurare e distribuire l'API. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Che cos'è AWS? | Come funziona?
  2. Carriera in Azure | Istruzione | Percorso di carriera
  3. Guida ai servizi di cloud computing
  4. Quali sono le alternative ad AWS?
  5. Guida completa ai fornitori di servizi di cloud computing

Categoria: