AWS recently announced that SAM (Serverless Application Model) is now open source. With AWS SAM, one can define serverless applications in a simple and clean syntax.
The AWS Serverless Application Model extends AWS CloudFormation and provides a simplified way of defining the Amazon Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.
AWS SAM comprises of:
- the SAM specification
- Code translating the SAM templates into AWS CloudFormation Stacks
- General Information about the model
- Examples of common applications
The SAM specification and implementation are open sourced under the Apache 2.0 license for AWS partners and customers to adopt and extend within their own toolsets. The current version of the SAM specification is available at AWS SAM 2016-10-31.
Basic steps to create a serverless application with AWS SAM
Step 1: Create a SAM template, a JSON or YAML configuration file that describes Lambda functions, API endpoints and the other resources in your application.
Step 2: Test, upload, and deploy the application using the SAM Local CLI. During deployment, SAM automatically translates the application’s specification into CloudFormation syntax, filling in default values for any unspecified properties and determining the appropriate mappings and invocation permissions to set-up for any Lambda functions.
One can build serverless applications faster and further simplify one’s development of serverless applications by defining new event sources, new resource types, and new parameters within SAM. One can also modify SAM in order to integrate it with other frameworks and deployment providers from the community for building serverless applications.
For more in-depth knowledge, read AWS SAM development guide on GitHub