Continuous Delivery and Application Release Automation

Understand the difference between application release automation and continuous delivery

Application Release Automation is a set of tools while Continuous Delivery (CD) is a process. Continuous Delivery is an extension of  Continuous Integration. When a software update is saved to the version repository, the Continuous Integration workflow is triggered to execute steps that may include the calling of a script to compile code into binaries (Continuous Build), followed by a script to deliver the binaries to a list of servers (Continuous Deploy). In some cases where the production environment is made up of only a small set of servers, the Continuous Integration process may support production deployments, but in most organizations CI is used mainly by development and testing teams. When someone states they are doing Continuous Delivery, they are saying that they use their CI process to execute a deployment script as part of there over all CD strategy.

Application Release Automation (ARA) is designed to fully orchestrate the delivery of software including infrastructure and database updates, server configuration management, calendaring, roll-forward, rollback, security access and component packaging. A Continuous Delivery process may call an ARA solution to perform the orchestration of the deployment, replacing the one-off deployment scripts written by developers.

 

Server Configuration Management

It is true.  A script called by a CI process can set server parameters.  But the script is not the place to store or manage this type of information.  ARA solutions centralize the management of server settings and configurations and can do so for thousands of machines.  This centralization provides a quick, self-service portal for anyone, from development through production, to view, analyze and update configurations if needed, without executing a script.

When this low level configuration data is managed inside a script, only the author of the script will know where in the script the configuration settings are located, and exactly how and if the script is  actually setting them.  Scripts can easily obfuscate a configuration setting. What you thought was being done by the script was actually commented out in the script, or the script failed to loop through all endpoints as the server list was not updated.  Transparency is the biggest issue with the scripts making releases difficult to understand.

The challenge is not how the scripts were called (via a CI process), the challenge is that the scripts are called.   Scripting is a poor solution for managing Server configuration.

Learn more – download the whitepaper 

 


TRagan

Ms. Ragan has had extensive experience in the development and implementation of DevOps for large organizations. She began her consulting career in 1989 on Wall Street specializing in build, testing and release management for the distributed platform. It was during her consulting experiences that Ms. Ragan recognized the lack of standardized development procedures on open systems that were common on the mainframe. In the years leading to the creation of OpenMake Software she worked with development teams in implementing a community driven standardized build and deploy process that enabled frequent builds and releases, automated around version control. Her knowledge and experience contributed to the creation of OpenMake Meister, the first commercial Build Automation solution. Ms. Ragan served on the Eclipse Foundation Board of Directors as an Add-in Provider Representative for 5 years. She has been published on numerous occasions and regularly speaks at conferences including CA World where she presented for 15 consecutive years. She holds a BS Degree in Business Administration, Computer Technology from California State University, Pomona.

0 thoughts on “Continuous Delivery Vs. Application Release Automation”

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

DevOps

Application Release Automation with Ansible Galaxy Roles and Release Engineer

Application Release Automation requires the ability to manage both the application stack and server configurations. IT Engines such as Ansible are designed to manage server configurations and the IT Stack, but do not focus on Read more...

DevOps

Ear file deployment to Websphere Cluster

Steps to perform an Ear file deployment Steve Taylor provides tips on setting up and Ear file deployment I am often asked how to standardize a ear file deployment around a WebSphere Cluster.  Deploying an Read more...

DevOps

Third Party Development with CA Harvest

The Problem and CA Harvest Understanding 3rd party development and CA Harvest CA Harvest can be used to manage 3rd party developed software. I’ve had a number of clients ask my advice around how to Read more...