¿Qué es el AWS Serverless Application Model (AWS SAM)? - 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.

¿Qué es el AWS Serverless Application Model (AWS SAM)?

AWS Serverless Application Model (AWS SAM) es un marco de código abierto para crear aplicaciones sin servidor utilizando la infraestructura como código (IaC). Con AWS SAM su sintaxis abreviada, los desarrolladores declaran los recursos y los AWS CloudFormationrecursos especializados sin servidor que se transforman en infraestructura durante la implementación. Al trabajar con AWS SAM, interactuará con:

  1. AWS SAM CLI- Una herramienta de línea de comandos que le ayuda a desarrollar, probar e implementar localmente sus aplicaciones sin servidor.

  2. AWS SAM Plantilla: una extensión AWS CloudFormation que proporciona una sintaxis simplificada para definir los recursos sin servidor.

Al utilizar el sam init comando, se crea un directorio de proyectos, al que llamaremos AWS SAM proyecto, que normalmente incluye la AWS SAM plantilla, el código de la aplicación y otros archivos de configuración.

¿Cuándo se debe usar AWS SAM

AWS SAM es una solución de iAC ideal para escenarios en los que desee un desarrollo simplificado sin servidor con toda la potencia de. AWS CloudFormation Por ejemplo, puede usar SAM para:

  • Aplicaciones sin servidor: puede usar SAM para definir rápidamente AWS Lambda funciones, Amazon API Gateway APIs, tablas de Amazon DynamoDB y otros recursos sin servidor con un código mínimo.

  • AWS CloudFormation mejora: puede combinar SAM con las CloudFormation plantillas existentes para añadir componentes sin servidor a la infraestructura tradicional. Los recursos de SAM funcionan junto con CloudFormation los recursos estándar en la misma plantilla.

  • Desarrollo y pruebas locales: puede usar el SAM CLI para probar las funciones de Lambda a nivel local, simular los puntos finales de API Gateway y depurar aplicaciones sin servidor en su máquina de desarrollo antes de implementarlas en. AWS

  • CI/CD para entornos sin servidor: puede crear canalizaciones de despliegue mediante plantillas de SAM que generen automáticamente la infraestructura necesaria para los CloudFormation entornos de ensayo y producción.

  • Migración desde recursos creados en la consola: puede convertir las funciones de Lambda y los recursos de API Gateway creados en la consola de AWS administración en infraestructura como código mediante plantillas SAM.

Comparación con otras herramientas de AWS SAM IaC

  • Utilice SAM en lugar de simplificar las definiciones de recursos sin servidor y, CloudFormation al mismo tiempo, mantener la compatibilidad de las plantillas.

  • Utilice SAM en lugar de AWS CDK utilizar un enfoque declarativo para describir su infraestructura en lugar de uno programático.

  • Combine SAM con las funciones AWS CDK de pruebas locales de la CLI de SAM para mejorar sus aplicaciones de CDK.

Características principales

AWS SAM ofrece una variedad de beneficios que mejoran la experiencia del desarrollador al permitirle:

Define el código de infraestructura de tu aplicación rápidamente, utilizando menos código

Cree AWS SAM plantillas para definir el código de infraestructura de aplicaciones sin servidor. Implemente sus plantillas directamente AWS CloudFormation para aprovisionar sus recursos.

Administra las aplicaciones sin servidor durante todo su ciclo de vida de desarrollo

Usa la CLI de AWS SAM para administrar tu aplicación sin servidor durante las fases de autoría, creación, implementación, prueba y supervisión de su ciclo de vida de desarrollo. Para obtener más información, consulte AWS SAM CLI.

Aprovisione rápidamente los permisos entre los recursos con AWS SAM conectores

Usa AWS SAM conectores en tus AWS SAM plantillas para definir los permisos entre tus AWS recursos. AWS SAM transforma tu código en los permisos de IAM necesarios para facilitar tu intención. Para obtener más información, consulte Para obtener más información, consulta administración de los permisos de recursos con conectores de AWS SAM ..

Sincroniza de forma continua los cambios locales en la nube a medida que ve desarrollando contenido

Utilice el AWS SAMCLI sam sync comando para sincronizar automáticamente los cambios locales con la nube, lo que agiliza los flujos de trabajo de desarrollo y pruebas en la nube. Para obtener más información, consulta Introducción al uso sam sync sincronizar con Nube de AWS.

Gestione sus aplicaciones de Terraform sin servidor

Use la CLI de AWS SAM para realizar la depuración y las pruebas locales de las funciones y capas de Lambda. Para obtener más información, consulta Compatibilidad de la CLI de AWS SAM con Terraform.

Información relacionada