Chapter 7. Tomorrow’s Solutions: Serverless

The second industrial revolution, unlike the first, does not present us with such crushing images as rolling mills and molten steel, but with “bits” in a flow of information traveling along with circuits in the form of electronic impulses. The iron machines still exist, but they obey the orders of weightless bits.

Italo Calvino

The serverless computing model has great momentum with public cloud offerings, and recently also within the open source community thanks to many projects that enable it for any platform. But, what is serverless, exactly? What are some use cases for serverless? And, how can it be used for modern Java applications?

What Is Serverless?

The best definition of serverless comes from the CNCF Serverless Whitepaper:

Serverless computing refers to the concept of building and running applications that do not require server management. It describes a finer-grained deployment model where applications, bundled as one or more functions, are uploaded to a platform and then executed, scaled, and billed in response to the exact demand needed at the moment.

Running an application that “does not require server management” is the most relevant part of that definition. In the previous chapters, we explored how Kubernetes helps with functional requirements for modern architectures, and how container images represent a convenient way to package and ship applications to any cloud platform. There are still servers in serverless, however, ...

Get Modernizing Enterprise Java 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.