Chapter 8. A Complete Application

In this chapter, we’ll integrate most of what we’ve learned so far about Google Compute Engine into a complete cloud application, which we’ll deploy and test. In so doing, we’ll review and extend concepts from earlier chapters and explore a few new concepts, including the use of containers using Docker and automated deployment using a simple shell script.

Application Concept

When evaluating cloud-computing services (or physical-computing resources, for that matter), it’s often important to understand the relevant performance characteristics. In this chapter, we’ll create an application to run distributed tests that tell us something useful about the performance of a compute cluster.

In addition to helping us evaluate performance, this application illustrates several of the concepts presented earlier, such as virtual-machine creation, persistent disks, network configuration, images, and metadata. We’ll also learn about some powerful open source tools and we’ll see how easy it is to use open source software with Google Compute Engine.

Requirements

Before jumping into our application design, let’s take a moment to reflect on the problem we’re trying to solve. Here’s a list of requirements for the app we’ll build in this chapter:

Distributed
The app should support distributed performance tests (i.e., it should be able to run tests in parallel on an arbitrary number of servers).
Scalable
The app should enable efficient testing of reasonably large ...

Get Google Compute Engine now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.