AWS Serverless Architecture Roundup | Lambda + API Gateway

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 with chalice deploy.
  • Aegis :: Golang serverless implementation that leverages the new {proxy+} path to handle any API request. Includes an internal router with the router.Handle("POST", "/entity/", root). Supports local testing of your Lambda function with go 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