Introducing SAM

The story of SAM starts back with few of the caveats faced by AWS CloudFormations. Although immensely powerful in it's automated infrastructure deployment capabilities, CloudFormations is still a tool that's not that easy to work with and maintain. A simple infrastructure deployment template can range anywhere from a 100 lines to even a 1,000 lines depending on the way the template is authored. More so, CloudFormation lacked the specialized resource types optimized for defining serverless applications which is why project Flourish was established which later on became known as SAM.

SAM is an extension of CloudFormation and basically provides developers with a really simplified way of writing CloudFormation-like templates for serverless services such as API Gateway, DynamoDB and even Lambda.

NOTE: SAM is released under the Apache 2.0 License

The main goal of SAM is to define a standard application model for serverless applications which in turn helps developers design, deploy, and manage these applications using CloudFormation templates.

SAM is structured similarly to CloudFormation and just like it's counterpart, provides template support using both JSON and YAML. You can easily define and create S3 buckets to store the individual Lambda function deployment packages, create an API Gateway with the necessary configurations, create Simple DBs, configure SNS notifications, and much more using simple commandlets that make it far easier to read and manage your templates.