In November 2014, AWS Lambda was launched, extending the cloud’s as-a-service model
to code functions. Functions-as-a-service (FaaS) allows developers to write a function’s
runtime code and pre-define its usage requirements, leaving infrastructure and other
underlying software issues to the service provider. It was not long before all of the
major public cloud providers introduced their own FaaS offerings, which also came to be
known as “serverless” since DevOps teams were now freed from compute (and storage)
resource issues such as provisioning, scaling, and balancing. And here’s the icing on the
cake: You only pay for the time your code is running!
Serverless is one of the cornerstones and drivers of the microservice architecture that
underlies today’s modern distributed applications. The serverless universe now extends
far beyond FaaS to include:
• Cloud-native queuing and messaging services, as well as API gateways
• Services such as Step Functions that overcome the inherent statelessness of
• Fully managed databases that are optimized for distributed applications, such as
• Serverless data ETL and analytics tools such as Athena
Along with all of the advantages, however, serverless applications create a whole new
set of monitoring and observability challenges. Traditional monitoring paradigms break
down in the face of highly distributed, modular, event-driven applications that are
running on fully managed cloud infrastructures and platforms.
This ebook aggregates material that we have written over the last few years to create
the ultimate checklist for effectively monitoring the performance and health of serverless
applications. Although the insights and guidelines are applicable to all serverless
platforms, our frame of reference is AWS Lambda and related services since AWS
continues to dominate the serverless market.