

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à.

# Infrastructure as code (IaC)
<a name="infrastructure-as-code"></a>

Con la scalabilità dei sistemi di intelligenza artificiale serverless, la complessità del provisioning, della gestione e dell'evoluzione dell'infrastruttura cloud aumenta rapidamente. La configurazione manuale di AWS Lambda funzioni APIs, agenti Amazon Bedrock, ruoli IAM e macchine a stati è soggetta a errori, non ripetibile e non conforme su larga scala.

L'infrastruttura come codice (IaC) è la disciplina di base che garantisce che tutti i componenti dell'infrastruttura siano:
+ Versione controllata
+ Ripetibile in tutti gli ambienti 
+ Verificabile e revisionabile
+ Modulare e testabile

Adottando IaC, le aziende ottengono non solo l'automazione, ma anche la governance, la velocità e la resilienza nell'implementazione e nella gestione di carichi di lavoro di intelligenza artificiale senza server.

## Servizi AWS per l'implementazione IaC dell'IA serverless su AWS
<a name="section-iac-aws-services"></a>

I seguenti strumenti Servizi AWS e quelli di terze parti supportano l'implementazione IaC di AI serverless su. AWS AWS CloudFormation e AWS SAM forniscono AWS funzionalità native per l'implementazione dell'infrastruttura. AWS CDKHashiCorpTerraformoffre una popolare soluzione di terze parti. Ognuna presenta vantaggi distinti ed è adatta ai diversi requisiti del team e ai diversi casi d'uso.

### CloudFormation
<a name="section-iac-cloudformation"></a>

[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)è un servizio IaC nativo e dichiarativo che consente di definire l'infrastruttura come modelli JSON o YAML strutturati.

I punti di forza di includono i seguenti: CloudFormation 
+ Altamente stabile e maturo, ampiamente supportato da tutti Servizi AWS 
+ Rilevamento integrato del rollback e della deriva
+ Gli stack gestiti e i set di modifiche consentono implementazioni più sicure 
+ Supportato direttamente per il Console di gestione AWS tracciamento visivo

CloudFormation è ideale per i seguenti requisiti:
+ Team che necessitano di modelli espliciti e verificabili con un controllo granulare
+ Ambienti normativi in cui la tracciabilità del codice è obbligatoria 
+ Ambienti in cui le DevOps pipeline applicano flussi di lavoro di promozione rigorosi

### AWS CDK
<a name="section-iac-cdk"></a>

[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)È un framework open source. Con AWS CDK, è possibile definire l' AWS infrastruttura utilizzando linguaggi di programmazione familiari comeTypeScript, PythonJava, o C\#.

I punti di forza di AWS CDK sono i seguenti:
+ Ibrido imperativo e dichiarativo che supporta l'uso di loop, condizionali e astrazioni nel codice 
+ Disponibilità di molti costrutti e modelli riutilizzabili
+ Più facile da adottare per gli sviluppatori (mentalità incentrata sul codice)
+ Consente implementazioni multiambiente con stack sensibili all'ambiente

 AWS CDK È ideale per i seguenti requisiti:
+ Team con forti competenze di ingegneria del software
+ Casi d'uso che richiedono la generazione dinamica dell'infrastruttura
+ Progetti che prevedono il riutilizzo delle costruzioni, la personalizzazione e l'iterazione rapida

### AWS SAM
<a name="section-iac-sam"></a>

[AWS Serverless Application Model (AWS SAM)](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) è un' CloudFormation estensione ottimizzata per definire applicazioni serverless come [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)[, Amazon API](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) Gateway e. [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)

I punti di forza di AWS SAM includono i seguenti:
+ Sintassi minima ideale per le pipeline basate su Lambda
+ Supporto nativo per l'emulazione e il debug locali
+ Interfaccia a riga di comando (CLI) integrata che semplifica i flussi di lavoro di implementazione, test e pacchetti

AWS SAM è ideale per i seguenti requisiti:
+ Progetti di piccole e medie dimensioni incentrati principalmente su Lambda, API Gateway e Amazon Bedrock
+ Team che desiderano modelli semplici basati su YAML con supporto integrato per l'integrazione continua e la distribuzione continua (CI/CD)

### Terraform
<a name="section-iac-terraform"></a>

[https://developer.hashicorp.com/terraform/intro](https://developer.hashicorp.com/terraform/intro)è uno strumento IaC che consente di utilizzare il codice per fornire e gestire l'infrastruttura e le risorse cloud.

I punti di forza di Terraform includono i seguenti:
+ Oltre a ciò, un ampio ecosistema AWS di provider è ideale per scenari multicloud 
+ Gestione avanzata dello stato e risoluzione del grafico delle dipendenze
+ Popolare nelle aziende che hanno una cultura basata sull' DevOpsinnovazione e utilizzano flussi di lavoro GitOps

Terraformè ideale per i seguenti requisiti:
+ Team con un Terraform investimento esistente
+ Implementazioni multicloud o servizi AWS nativi integrati con strumenti SaaS (Software as a Service)
+ Organizzazioni che si standardizzano Terraform per garantire la coerenza tra i team

## Le migliori pratiche per IaC nei progetti di intelligenza artificiale senza server
<a name="section-iac-best-practices"></a>

Quando implementi IaC in progetti di intelligenza artificiale senza server, considera le seguenti best practice e la loro importanza:
+ **Controlla tutto dalla versione**: garantisce la riproducibilità, abilita il rollback e supporta l'approvazione delle modifiche tramite Git.
+ **Utilizza stack specifici per l'ambiente**: separa in modo netto le implementazioni di sviluppo, test e produzione. Previene la contaminazione incrociata accidentale.
+ **Modularizza l'infrastruttura**: incoraggia il riutilizzo, accelera l'onboarding e riduce il raggio di modifiche (ad esempio, un modulo per [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html) Agents e un altro modulo per le regole). EventBridge 
+ **Usa la parametrizzazione e i tag: abilita il comportamento dinamico degli stack e** il monitoraggio dei costi. [Migliora l'osservabilità nella fatturazione e in Amazon. CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ **Integra IaC in CI/CD**: automatizza gli aggiornamenti dell'infrastruttura durante le implementazioni, contribuendo a garantire che l'app e l'infrastruttura rimangano sincronizzate.
+ **Applica la convalida e il linting dello schema: previene gli errori di implementazione e** rafforza la coerenza tra i contributi del team.
+ **Implementa il rilevamento delle deviazioni e gli audit trail**: aiuta a garantire che l'infrastruttura corrisponda alle definizioni previste e semplifica le revisioni della conformità (ad esempio, utilizzando il rilevamento delle CloudFormation [deviazioni](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) o la convalida dello stato Terraform).

## Esempio: implementazione in versioni di un assistente AI senza server
<a name="section-iac-example-deployment"></a>

L'utilizzo di AWS CDK o CloudFormation, un assistente di supporto fornito da Amazon Bedrock potrebbe includere quanto segue:
+ Un endpoint API Gateway
+ Un agente Amazon Bedrock con tre strumenti basati su Lambda
+ Una knowledge base che fa riferimento ai documenti Amazon S3
+ Un flusso di lavoro Step Functions per fallback/gestione degli errori
+ Infrastruttura di registrazione e osservabilità, come o CloudWatch [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)

Con IaC, tutti questi elementi sono definiti in un repository, promossi tramite CI/CD e contrassegnati con la versione in ogni implementazione. Questo approccio offre tracciabilità, verificabilità e ripristino complete, se necessario.

## Riepilogo dell'implementazione IaC dell'IA serverless
<a name="section-iac-summary"></a>

IaC per i sistemi di intelligenza artificiale serverless di livello aziendale è la base che trasforma la sperimentazione in produzione, dando alle organizzazioni la certezza che la loro infrastruttura sia:
+ Coerente in tutti gli ambienti di sviluppo, test e produzione
+ Governabile attraverso meccanismi di policy, revisione e controllo
+ Scalabile con lo stesso ritmo dell'adozione dell'IA

Sia che venga utilizzato AWS CDK per costrutti dinamici, CloudFormation per implementazioni allineate agli audit o AWS SAM per pipeline mirate, IaC è il piano di controllo del cloud intelligente e basato sugli eventi.