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 permite definir la infraestructura mediante código, lo que facilita la creación de versiones, el uso compartido y la replicación de las implementaciones. Este enfoque ayuda a realizar lo siguiente:

  • Acelerar el ciclo de desarrollo

  • Facilitar la administración de la configuración

  • Mejorar la fiabilidad y coherencia de las 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 CloudFormation, puedes modelar y aprovisionar toda tu AWS infraestructura con plantillas YAML o JSON. CloudFormation gestiona la creación, actualización y eliminación de recursos de forma automática. Al implementar AWS SAM aplicaciones, 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 CloudFormation plantillas durante la implementación.

nota

Si bien AWS SAM se especializa en aplicaciones sin servidor, puede usar cualquier tipo CloudFormation de recurso en sus AWS SAM plantillas. Esto confiere flexibilidad para incluir recursos sin servidor cuando sea necesario.

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 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 de manera local.

Comparación de herramientas de IaC para aplicaciones sin servidor

Para elegir una herramienta de IaC para sus aplicaciones sin servidor, es importante tener presente 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

Lo mejor para

Funciona con AWS SAM

Cuándo elegir

CloudFormation

Administrar una AWS infraestructura compleja

Aplicaciones que requieren un control detallado de AWS los recursos

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

Para un control detallado sobre recursos que no están sin 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

Equipos que prefieran los lenguajes tipados y el enfoque basado en el código

Genere AWS SAM plantillas y utilícelas 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 solución popular de iAC que se puede utilizar para definir aplicaciones sin servidor. La CLI de AWS SAM admite las pruebas locales de las funciones de Lambda definidas en Terraform. Para obtener más información, consulte Compatibilidad de la CLI de AWS SAM con Terraform.

Más información