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

 

This chapter covers:

  • Running a script on server startup to deploy applications
  • Deploying common web applications with the help of AWS Elastic Beanstalk
  • Deploying multilayer applications with the help of AWS OpsWorks
  • Comparing the different deployment services available on AWS

Chapter 5 from Amazon Web Services in Action by Michael Wittig and Andreas Wittig

Whether you want to use software from in-house development, open source pro- jects, 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 servers on AWS:

  • Deploying a VPN solution with the help of AWS CloudFormation and a script started at the end of the boot process.

  • 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 the Node.js platform is supported by default.

  • Deploying an IRC web client and IRC server with AWS OpsWorks. The setup con- sists of two parts: a Node.js server that delivers the IRC web client and the IRC server itself. The example consists of multiple layers and is perfect for AWS OpsWorks.

5.1 Deploying applications in a flexible cloud environment

5.2 Running a script on server startup using CloudFormation

5.2.1 Using user data to run a script on server startup

5.2.2 Deploying OpenSwan as a VPN server to a virtual server

5.2.3 Starting from scratch instead of updating

5.3 Deploying a simple web application withElastic Beanstalk

5.3.1 Components of Elastic Beanstalk

5.3.2 Using Elastic Beanstalk to deploy Etherpad, a Node.js application

5.4 Deploying a multilayer application with OpsWorks

5.4.1 Components of OpsWorks

5.4.2 Using OpsWorks to deploy an IRC chat application

5.5 Comparing deployment tools

5.5.1 Classifying the deployment tools

5.5.2 Comparing the deployment services

5.6 Summary

What's inside