Uso de Lambda con la infraestructura como código (IaC) - AWS Lambda

Uso de Lambda con la infraestructura como código (IaC)

Las funciones de Lambda rara vez se ejecutan de forma aislada. En cambio, a menudo forman parte de una aplicación sin servidor con otros recursos, como bases de datos, colas y almacenamiento. Con la infraestructura como código (IaC), puede automatizar sus procesos de implementación para implementar y actualizar de forma rápida y repetible aplicaciones sin servidor completas que requieren muchos recursos de AWS independientes. Este enfoque acelera el ciclo de desarrollo, facilita la administración de la configuración y garantiza que sus recursos se implementen siempre de la misma manera.

Herramientas de IaC para Lambda

AWS CloudFormation

CloudFormation es el servicio de IaC fundamental de AWS. Puede usar plantillas YAML o JSON para modelar y aprovisionar toda su infraestructura de AWS, incluidas las funciones de Lambda. CloudFormation gestiona las complejidades de crear, actualizar y eliminar sus recursos de AWS.

AWS Serverless Application Model (AWS SAM)

AWS SAM es un marco de código abierto creado sobre CloudFormation. Proporciona una sintaxis simplificada para definir aplicaciones sin servidor. Utilice plantillas de AWS SAM para aprovisionar rápidamente funciones de Lambda, API, bases de datos y orígenes de eventos con solo unas pocas líneas de YAML.

AWS Cloud Development Kit (AWS CDK)

El CDK es un enfoque de la IaC que prioriza el código. Puede definir su arquitectura basada en Lambda mediante TypeScript, JavaScript, Python, Java, C#/.Net o Go. Elija el lenguaje que prefiera y utilice elementos de programación como parámetros, condicionales, bucles, composición y herencia para definir el resultado deseado de su infraestructura. A continuación, la CDK genera las plantillas de CloudFormation subyacentes para su implementación. Si desea ver un ejemplo de cómo usar Lambda con el CDK, consulte Implementación de funciones de Lambda con AWS CDK.

Diagrama que muestra cómo AWS SAM y AWS CDK implementan los recursos y el código de AWS mediante AWS CloudFormation

AWS también ofrece un servicio llamado AWS Infrastructure Composer para desarrollar plantillas de IaC mediante una interfaz gráfica sencilla. Con Infrastructure Composer, puede arrastrar, agrupar y conectar los Servicios de AWS en un lienzo visual para diseñar una arquitectura de aplicaciones. A continuación, Infrastructure Composer crea una plantilla de AWS SAM o una plantilla de AWS CloudFormation a partir de su diseño que puede usar para implementar la aplicación.

En la siguiente sección, Uso de funciones de Lambda en AWS SAM y en Infrastructure Composer, utilizará Infrastructure Composer para desarrollar una plantilla para una aplicación sin servidor basada en una función de Lambda existente.