Serverless Patterns

Serverless software development is inherently architectural.
We configure the building blocks provided by the platform, and connect data with code as it flows through the system.

Serverless Patterns provide a general, reusable solution to commonly occurring problems within serverless software design. The solutions are AWS-centric, but the concepts are transferrable.

sls-patterns-kitchen-sink

Level 100

Function as a Web Service
In the beginning was the Lambda

Gateway Authorizer
Control and Authorize access to resources at the API Gateway

Gateway Proxy
Abstract access to platform services behind API Gateway

Level 200

Gateway Cache
Improve performance by caching at the API Gateway

Gateway Validation
Reduce service charges and boilerplate code by validating data at the API

Queue Based Event Distribution
Fan-out and distribute events to multiple consumers to allow decoupled distributed processing

Queue Based Load Leveling
Decouple requests and protect downstream services using a queue to enable asynchronous processing

Level 300

Asynchronous Request Reply
Expose asynchronous process state by decoupling request and response