AWS CodeDeploy (Amazon Web Services CodeDeploy)

Contributor(s): David Carty

AWS CodeDeploy is a service that automates code deployments to Elastic Compute Cloud (EC2) and on-premises servers. Accelerating how fast a developer can release code allows him to release new features for an application faster and avoid deployment errors in complex applications. End users can also run software updates or scripts on their cloud instances. Because CodeDeploy is typically used to push out and configure new application versions, it plays a key role in application or development lifecycle management strategies.

AWS (Amazon Web Services) CodeDeploy scales with the cloud infrastructure to allow application deployments to thousands of instances. To complete a deployment, a developer defines three criteria: the revision, deployment group and deployment configuration.

The revision is the specific content that is deployed on an instance or instances, such as source code, webpages and executable files. A developer also includes an AppSpec file for revisions; an AppSpec is a YAML-formatted file used to map source files in the revision, specify permissions for deployed files and specify scripts to run on each instance during app deployment. AWS CodeDeploy only runs scripts specified in a file, saving the other scripts for other events.

A developer specifies sets of instances called deployment groups, which are associated with a particular application. A deployment group usually includes selected EC2 instances. To add instances to a deployment group, a developer then specifies an Auto Scaling group name or a tag that helps to identify the purpose of an instance.

CodeDeploy also enables a developer to specify a deployment configuration, which determines the steps taken in a deployment process to ensure that specific content is placed into appropriate instances and that necessary instances are updated as needed. If no deployment configuration is defined, the service deploys to one instance at a time.

AWS CodeDeploy is programming language- and architecture-agnostic, allowing a developer to use whatever code is preferred. The service also allows a developer to deploy applications and revisions to EC2 instances running within an Amazon Virtual Private Cloud. Identity and Access Management can also be used to manage permissions.

AWS CodeDeploy can be accessed through the AWS Management Console, AWS Command Line Interface, AWS SDKs and the AWS CodeDeploy APIs.

This was last updated in November 2015

Continue Reading About AWS CodeDeploy (Amazon Web Services CodeDeploy)

Dig Deeper on IT Ops Implications of Continuous Delivery

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

What is the largest challenge your enterprise has faced in deploying application revisions?
One of our biggest challenges has been speed, which has been impacted by the developers not having control over their own environments. Moving to AWS as helped to a large degree, as has the move to a DevOps implementation.
Having a mix of SaaS customers and dedicated hardware/on premises customers has been the largest challenge. Keeping everyone up to date and in sync is more difficult with legacy customers who must have the software behind their own firewall and in their own premises/cloud. For our SaaS customers, updates are considerably easier.
Revisions that break things. Backing out of a revision can be very challenging.