AWS Serverless Application Model (AWS SAM) is a CloudFormation macro that transforms simplified SAM templates into full CloudFormation templates for deploying serverless applications.
AWS SAM addresses the verbosity and complexity of writing raw CloudFormation templates for serverless workloads. It provides a shorthand syntax for defining Lambda functions, APIs, databases, and other serverless resources with built-in best practices and sensible defaults. When you add the SAM transform declaration to a template, the macro expands your concise resource definitions into the complete CloudFormation configuration needed for deployment, handling the boilerplate automatically.
Teams building serverless applications on AWS should adopt SAM if they want to reduce template complexity and accelerate development cycles. It suits projects of any scale that use Lambda, API Gateway, DynamoDB, or other AWS serverless services. The tool integrates with the SAM CLI for local testing and debugging before deployment, which is essential for rapid iteration. SAM is the natural choice for AWS-native serverless development; it is maintained by AWS and designed specifically for this use case rather than being a general-purpose infrastructure-as-code tool.
The project maintains active engagement with its community through GitHub issues and discussions as the primary support channels, supplemented by a dedicated Slack community. Development follows a structured approach with clear contribution guidelines and a dedicated development guide for those setting up local environments. The codebase is written in Python and requires Python 3.8 or later for development work.