With serverless there are many ways to build an application. Understanding how components interact and how they can fail is the key to building a resilient application.
This repo implements the most common of these patterns and is accompanied by a lengthy writeup explaining how it works.