AWS Lambda è un servizio di elaborazione senza server che esegue il tuo codice, in risposta a determinati eventi, oltre a gestire automaticamente le risorse di calcolo 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.

Funzioni AWS Lambda

Cos’è una funzione 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 "senza stato", 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à, quindi 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 implementa 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

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.

Crea pacchetti e implementa le funzioni come immagini dei container

AWS Lambda supporta funzioni di creazione di pacchetti e distribuzione come immagini dei container, semplificando la creazione di applicazioni basate su Lambda da parte dei clienti utilizzando strumenti, flussi di lavoro e dipendenze consueti per le immagini dei container. Inoltre, i clienti traggono vantaggio dalla semplicità operativa, dalla scalabilità automatica con tempi di avvio inferiori al secondo, dall'elevata disponibilità, dalle integrazioni native con 200 servizi AWS e applicazioni SaaS e dal modello di pagamento a consumo offerto da AWS Lambda. I clienti aziendali possono utilizzare un set consistente di strumenti con le loro applicazioni Lambda e containerizzate per i requisiti di governance centrale come la scansione della sicurezza e la firma delle immagini.

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 generalmente inizia a eseguire il codice impostato entro pochi millisecondi dall'evento che lo attiva. Poiché Lambda scala automaticamente, le prestazioni rimangono costantemente elevate all'aumentare della frequenza degli eventi. Poiché il codice è senza stato, 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 senza server 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 senza server. 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.

Connettiti a file system condivisi

Con Amazon Elastic File System per AWS Lambda, puoi leggere, scrivere e conservare in modo sicuro grandi volumi di dati a bassa latenza, a qualsiasi scala. Non è necessario scrivere codice per scaricare i dati nella memoria temporanea per elaborarli. Ciò consente di risparmiare tempo e semplifica il codice, consentendoti di focalizzarti sulla logica aziendale. EFS per Lambda è ideale per la creazione di applicazioni di machine learning o il caricamento di file o modelli di riferimento di grandi dimensioni, l'elaborazione o il backup di grandi quantità di dati, l'hosting di contenuti Web o la condivisione di file tra applicazioni serverless e applicazioni basate su istanza o container.

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 e ISO. Per le informazioni più recenti sulla preparazione a certificazioni e conformità Lambda, consulta i servizi completi coperti.

Controlli di affidabilità e integrità

La firma del codice per AWS Lambda offre controlli di affidabilità e integrità che ti consentono di verificare che nelle funzioni Lambda venga distribuito solo codice inalterato pubblicato da sviluppatori approvati. Puoi semplicemente creare elementi di codice con firma digitale e configurare le funzioni Lambda per verificare le firme durante la distribuzione. Questo ti aiuta a incrementare la velocità e l'agilità del tuo sviluppo, anche all'interno di grandi team di sviluppo, applicando elevati standard di sicurezza.

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 1 millisecondo, 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 di 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.

Integra Lambda con i tuoi strumenti operativi preferiti

Le estensioni AWS Lambda ti consentono di integrare facilmente Lambda con i tuoi strumenti preferiti per il monitoraggio, l'osservabilità, la sicurezza e la governance. Le estensioni Lambda vengono eseguite all'interno dell'ambiente di esecuzione di Lambda, ovvero dove viene eseguito il codice della funzione. Grazie alle estensioni Lambda puoi acquisire informazioni diagnostiche dettagliate e inviare registri di funzioni, metriche e tracce a una posizione di tua scelta. Inoltre, puoi integrare agenti di sicurezza all'interno dell'ambiente di esecuzione di Lambda, il tutto senza sovraccarico operativo e con un impatto minimo sulle prestazioni delle tue funzioni.

Raggiungi una prestazione di prezzo migliore fino al 34% con le funzioni potenziate da Graviton2

Le funzioni di AWS Lambda in esecuzione su Graviton2, utilizzando un'architettura del processore basato su Arm, progettato da AWS, forniscono una migliore prestazione di prezzo fino al 34%, confrontata con le funzioni in esecuzione su processori x86. Ciò si applica ad una varietà di carichi di lavoro serverless, come i back-end Web e mobili, i dati e l'elaborazione media. Con una latenza minore, migliori prestazioni fino al 19%, un prezzo più basso del 20% e l'efficienza a più alta potenza attualmente disponibile presso AWS, le funzioni di Graviton2 possono essere utilizzate per potenziare le applicazioni serverless essenziali per l'organizzazione.

Ulteriori informazioni sui prezzi di AWS Lambda

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