overview-of-deployment-options-on-aws
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Amazon Web Services – Deployment Options on AWS March 2015
In contrast, disposable upgrades offer a simpler way to know if your application
has unknown dependencies. The underlying EC2 instance usage is considered
temporary or ephemeral in nature for the period of deployment until the current
release is active. During the new release, a new set of EC2 instances are rolled out
by terminating older instances. This type of upgrade technique is more common
in an immutable infrastructure.
Two services are especially useful for an in-place upgrade: You can use AWS
CodeDeploy to manage the updates while managing application deployment
using the building blocks (Amazon EC2, Amazon EBS, Amazon S3, Amazon RDS)
individually or third-party managed build systems like Github, Jenkins, Travis
CI, or Circle CI. Alternatively, you can use AWS OpsWorks to manage both your
application deployment as well as updates.
For disposable upgrades, you can set up a cloned environment with the
deployment services (AWS Elastic Beanstalk, AWS CloudFormation, and AWS
OpsWorks) or use them in combination with an Auto Scaling configuration to
manage the updates.
In-place Upgrade Method
AWS CodeDeploy is a tool focused on software deployment. You can deploy
applications from Amazon S3 and GitHub repositories using this tool. Once you
prepare deployment content and the underlying Amazon EC2 instances, you can
deploy an application and its revisions on a consistent basis. You can push the
updates to a set of instances called deployment groups that are made of tagged
EC2 instances 39 and/or Auto Scaling groups. 40 In addition, AWS CodeDeploy
works with various configuration management tools, continuous integration and
deployment systems, and source control systems. You can find complete list of
product integration options in the AWS CodeDeploy documentation. 41
Another service to use for managing the entire lifecycle of an application is AWS
OpsWorks. You can use built-in layers or deploy custom layers and recipes to
launch your application stack. In addition, tons of customization options are
available for configuration and pushing application updates. For more
information, read the whitepaper on Managing Multi-Tiered Web Application
with OpsWorks for reviewing strategies to update OpsWorks stacks. 42
Page 14 of 23