Chapter 2. Designing from Scratch

To really get a feel for serverless application development, we’re going to start with a greenfield application—one where we haven’t written any code yet, and we can design it to take advantage of serverless. For this exercise, we’re going to build a status dashboard application. While this is a pretty simple application without a lot of complicated read/write and transactional semantics, one of the benefits of serverless is that it makes it really easy to build and deploy these types of applications. When the cost for launching and running an application is near zero, you tend to build a lot more little “helpful” apps, because it’s easy and fun.1

We’re also going to make a few other choices, motivated by the technology available in 2023, to make the examples in this book as broadly accessible and repeatable as possible. We’re also avoiding the use of a database in these examples to simplify setup; if you decide to elaborate on the examples, adding in storage with either a SQL database or the key-value stores suggested in “Key-Value Storage” is a good exercise. In particular, we’re going to start with the following stack:

  • Serverless runtime: Knative Serving, installed locally

  • UI provider: web browser (HTML + JavaScript)

  • UI framework: React

  • Backend language: Python

We’re using Knative Serving installed locally because it’s possible to run Knative on a local Kubernetes cluster without needing to set up any billing or contracts. If you ...

Get Building Serverless Applications on Knative 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.