Because this book covers how to run a production application in AWS, it is useful to have an example application stack that can demonstrate the various principles and strategies introduced in later chapters. Therefore, this chapter describes how to plan an application deployment and gradually builds up a working application using AWS components. As the chapter progresses, we will create Puppet manifests and a CloudFormation stack template that, when combined, can be used to deploy the entire application as a single self-contained stack.
By the end of this chapter, you will have a web-based application running in AWS, provisioned using CloudFormation and Puppet. This application consists of multiple services: a web application, a background task-processing service, a database, and a caching service.
This stack is something Mike has deployed many times, and is similar to those used by popular websites like Pinterest. You can, of course, replace the components we describe with your own application’s components. This chapter is concerned with general processes you must go through when planning a new application, rather than the specific technologies used in this stack.
This example deploys a content management system (CMS). A CMS provides a GUI-based interface for bloggers, journalists, and others to create and update web pages without requiring knowledge of HTML or other markup languages.
The infrastructure required ...