Chapter 2. What Do Serverless Applications Look Like?

Now that we’re well grounded in what the term Serverless means, and we have an idea of what various Serverless components and services can do, how do we combine all of these things into a complete application? What does a Serverless application look like, especially in comparison to a non-Serverless application of comparable scope? These are the questions that we’re going to tackle in this chapter.

A Reference Application

The application that we’ll be using as a reference is a multiuser, turn-based game. It has the following high-level requirements:

  • Mobile-friendly user interface

  • User management and authentication

  • Gameplay logic, leaderboards, past results

We’ve certainly overlooked some other features you might expect in a game, but the point of this exercise is not to actually build a game, but to compare a Serverless application architecture with a legacy, non-Serverless architecture.

Non-Serverless Architecture

Given those requirements, a non-Serverless architecture for our game might look something like Figure 2-1:

images/ch02_image01.png
Figure 2-1. Non-Serverless game architecture
  • A native mobile app for iOS or Android

  • A backend written in Java, running in an application server, such as JBoss or Tomcat

  • A relational database, such as MySQL

In this architecture, the mobile app is responsible for rendering a gameplay interface ...

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.