Why Serverless?
More and more AWS customers are taking advantage of serverless architecture patterns in 2017. Some of the main benefits of serverless:
- Move fast, innovate: Focus on application logic, not on infrastructure.
- Cost Savings: Save on devops resources. Pay for exactly the number of requests and invocations needed.
- Scale without worry: No additional capacity needs provisioning to handle your workload at peak. During lulls in activity costs are proportional to usage.
Serverless Application Model
Cloudformation now supports service descriptions using the Serverless Application Model including AWS Lambda and API Gateway resources. While several third-party frameworks have existed for some time, I'm happy to see AWS defining a standard for service descriptions.
Third-Party Serverless Frameworks
- Serverless :: CLI framework that supports multiple languages (Node.js, Python, Java, and more). Encourages patterns for testable and portable development. Local testing with serverless-ofline plugin. Simplified deployments with
serverless deploy
. - Chalice :: Python microframework that streamlines the creation of simple REST API creation with API Gateway and AWS Lambda. Test locally using
chalice local
. Instant deployments withchalice deploy
. - Aegis :: Golang serverless implementation that leverages the new
{proxy+}
path to handle any API request. Includes an internal router with therouter.Handle("POST", "/entity/", root)
. Supports local testing of your Lambda function withgo run main.go
. - Zappa :: Python microframework alternative with some interesting features such as
keep_warm
which runs a heartbeat function to keep lambdas warm.
Getting Started with Serverless
This is an excellent introduction to serverless web-app development with AWS Lambda and API Gateway by Jeremy Edberg.
Serverless Architectural Patterns
This is a fantastic presentation from re:Invent 2016 by Drew Dennis, Maitreya Ranganath and Ajoy Kumar. The talk covers best practices for developing, deploying and securing serverless applications in the AWS cloud. 3-Tier web architecture and stream processing patterns are both covered.
Serverless Apps with AWS Step Functions
Tim Bray, Senior Principal Engineer introduces Step Functions at re:Invent 2016.
Serverless Security -- Hacking AWS Lambda
Please don't forget to secure your serverless resources!
comments powered by Disqus