Chapter 2. What Is Serverless?

In the last chapter we learned why serverless can make sense. It comes down to the time to value ratio. By making the unit of deployment (as service) smaller, and by pushing the infrastructure further into the background, serverless technology shortens the time it takes to turn an idea into working code and reduces the upfront cost (in both time and money) of getting into production.

But what does a serverless environment really look like? How does that change what software architects and programmers need to do to successfully write and use services on the network? This chapter takes a look at serverless basics and essential elements everyone needs to deal with when working in these environments.

The Basics

As mentioned in Chapter 1, the serverless paradigm has become popular as the network has become an ever-larger factor in designing and implementing applications. When we deployed only a single monolithic blob of code, managed all the data locally, and needed to deal only with connections from clients, the details of the network were often minor issues. The server-side application worked fine even if the client applications could not connect to it all the time.

However, as the server-side application was broken into smaller parts and data was stored in a place other than where (some of) the code was hosted, server-side data integrity and application consistency were subject to the same unreliable network that client applications had been dealing ...

Get What Is Serverless? 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.