Join the DevOps Community!

Register New Account

BASIC is always free and only requires a simple registration. Members will have access to a vast knowledge library to support continuous learning.

 

Already have an account?

Join the DevOps Community!

Register New Account

BASIC is always free and only requires a simple registration. Members will have access to a vast knowledge library to support continuous learning.

 

Already have an account?

Continuous Integration, Continuous Delivery, Continuous Testing, Continuous Deployment: What’s the Difference?

Continuous Delivery, Continuous Testing, DevOps Basics

Newcomers to the world of DevOps often notice that the word “continuous” gets thrown around a lot. People talk about continuous integration (CI), continuous delivery (CD), continuous testing and continuous deployment — and all that continuous-ness can get a little confusing.

It’s tempting to think that all these terms mean the same thing. After all, organizations that practice one often practice many of the others. Even some tools, such as CI/CD solutions, seem to conflate these ideas.

However, each of these terms refers to a unique concept, and DevOps practitioners need to understand the differences between them if they want to achieve maximum success with the DevOps approach.

Continuous Integration

Continuous integration comes from Agile development methodologies. It involves all the developers on a particular project merging their code into a shared code base several times a day and then doing a build to look for any integration errors. The goal is to find integration problems early in the process when they are presumably smaller and easier to fix.

CI is among the most commonly used Agile and DevOps techniques. According to the 12th Annual State of Agile Report from CollabNet VersionOne, 54 percent of organizations are using CI techniques.

Continuous Delivery

Continuous delivery is also an Agile development process, but although it is related to CI, it is slightly different. In a nutshell, CD requires developers to make sure that their code is ready to deploy at any time. In order to make that possible, they make small, frequent changes to their code base and test as they go. It requires continuous integration, as well as frequent feedback cycles and project managers who are monitoring the development lifecycle.

CD stands in stark contrast to traditional waterfall development practices where organizations might spend a year or more on a major update that doesn’t become ready for release to customers until the very last minute.

Continuous Deployment

Continuous deployment is very frequently confused with continuous delivery, and for good reason. Not only can they both be abbreviated CD, they both involve releasing code into production.

The difference is that while continuous delivery means that you are always ready to deploy your code, continuous deployment means that you actually are pushing code out to users as soon as it has passed testing.

That distinction is important because businesses sometimes choose not to release code continuously, even if it is ready to deploy, perhaps because of regulation concerns or other business-related reasons. In the CollabNet VersionOne survey, 37 percent of respondents said that their organizations use continuous deployment.

Continuous Testing

Continuous testing is probably the easiest of these four ideas to distinguish from the other continuous processes. It means that organizations are using test automation tools to get feedback to developers as quickly as possible. Its goal is primarily to speed up the development and deployment processes, and it’s a key ingredient to enabling continuous integration, continuous delivery, and continuous deployment.

All four of these principles are intertwined, and all four are critical to the job of the continuous delivery architect, the person responsible for designing, implementing and managing DevOps deployment pipelines and toolchains. DevOps Institute’s Continuous Delivery Architecture (CDA) certification covers all four ideas in great detail, as well as examining related people issues, automation, security, metrics, best practices and more. It’s a great learning opportunity for enterprise architects, software developers, IT managers, project managers and anyone else interested in a high-level view of DevOps processes. Click to learn more or find a certification that suits your schedule.

Cynthia Harvey

About the Author

Cynthia Harvey is a freelance writer and editor based in the Detroit area. She has been covering the technology industry for more than fifteen years.

Join our Community for Free

related posts

DevSecOps and ITIL4

DevSecOps and ITIL4

By: Niladri Choudhuri, Hugo Lourenco, Jay Shah and Helen Beal DevSecOps has emerged and established itself as the model to assure cybersecurity is properly considered when transitioning to DevOps ways of working. It demands collaboration between the security, IT...

Team Cognitive Load

Team Cognitive Load

By: Tom Henriksen Team Cognitive Load is an interesting idea. I have heard other people discuss cognitive load and how it relates to developers;the team though is a new wrinkle to me. Recently I had the privilege of talking to Manuel Pais. He is the co-author of a...

DevSecOps SKILup Day Highlights

DevSecOps SKILup Day Highlights

We’re on the tail-end of yet another eventful month for DevOps Institute. To kick things off, we declared September as DevSecOps month! To celebrate and help the community SKILup on all things DevSecOps, we hosted several events and shared a variety of new resources...

eBook: How to be Resilient in a Culture of Constant Change

Resilience is being able to recognize your own emotions and behaviours when under stress and be able to manage them accordingly. It means embracing the fact that constant change is the norm and accepting the reality it brings.  This ebook by well known organizational...