Infraestructura como código (IaC) - AWS Serverless Application Model

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 (IaC)

Con la infraestructura como código (IaC), puede automatizar la implementación y la administración de sus AWS recursos, incluidas las aplicaciones sin servidor. La IaC le permite definir su infraestructura mediante código, lo que facilita la creación de versiones, el uso compartido y la replicación de las implementaciones. Este enfoque le ayuda a:

  • Acelera tu ciclo de desarrollo

  • Simplifique la administración de configuración

  • Mejore la confiabilidad y la coherencia de sus implementaciones

Herramientas de iAC para aplicaciones sin servidor AWS

AWS ofrece varias herramientas de IaC para ayudarlo a crear, implementar y administrar sus recursos en la nube. En esta sección se explica cómo AWS SAM se integra en este ecosistema y cómo funciona con otras herramientas de AWS IaC.

AWS CloudFormation

Con ellas AWS CloudFormation, puedes modelar y aprovisionar toda tu AWS infraestructura con plantillas YAML o JSON. AWS CloudFormation gestiona la creación, actualización y eliminación de recursos de forma automática. Al implementar AWS SAM aplicaciones, AWS CloudFormation procesa las plantillas transformadas para crear y administrar sus recursos.

AWS Serverless Application Model (AWS SAM)

AWS SAM le ayuda a crear aplicaciones sin servidor con una sintaxis simplificada para definir los recursos sin servidor. Puede usar AWS SAM plantillas para aprovisionar funciones, APIs bases de datos y fuentes de eventos de Lambda mediante una sintaxis YAML concisa. AWS SAM transforma estas plantillas en AWS CloudFormation plantillas durante la implementación.

nota

Si bien AWS SAM se especializa en aplicaciones sin servidor, puede usar cualquier tipo AWS CloudFormation de recurso en sus AWS SAM plantillas. Esto le da la flexibilidad de incluir recursos que no estén libres de servidor cuando los necesite.

AWS Kit Cloud Development (AWS CDK)

Con AWS CDK, puede definir su infraestructura sin servidor utilizando lenguajes de programación conocidos como Python TypeScript, Java, C#/.Net o Go. Puede utilizar estructuras de programación, como bucles y condiciones, para definir su infraestructura y generar plantillas para su implementación. AWS CDK AWS CloudFormation Puede utilizarlas para probar y AWS SAMCLI depurar localmente las aplicaciones creadas con ellas. AWS CDK Para obtener más información, consulte Probar aplicaciones de CDK a nivel local.

Comparación de las herramientas de iAC para aplicaciones sin servidor

Al elegir una herramienta de iAC para sus aplicaciones sin servidor, tenga en cuenta las preferencias de su equipo, los requisitos del proyecto y los flujos de trabajo existentes. En la siguiente tabla se comparan las características clave de las herramientas de AWS iAc para el desarrollo sin servidor:

Herramienta

Uso principal

Ideal para

Funciona con AWS SAM

Cuándo elegir

AWS CloudFormation

Administrar una AWS infraestructura compleja

Aplicaciones que requieren un control detallado de AWS los recursos

AWS SAM las plantillas se transforman en AWS CloudFormation plantillas durante el despliegue

Para un control detallado de los recursos que no están libres de servidor

AWS SAM

Desarrollo de aplicaciones sin servidor

Equipos que crean aplicaciones sin servidor con Lambda

Funcionalidad nativa

Cuando se centra principalmente en arquitecturas sin servidor con funciones Lambda APIs, API Gateway y otros recursos sin servidor

AWS CDK

Definición de infraestructura mediante lenguajes de programación

Los equipos prefieren los lenguajes mecanografiados y el enfoque basado en el código

Genere AWS SAM plantillas y úselas para realizar pruebas AWS SAMCLI

Cuando necesite una definición de infraestructura programática o una lógica de configuración de recursos compleja

nota

Si bien esta guía se centra en las herramientas AWS de iAC nativas, Terraform es otra popular solución de iAC que se puede utilizar para definir aplicaciones sin servidor. AWS SAMCLISoporta pruebas locales de las funciones Lambda definidas en Terraform. Para obtener más información, consulte Compatibilidad de la CLI de AWS SAM con Terraform.

Más información