API304: Building Rate-limited Solutions on AWS

Resources for API304: Building rate-limited solutions on AWS

Have you ever built a wonderfully scalable service only to have it overwhelm an existing backend service that can't scale? Or maybe you have to integrate with a third party API that limits you to a few transactions per second? If so, this session is for you. We will discuss the best ways to build rate limiting into your systems to improve their overall reliability. After a quick overview of the AWS tools to build in rate limiting we will dive into the details of three different implementations.

Fairness in Multi-Tenant Systems

Amazon Builders Library

This Amazon Builders Library paper looks at a few approaches Amazon has taken to manage API requests to its systems to avoid overload by implementing API rate limiting (also referred to as throttling or admission control). Without these kinds of protection, a system becomes overloaded when more traffic flows into the system than it is scaled to handle at that time.

Using Load Shedding to Avoid Overload

Amazon Builders Library

This Amazon Builders Library paper looks at the principals of system overload and how to use load shedding to avoid it.

Leaky Bucket Algorithm

Wikipedia

Wikipedia article on the leaky bucket algorithm

Token Bucket Algorithm

Wikipedia

Wikipedia article on the token bucket algorithm

Controlling Concurrency in Distributed Systems Using AWS Step Functions

Blog

A blog along with code samples to control concurrency using Step Functions

The three most important AWS WAF rate based rules

Blog

A blog that details important AWS WAF ratbe based rules.

Throttling multi-tenant Rest APIs with API Gateway

Blog

A two part blog that explores the details rate limiting with API Gateway

ServerlessLand

Code Examples

Guides, blogs, code samples, and more!

Presented by:

Adam Wagner

Adam Wagner

AWS - Principal Serverless Solutions Architect

Follow on LinkedIn