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.
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.
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: