What is Continuous Deployment

Continuous Deployment != Continuous Delivery.

Yet, fail-safe deployments is a prerequisite for both.

Let’s consider the differences between Continuous Deployment and Delivery, and how you too can enable automated deployments and ARA to support your CD journey.

Continuous…

Integration

Delivery

Deployment

What’s the difference?

Continuous Integration

Continuous Integration is a software development practice in which you build and unit-test software every time a developer checks in new code. This provides Agile software teams the rapid feedback they need to respond to market demands and eliminate problems quickly.

Continuous Delivery

Continuous Delivery (CD) is a software development practice in which continuous integration, automated testing, and automated deployment capabilities allow high-quality software to be developed and deployed rapidly, reliably and repeatedly with minimal manual overhead.

Continuous Deployment

Continuous Deployment is a software development practice in which every code change goes through the entire pipeline and is put into production, automatically, resulting in many production deployments every day.

With Continuous Delivery your software is always release-ready, yet the timing of when to push it into production is a business decision, and so the final deployment is a manual step. With Continuous Deployment, any updated working version of the application is automatically pushed to production. Continuous Deployment mandates Continuous Delivery, but the opposite is not required.

Continuous Deployment and ARA

Regardless of what your end-goal is, and where you are on your DevOps implementation journey, both Continuous Deployment and Continuous Delivery require automating your deployments and Application Release pipeline.

Application Release Automation (ARA)

ARA is the process of packaging and deploying an application or update of an application from development, across various environments, and ultimately to production.

The 5 key components of ARA are:

  1. Packaging – of the items to be deployed
  2. Dependencies – modeling your application and infrastructure dependencies
  3. Promotion – delivering of tested packages to an environment of higher criticality (e.h. promotion from Dev to QA to Staging to Prod)
  4. Deployment – using the package contents to install the applications and configure their environments
  5. Compliance – documenting adherence to processes and audit requirements, and validating the configuration of the deployed application.

According to Gartner, an ARA solution includes several key functions:

gartner-logo

  1. Deployment of data, application code and artifacts
  2. Deployment of specific configurations for each environment
  3. Process workflow design for automating tasks, deployment steps, and people
  4. Environment modeling and/or provisioning binaries

What is the difference between Release Automation and Deploy Automation?

The Release pipeline is the entire process from developer check-in all the way through Production. As part of that process, deployments happen in various stages and to various environments. For example, after CI you deploy to the different environments in QA process, following a deployment into Staging servers and then into Production.

 

release-vs-deployment

Why it matters?

Deploy automation and Application Release Automation are critical prerequisite for any “Continuous” effort, and are the main hurdle to DevOps.

Per Forrester, majority of causes for failed deployments are preventable – with the use of ARA and CD tools.

 


causes-for-failed-deployments-forrester

The benefits of deploy automation are:

  • Deployment modeling controls variability and reduces errors, resulting in higher product quality
  • Automated and accelerated product release processes lead to on-time and frequent product releases
  • Consolidated access to all tools, process and resource data leads to faster troubleshooting and TTM
  • Effective collaboration between Dev, QA, and Ops teams leads to higher quality and higher customer satisfaction
  • Centralized view of all deployment activities and outcomes leads to faster and lower effort audits

Learn more about Deploy Automation and Application Release Automation

Explore some of the below assets to learn how analysts view ARA and how to get started on your deploy automation implementation- towards Continuous Delivery and Continuous Deployment.

Gartner webinar on Application Release Automation

Gartner Webinar: Deploy Better Software, Faster

ARA at Scale – Featuring Forrester & Center for Medicare & Medicaid

ARA at Scale – Featuring Forrester & Center for Medicare & Medicaid

Scaling DevOps and Continuous Delivery – Featuring Gene Kim

Scaling DevOps and Continuous Delivery – Featuring Gene Kim

ARA & Cloud Resources Go Together Like ‘Peas and Carrots’

ARA & Cloud Resources Go Together Like ‘Peas and Carrots’

Forrester Wave: Application Release Automation

Forrester Wave: Application Release Automation

Application Release Automation: 5 Steps to Success

Application Release Automation: 5 Steps to Success

Integrating Configuration Management into your Application Release

Integrating Configuration Management into your Application Release

The Importance of Automating the End to End Pipeline for Continuous Delivery

The Importance of Automating the End to End Pipeline for Continuous Delivery


More Resources »

 

Powering the Community

Continuous Delivery is a team sport – and we’re all about learning from each other and getting better, together!

Continuous Discussions (#c9d9) is an online forum to discuss topics related to Agile, DevOps and Continuous Delivery.

Check out a couple of the episodes below for tips and best practices to optimize your software delivery process, or see the full list of episodes here »


Continuous Discussions (#c9d9) - Episode 23: Huge-Scale Deployments

Continuous Discussions discusses Huge-Scale deployments: their unique characteristics, and best practices for getting it right when supporting large-scale stacks. See the list of panelists here.

c9d9 Episode 15: Consistent Deployments Across Dev, Test and Prod

Or: an end to "It Worked on My Machine!"

See the panelists featured on this episode.

c9d9 Episode 14: DevOps and Lean in Legacy Environments

How do you move from “Waterfall-ITIL” to “DevOps-Agile”? How do you define success? How do you encourage experimentation? What’s differences do you see now in your production pipelines?

See the list of panelists/

c9d9 Episode 6: Deployment Automation

How do you throw things over the wall? :) How do you identify dependencies between applications? How do you ensure security and provide governance and compliance? How do you roll back if things go wrong?

See the panelists featured on this episode

c9d9 Episode 17: ARA in Regulated Industries

Learn about some of the challenges with application release in regulated industries – such as medical devices – and some best practices and common patterns around security protocols, approval process and audit compliance.

See panelists.

c9d9 Episode 17: ARA in Regulated Industries

Learn about some of the challenges with application release in regulated industries – such as medical devices – and some best practices and common patterns around security protocols, approval process and audit compliance.

See panelists.