

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di Lambda con l'infrastructure as code (IaC)
<a name="foundation-iac"></a>

Le funzioni Lambda raramente vengono eseguite in modo isolato. Spesso fanno invece parte di un'applicazione serverless con altre risorse come database, code e spazio di archiviazione. Con l'[infrastructure as code (IaC)](https://aws.amazon.com/what-is/iac/), è possibile automatizzare i processi di implementazione per implementare e aggiornare in modo rapido e ripetibile intere applicazioni serverless che coinvolgono molte risorse AWS separate. Questo approccio accelera il ciclo di sviluppo, semplifica la gestione della configurazione e garantisce che le risorse vengano implementate sempre allo stesso modo.

## Strumenti di IaC per Lambda
<a name="foundation-iac-tools"></a>

**CloudFormation**  
CloudFormation è il servizio IaC fondamentale di AWS. Puoi utilizzare i [modelli YAML o JSON](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html) per modellare ed eseguire il provisioning dell'intera infrastruttura AWS, comprese le funzioni Lambda. CloudFormation gestisce le complessità legate alla creazione, all'aggiornamento e all'eliminazione delle risorse AWS.

**AWS Serverless Application Model (AWS SAM)**  
AWS SAM è un framework open source basato su CloudFormation. Fornisce una sintassi semplificata per definire applicazioni serverless. Usa i [modelli AWS SAM](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html) per effettuare rapidamente il provisioning di funzioni Lambda, API, database e origini eventi con poche righe di YAML.

**AWS Cloud Development Kit (AWS CDK)**  
Il CDK è un approccio basato sul codice a IaC. Puoi definire la tua architettura basata su Lambda utilizzando TypeScript, JavaScript, Python, Java, C\#/.NET o Go. Scegli il tuo linguaggio preferito e utilizza elementi di programmazione come parametri, condizionali, cicli, composizione ed ereditarietà per definire il risultato desiderato della tua infrastruttura. Il CDK genera quindi i modelli CloudFormation sottostanti per l'implementazione. Per un esempio di come utilizzare Lambda con CDK, consulta [Implementazione delle funzioni Lambda con AWS CDK](lambda-cdk-tutorial.md).

![Diagramma che mostra come AWS SAM e AWS CDK implementano risorse AWS e codice utilizzando CloudFormation](http://docs.aws.amazon.com/it_it/lambda/latest/dg/images/IaC_tools.png)


Inoltre, AWS fornisce un servizio chiamato AWS Infrastructure Composer per sviluppare modelli di IaC utilizzando una semplice interfaccia grafica. Con Infrastructure Composer, è possibile progettare un'architettura di applicazioni trascinando, raggruppando e connettendo i Servizi AWS in un canvas visivo. Infrastructure Composer crea quindi un modello AWS SAM oppure un modello CloudFormation a partire dal tuo progetto che puoi utilizzare per implementare l'applicazione.

Nella sezione [Utilizzo delle funzioni Lambda in AWS SAM e Infrastructure Composer](foundation-iac-getting-started.md) seguente, Infrastructure Composer viene utilizzato per sviluppare un modello per un'applicazione serverless basata su una funzione Lambda esistente.