Conceptos

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

AspectoSAMCDK
FormatoYAML (declarativo)TypeScript/Python (imperativo)
Curva de aprendizajeMenorMayor
Desarrollo localsam local integradoRequiere herramientas adicionales
FlexibilidadServerless-focusedCualquier recurso AWS

CLI destacado

  • sam init: scaffolding de proyecto
  • sam build: compilar funciones
  • sam local invoke: ejecutar Lambda localmente
  • sam local start-api: API Gateway local
  • sam deploy: desplegar a AWS
  • sam 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

Conceptos