AWS SAM
Framework open-source de AWS para construir aplicaciones serverless con una sintaxis simplificada de CloudFormation, CLI para desarrollo local y despliegue integrado.
seed#aws#sam#serverless#cloudformation#cli#local-development
¿Qué es?
AWS SAM (Serverless Application Model) es un framework que simplifica la definición y despliegue de aplicaciones serverless. Extiende CloudFormation con recursos de alto nivel (AWS::Serverless::Function, AWS::Serverless::Api) y proporciona un CLI para desarrollo local.
SAM vs CDK
| Aspecto | SAM | CDK |
|---|---|---|
| Formato | YAML (declarativo) | TypeScript/Python (imperativo) |
| Curva de aprendizaje | Menor | Mayor |
| Desarrollo local | sam local integrado | Requiere herramientas adicionales |
| Flexibilidad | Serverless-focused | Cualquier recurso AWS |
CLI destacado
sam init: scaffolding de proyectosam build: compilar funcionessam local invoke: ejecutar Lambda localmentesam local start-api: API Gateway localsam deploy: desplegar a AWSsam sync: sincronización rápida en desarrollo
Ejemplo template.yaml
Resources:
HelloFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs20.x
Events:
Api:
Type: Api
Properties:
Path: /hello
Method: get¿Por qué importa?
SAM simplifica el desarrollo serverless al proporcionar una sintaxis concisa sobre CloudFormation y herramientas de desarrollo local. Para equipos que construyen APIs con Lambda y API Gateway, SAM reduce el boilerplate y permite probar funciones localmente antes de desplegar.
Referencias
- SAM Documentation — Documentación oficial.
- SAM CLI Reference — AWS, 2024. Referencia de comandos del CLI.
- AWS SAM — AWS, 2024. Página oficial del producto.