

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Infraestructura como código
<a name="infrastructure-as-code"></a>

A medida que los sistemas de IA sin servidor se amplían, la complejidad del aprovisionamiento, la gestión y la evolución de la infraestructura de nube aumenta rápidamente. La configuración manual de AWS Lambda las funciones APIs, los agentes de Amazon Bedrock, las funciones de IAM y las máquinas de estado es propensa a errores, no se puede repetir y no cumple con las normas a escala.

La infraestructura como código (IaC) es la disciplina fundamental que garantiza que todos los componentes de la infraestructura sean:
+ Controlado por versiones
+ Repetible en todos los entornos 
+ Auditable y revisable
+ Modular y comprobable

Al adoptar la iAC, las empresas no solo obtienen automatización, sino también gobernanza, velocidad y resiliencia a la hora de implementar y operar cargas de trabajo de IA sin servidor.

## Servicios de AWS para el despliegue de IA sin servidores en iAC en AWS
<a name="section-iac-aws-services"></a>

Las siguientes herramientas Servicios de AWS y las de terceros respaldan el despliegue de la IA sin servidor en iAC en. AWS AWS CloudFormation AWS CDK, y AWS SAM proporcionan AWS capacidades nativas para el despliegue de la infraestructura. HashiCorpTerraformofrece una popular solución de terceros. Cada una tiene ventajas distintas y se adapta a diferentes requisitos de equipo y casos de uso.

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

[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)es un servicio IaC nativo y declarativo que permite definir la infraestructura como plantillas estructuradas de JSON o YAML.

Entre sus puntos fuertes se CloudFormation incluyen los siguientes:
+ Muy estable y maduro, con un amplio respaldo en todos Servicios de AWS 
+ Detección integrada de retroceso y deriva
+ Las pilas y los conjuntos de cambios gestionados permiten despliegues más seguros 
+ Compatible directamente con el seguimiento Consola de administración de AWS visual

CloudFormation es ideal para los siguientes requisitos:
+ Equipos que necesitan plantillas explícitas y auditables con un control detallado
+ Entornos regulatorios en los que la trazabilidad del código es obligatoria 
+ Entornos en los que DevOps las canalizaciones imponen flujos de trabajo de promoción estrictos

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

[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)Se trata de un marco de código abierto. Con él AWS CDK, puede definir la AWS infraestructura mediante el uso de lenguajes de programación conocidosTypeScript, como PythonJava, o C\#.

Los puntos fuertes del AWS CDK incluyen los siguientes:
+ Híbrido imperativo y declarativo que admite el uso de bucles, condicionales y abstracciones en el código 
+ Disponibilidad de muchas construcciones y patrones reutilizables
+ Es más fácil de adoptar para los desarrolladores (mentalidad que prioriza el código)
+ Permite despliegues en varios entornos con pilas que respetan el medio ambiente

 AWS CDK Es ideal para los siguientes requisitos:
+ Equipos con sólidas habilidades de ingeniería de software
+ Casos de uso que requieren una generación de infraestructura dinámica
+ Proyectos que implican la reutilización, la personalización y la iteración rápida de construcciones

### 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) es una CloudFormation extensión optimizada para definir aplicaciones sin servidor, como [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)[, Amazon API](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) Gateway y. [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)

Entre sus puntos fuertes se AWS SAM incluyen los siguientes:
+ Sintaxis mínima ideal para canalizaciones basadas en Lambda
+ Soporte nativo para la emulación y la depuración locales
+ Interfaz de línea de comandos (CLI) integrada que simplifica los flujos de trabajo de implementación, prueba y empaquetado

AWS SAM es ideal para los siguientes requisitos:
+ Proyectos pequeños y medianos que se centran principalmente en Lambda, API Gateway y Amazon Bedrock
+ Equipos que desean plantillas sencillas basadas en YAML con integración continua integrada y soporte para el despliegue continuo (CI/CD)

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

[https://developer.hashicorp.com/terraform/intro](https://developer.hashicorp.com/terraform/intro)es una herramienta de IaC que le ayuda a usar código para aprovisionar y administrar la infraestructura y los recursos de la nube.

Entre sus puntos fuertes Terraform se incluyen los siguientes:
+ Un amplio ecosistema de proveedores AWS que va más allá de eso es ideal para escenarios multinube 
+ Amplia resolución de gráficos de dependencia y gestión del estado
+ Muy popular en las empresas que tienen una cultura que prioriza los DevOps flujos de trabajo y utilizan GitOps flujos de trabajo

Terraformes ideal para los siguientes requisitos:
+ Equipos con una Terraform inversión existente
+ Implementaciones multinube o servicios AWS nativos integrados con herramientas de software como servicio (SaaS)
+ Organizaciones que se estandarizan Terraform para garantizar la coherencia entre los equipos

## Mejores prácticas para la IaC en proyectos de IA sin servidor
<a name="section-iac-best-practices"></a>

Al implementar la IaC en proyectos de IA sin servidor, tenga en cuenta las siguientes prácticas recomendadas y su importancia:
+ **Controle todas las versiones**: garantiza la reproducibilidad, permite la reversión y admite la aprobación de cambios a través de Git.
+ **Utiliza pilas específicas para cada entorno**: separa de forma clara las implementaciones de desarrollo, de prueba y de producción. Evita la contaminación cruzada accidental.
+ **Modulariza la infraestructura**: fomenta la reutilización, acelera la incorporación y reduce el radio de expansión de los cambios (por ejemplo, un módulo para [Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html) y otro módulo para las reglas). EventBridge 
+ **Utilice la parametrización y las etiquetas: permite un comportamiento dinámico de las pilas y** el seguimiento de los costes. Mejora la observabilidad en la facturación y en [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
+ **Integre el iAC en la CI/CD**: automatiza las actualizaciones de la infraestructura durante las implementaciones, lo que ayuda a garantizar que la aplicación y la infraestructura permanezcan sincronizadas.
+ **Aplica la validación y el filtrado de esquemas: evita errores de** implementación y refuerza la coherencia en las contribuciones del equipo.
+ **Implemente registros de auditoría y detección de desviaciones**: ayuda a garantizar que la infraestructura cumpla con las definiciones esperadas y simplifica las revisiones de conformidad (por ejemplo, mediante la [detección de CloudFormation desviaciones](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) o la validación del estado de Terraform).

## Ejemplo: despliegue versionado de un asistente de IA sin servidor
<a name="section-iac-example-deployment"></a>

Si utiliza AWS CDK o CloudFormation, un asistente de soporte con tecnología de Amazon Bedrock puede incluir lo siguiente:
+ Un punto final de API Gateway
+ Un agente de Amazon Bedrock con tres herramientas basadas en Lambda
+ Una base de conocimientos que hace referencia a los documentos de Amazon S3
+ Un flujo de trabajo de Step Functions para la gestión de errores y alternativas
+ Infraestructura de registro y observabilidad, como o CloudWatch [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)

Con la IaC, todos estos elementos se definen en un repositorio, se promocionan mediante la CI/CD y se etiquetan con las versiones en cada implementación. Este enfoque proporciona una trazabilidad, auditabilidad y reversión completas si es necesario.

## Resumen del despliegue de IA sin servidor por parte de la IaC
<a name="section-iac-summary"></a>

La iAc, para los sistemas de IA sin servidor de nivel empresarial, es la base que transforma la experimentación en producción, lo que da a las organizaciones la confianza de que su infraestructura es:
+ Coherente en todos los entornos de desarrollo, pruebas y producción
+ Gobernable mediante mecanismos de políticas, revisión y auditoría
+ Escalable al mismo ritmo que la adopción de la IA

Ya sea que se utilice AWS CDK para construcciones dinámicas, CloudFormation para despliegues alineados con la auditoría o AWS SAM para procesos específicos, la iAC es el plano de control de la nube inteligente y basada en eventos.