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
-
Para obtener información sobre el uso de Lambda con diferentes herramientas de IaC, consulte Uso de Lambda con la infraestructura como código (IaC)