Dove siamo
Via Chambery 93/107-V 10142 – Torino, Italy
+39 011.5097366 | [email protected]
Corso Elvezia 25 – 6900 Lugano, Switzerland
+39 011.5097366 | [email protected]
124 City Road London, EC1V 2NX, London, United Kingdom | [email protected]
Lambda è il principale servizio di AWS per l’esecuzione serverless di codice. E’ un servizio di calcolo basato su eventi serverless che permette di eseguire codici per qualsiasi tipo di applicazione o servizio back-end senza effettuare il provisioning o gestire server. E’ possibile attivare Lambda da oltre 200 servizi AWS ed applicazioni di software come servizio (SaaS), e paghi solo quello che usi.
È 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 Simple Storage Service (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 elevata disponibilità ed esegue tutte le attività di amministrazione delle risorse di calcolo. Tra queste, la manutenzione del server e del sistema operativo, il provisioning della capacità e la scalabilità automatica, l’implementazione di codici e patch di sicurezza e il monitoraggio e la registrazione di codici. Tutto quello che devi fare è fornire il codice. Queste ed altre caratteristiche rendono Lambda particolare adatto ai seguenti casi d’uso:
AWS Lambda è un servizio piuttosto potente e ampiamente utilizzato. E poiché il servizio viene eseguito su AWS, è intrinsecamente molto sicuro grazie all’architettura di alta qualità di Amazon.
E’ importante tenere ben presente che la CPU per Lambda è assegnata proporzionalmente alla memoria assegnata alla funzione lambda. Pertanto a volte l’assegnazione di più memoria aiuta una funzione a essere eseguita più velocemente e a ridurre i costi.
Questo può essere complicato in quanto aumenta la memoria e aumentano anche i costi ed è importante notare che dopo un certo livello la riduzione dell’esecuzione diventa molto meno significativa rispetto all’aumento dei costi e chiaramente rappresentata nel grafico sottostante. Pertanto, è molto importante trovare il giusto equilibrio tra memoria e tempo di esecuzione per assicurarsi che lambda operi in un ambiente ottimizzato.
L’approccio di CriticalCase è proprio quello di studiare il giusto equilibrio nella pre-allocazione delle risorse, sia in fase di disegno della soluzione Serverless, sia nelle fasi successive di monitoring e fine-tuning della soluzione nel tempo.
Allocazione della memoria rispetto al tempo di esecuzione in una funzione Lambda
Detto questo, ci sono alcune considerazioni speciali che devono essere prese per proteggere AWS Lambda. Ecco alcune best practice per la sicurezza di AWS Lambda da considerare:
Per evitare fughe di dati, AWS consiglia di non archiviare dati utente, eventi e altri dati con implicazioni sulla sicurezza nell’ambiente di esecuzione. Il nostro consiglio è di creare funzioni separate e versioni di funzioni separate per ciascun utente, per funzioni che si basano su uno stato mutabile che non può essere archiviato in memoria all’interno del gestore.
L’uso di un gateway API per richiamare le Lambda functions è fortemente consigliato, inoltre è un servizio AWS fortemente integrato. Un API gateway può fungere da porta d’ingresso per la funzione Lambda, assicurando che solo le identità autorizzate vi accedano. Amazon offre il proprio API gateway per creare e documentare API Web che instradano le richieste a specifiche funzioni Lambda.Utilizzando API Gateway, puoi proteggere l’accesso a ciascuna funzione Lambda e mantenere un’autenticazione di autorizzazione rigorosa. Per ulteriori informazioni su come utilizzare AWS Lambda con il gateway API Amazon, leggi i documenti.
AWS Identity and Access Management (IAM) consente agli amministratori di controllare l’accesso alle risorse AWS. Questo servizio consente agli amministratori di controllare chi è autenticato e autorizzato a utilizzare le risorse Lambda, nonché di configurare ciò che gli stessi lambda hanno il privilegio di fare.
Il nostro consiglio è di gestire in modo programmatico tutte le distribuzioni serverless tramite pipeline CI/CD. Perché la velocità di sviluppo con un’architettura serverless sarà molto più frequente. La creazione di distribuzioni e aggiornamenti manuali insieme alla necessità di distribuzioni più frequenti può causare colli di bottiglia ed errori.
Il nostro consiglio è di utilizzare la suite di strumenti per la configurazione di una pipeline CI/CD, messa a disposizione direttamente da AWS:
EccellenteIn base a 30 recensioni![]()
Michele Schiavello
Luca Tosi
Stefano PelisseroMolto efficienti, disponibili e professionali ! Assolutamente da consigliare. Grazie
Samuele Busso
play bho
Bince Thomas
Federico Palumbo
Simone Boscolo Bozza
Antonio Varvara
mario riccardi
Via Chambery 93/107-V 10142 – Torino, Italy
+39 011.5097366 | [email protected]
Corso Elvezia 25 – 6900 Lugano, Switzerland
+39 011.5097366 | [email protected]
124 City Road London, EC1V 2NX, London, United Kingdom | [email protected]
Iscriviti alla nostra newsletter per restare aggiornato sulle novità dell’universo Criticalcase