AWS Lambda è un servizio di elaborazione serverless che esegue il tuo codice, in risposta a determinati eventi, oltre a gestire automaticamente le risorse di elaborazione in uso al tuo posto. È possibile utilizzare AWS Lambda per estendere altri servizi AWS con logica personalizzata oppure per creare propri servizi di back-end in grado di sfruttare la scalabilità, le prestazioni e la sicurezza di AWS. AWS Lambda può eseguire automaticamente il codice in risposta a eventi multipli, come richieste HTTP tramite Amazon API Gateway, modifiche agli oggetti in bucket Amazon S3, l’aggiornamento di tabelle in Amazon DynamoDB e le transizioni di stato in AWS Step Functions.

Lambda esegue il tuo codice su un'infrastruttura di calcolo ad alta disponibilità e amministra le risorse di elaborazione, tra cui la manutenzione di server e del sistema operativo, il provisioning di capacità e l’Auto Scaling, lo sviluppo di patch per codice e protezione, oltre al monitoraggio e la creazione di log. Tutto quello che devi fare è fornire il codice.


PAC-Q4_House-Ads_Lambda_2up

Introduzione alle funzioni di AWS Lambda

Il codice che decidi di eseguire su AWS Lambda viene chiamato "funzione Lambda". Una volta creata, una funzione Lambda è sempre attiva e pronta per essere attivata, in modo analogo a una formula di un foglio di lavoro. Ciascuna funzione include il tuo codice e alcune informazioni di configurazione, quali il nome della funzione e i requisiti in termini di risorse. Le funzioni Lambda sono "stateless", prive di affinità con l'infrastruttura sottostante, perciò AWS Lambda può avviare qualsiasi numero di copie della funzione, in base alla frequenza degli eventi in entrata.

Dopo aver caricato la funzione su AWS Lambda, è possibile associarla con le risorse AWS (ad esempio un bucket Amazon S3, una tabella Amazon DynamoDB, un flusso Amazon Kinesis o una notifica di Amazon SNS). Al variare della risorsa, quindi, Lambda eseguirà la tua funzione e gestirà le risorse di elaborazione in modo da soddisfare le esigenze dettate dalle richieste in entrata.

Caratteristiche principali del prodotto

Estensione di altri servizi AWS con logica personalizzata

AWS Lambda ti permette di aggiungere logica personalizzata a risorse AWS quali bucket Amazon S3 e tabelle Amazon DynamoDB, semplificando l'applicazione di elaborazione ai dati, man mano che questi vengono immessi o spostati nel cloud.

È facile iniziare a usare AWS Lambda. Prima di tutto, devi creare la funzione caricando il codice (o creandola direttamente dalla console di Lambda) e scegliendo la memoria, il periodo di timeout e il ruolo AWS Identity and Access Management (IAM). Devi quindi specificare la risorsa AWS per l'attivazione della funzione, che può essere un bucket Amazon S3, una tabella Amazon DynamoDB o un flusso Amazon Kinesis specifico. Al variare della risorsa, Lambda eseguirà la tua funzione e avvierà e gestirà le risorse di elaborazione necessarie in base alle richieste in entrata.

Creazione di servizi di back-end personalizzati

Puoi usare AWS Lambda per creare nuovi servizi di back-end per le tue applicazioni, attivati on demand usando l'API di Lambda o endpoint API personalizzati creati con Amazon API Gateway. Usando Lambda per elaborare eventi personalizzati invece di gestirli nel client, puoi evitare variazioni della piattaforma client, ridurre il consumo delle batterie e semplificare gli aggiornamenti.

Possibilità di usare codice personalizzato

Con AWS Lambda non è necessario imparare a usare nuovi linguaggi, strumenti o framework. Puoi usare qualsiasi libreria di terza parte, anche quelle native. Puoi inoltre suddividere in pacchetti (framework, SDK, librerie e molto altro) come Lamba Layer e gestirli e condividerli facilmente tra diverse funzioni. Lambda offre supporto nativo a codici Java, Go, PowerShell, Node.js, C#, Python e Ruby e fornisce un’API Runtime che consente di utilizzare qualsiasi lingua di programmazione aggiuntiva per creare le tue funzioni.

Amministrazione completamente automatica

AWS Lambda gestisce tutta l'infrastruttura per l'esecuzione del codice in un ambiente a elevata disponibilità e con tolleranza ai guasti, permettendoti di concentrarti sulla creazione di servizi di back-end differenziati. Con Lambda non devi mai aggiornare il sistema operativo sottostante quando viene rilasciata una nuova patch né preoccuparti di dimensionare o aggiungere nuovi server in base all'aumento dell'utilizzo. AWS Lambda distribuisce in modo ottimale il tuo codice, si occupa di tutte le attività di amministrazione, manutenzione e applicazione di patch di sicurezza e fornisce registrazione di log e monitoraggio integrati tramite Amazon CloudWatch.

Tolleranza ai guasti integrata

Lambda offre tolleranza ai guasti integrata. AWS Lambda gestisce la capacità di elaborazione tra più zone di disponibilità in ogni regione, per agevolare la protezione del codice da errori di singoli computer o di strutture di data center. Sia AWS Lambda sia le funzioni in esecuzione nel servizio offrono prestazioni operative prevedibili e affidabili. Il servizio AWS Lambda è progettato per offrire elevata disponibilità per il servizio stesso e per le funzioni da esso gestite. Non sono previsti finestre di manutenzione o tempi di inattività pianificati.

Scalabilità automatica

AWS Lambda richiama il codice solo se necessario e si dimensiona automaticamente per supportare la frequenza delle richieste in entrata, senza alcuna attività di configurazione da parte tua. Il codice può gestire un numero illimitato di richieste. AWS Lambda inizia in genere a eseguire il codice entro pochi millisecondi da un evento e poiché è in grado di dimensionarsi automaticamente, le prestazioni restano costantemente elevate anche con l'aumentare della frequenza degli eventi. Poiché il codice è stateless, Lambda può avviare tutte le istanze necessarie senza distribuzioni prolungate o ritardi di configurazione.

Connessioni ai database relazionali

Utilizza Amazon RDS Proxy per sfruttare i pool di connessione completamente gestiti per i database relazionali. RDS Proxy gestisce in modo efficace migliaia di connessioni contemporanee di database a database relazionali, rendendo possibile la creazione di applicazioni altamente calibrabili, sicure e basate su Lambda, che non hanno bisogno di interagire con i database relazionali. Attualmente, RDS Proxy offre il supporto per MySQL e Aurora. Puoi utilizzare RDS Proxy per le applicazioni serverless attraverso la console Amazon RDS o la console AWS Lambda.

Controllo granulare sulle prestazioni

Provisioned Concurrency ti offre un maggiore controllo sulle prestazioni dell'applicazione serverless. Quando è abilitato, Provisioned Concurrency mantiene inizializzate le funzionalità e pronte a reagire nell'arco di una decina di millisecondi. Provisioned Concurrency è ideale per qualsiasi applicazione creata utilizzando AWS Lambda che richiede maggiore controllo sul tempo di avvio delle funzioni. Puoi configurare facilmente il livello di simultaneità richiesto dalla tua applicazione. Puoi aumentare il livello di simultaneità durante i momenti di grande richiesta e ridurlo, o spegnerlo completamente, al calare della domanda. Sfruttare Provisioned Concurrency non richiede cambiamenti al codice. Provisioned Concurrency è uno strumento efficace per ottenere al bisogno prestazioni costanti per applicazioni sensibili alla latenza senza richiedere la gestione di risorse di elaborazione.

Esegui il codice in risposta alle richieste di Amazon CloudFront

Con Lambda@Edge, AWS Lambda può eseguire il codice nelle location AWS a livello globale, in risposta ad eventi di Amazon CloudFront, come richieste di contenuti da o verso server di origine e visualizzatori. Questo facilita la fornitura di contenuti più ricchi e personalizzati agli utenti finali, con una minore latenza. Ulteriori informazioni »

Orchestra più funzioni

Puoi coordinare più funzioni AWS Lambda per attività complesse o di lunga esecuzione, attraverso la creazione di flussi di lavoro con AWS Step Functions. Step Functions ti consente di definire flussi di lavoro che attivano la raccolta di funzioni Lambda utilizzando fasi sequenziali, parallele, di branching e gestione di errori. Con Step Functions e Lambda puoi costruire processi stateful di lunga esecuzione per applicazioni e back-end.

Modello di sicurezza integrato

AWS Lambda permette al codice di accedere in modo sicuro ad altri servizi AWS tramite l'SDK AWS corrispondente e l'integrazione con AWS Identity and Access Management (IAM). AWS Lambda esegue di default il codice in un VPC. È anche possibile configurare AWS Lambda in modo che acceda alle risorse che si trovano dietro VPC, consentendo di sfruttare i gruppi di sicurezza personalizzati e le liste di controllo degli accessi di rete per garantire alle funzioni Lambda l'accesso alle risorse all'interno di un VPC.

AWS Lambda è conforme a SOC, HIPAA, PCI, ISO. Per le informazioni più recenti sulla preparazione a certificazioni e conformità Lambda, consulta i servizi completi coperti.

I prezzi sono calcolati solo in base all'utilizzo effettivo

Con AWS Lambda, i prezzi sono calcolati sulla durata di esecuzione piuttosto che per unità di server. Utilizzando le funzioni Lambda, i prezzi sono calcolati solo in base alle richieste eseguite e al tempo di elaborazione richiesto per l'esecuzione del codice. La fatturazione è calcolata in incrementi di 100 millisecondi, rendendo conveniente e facile il dimensionamento automatico da poche richieste al giorno fino a migliaia al secondo. Con Provisioned Concurrency, i prezzi sono calcolati sulla quantità di simultaneità configurata e sull'arco di tempo per cui viene configurata. Quando Provisioned Concurrency è abilitata per una determinata funzionalità e viene eseguita, i prezzi sono calcolati sulle richieste e sulla durata dell'esecuzione. Per ulteriori informazioni sui prezzi, consulta i prezzi AWS Lambda.

Modello di risorsa flessibile

Una volta scelta la quantità di memoria che vuoi allocare alle tue funzioni, AWS Lambda assegna in modo proporzionale la potenza della CPU, la larghezza di banda di rete e l'I/O su disco.

Ulteriori informazioni sui prezzi per AWS Lambda

Visita la pagina dei prezzi
Sei pronto per iniziare?
Registrati
Hai altre domande?
Contattaci