In Chapter 1 we listed the five benefits of infrastructural outsourcing:
Reduced labor cost
Reduced resource cost
Increased flexibility of scaling
Shorter lead time
Serverless has elements of all five of these. The first four are all, to a greater or lesser extent, about cost savings, and this is what Serverless is best known for: how to do the same thing you’ve done before, but cheaper.
However, for us the cost savings are not the most exciting part of Serverless. What we get our biggest kick from is how much it reduces the time from conception to implementation, in other words, how you do new things, faster.
In this chapter we’re going to dig into all these benefits and see how Serverless can help us.
We said in Chapter 1 that Serverless was fundamentally about no longer needing to look after your own server processes—you care about your application’s business logic and state, and you let someone else look after whatever else is necessary for those to work.
The first obvious benefit here is that there is less operations work. You’re no longer managing operating systems, patch levels, database version upgrades, etc. If you’re using a BaaS database, message bus, or object store, then congratulations—that’s another piece of infrastructure you’re not operating anymore.
With other BaaS services the labor benefits are even more clearly defined—you have less logic to develop yourself. We’ve already talked ...