Chapter 5. Automating deployment: CloudFormation, Elastic Beanstalk, and OpsWorks

 

This chapter covers

  • Creating VMs and running scripts on startup with AWS CloudFormation
  • Deploying common web apps with AWS Elastic Beanstalk
  • Deploying multilayer apps with AWS OpsWorks
  • Comparing the different deployment services on AWS

Whether you want to use software from in-house development, open source projects, or commercial vendors, you need to install, update, and configure the application and its dependencies. This process is called deployment. In this chapter, you’ll learn about three tools for deploying applications to virtual machines on AWS:

1.  Deploying a VPN solution with the help of AWS CloudFormation and a script that starts at the end of the boot process.

2.  Deploying a collaborative text editor with AWS Elastic Beanstalk. The text editor Etherpad is a simple web application and a perfect fit for AWS Elastic Beanstalk, because it supports Node.js by default.

3.  Deploying an IRC web client and IRC server with AWS OpsWorks. The setup consists of two parts: the IRC web client and the IRC server itself. Our example consists of multiple layers and is perfect for AWS OpsWorks.

We’ve chosen examples that don’t need a storage solution for this chapter, but all three deployment solutions would support delivering an application together with a storage solution. You’ll find examples using storage in part 3 of the book.

5.1. Deploying applications in a flexible cloud environment

5.2. Comparing deployment tools

5.3. Creating a virtual machine and run a deployment script on startup- p with AWS CloudFormation

5.4. Deploying a simple web application with AWS Elastic Beanstalk

5.5. Deploying a multilayer application with AWS OpsWorks Stacks

Summary