Chapter 8. Operating Serverless

Revolution is not a one time event.

Audre Lorde

In the previous two chapters you explored how to develop, test, and deploy a serverless application. In this chapter you will learn how to operate your serverless application in production. The fundamentals of operating serverless are similar to those of non-serverless software: ensuring the application is performing as expected, receiving alerts when performance degrades, recovering from incidents, and using logs and traces to debug issues. However, the key characteristics of serverless require some adjustments to the traditional approach to operations.

Perhaps the most important aspect of serverless when it comes to operations is scalability. Serverless technology and managed services offer automatic scaling of compute, storage, and communication from zero to your spikiest peaks. This is obviously a huge advantage to an engineering team with a business or product that experiences regular spikes in demand, such as an ecommerce website with seasonal and promotional sales events. But it is crucial that serverless engineers know their units of scale and understand the impact of scale on their pay-per-use billing. When you deploy a serverless application on AWS, you are entering into a cloud contract: AWS provides the autoscaling and high availability, but you must operate within service limits and make informed decisions about scale when designing your architecture. Even if the underlying services ...

Get Serverless Development on AWS now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.