Here on the Domain Monitor, we recently explained everything you need to know about continuous integration, in that article, we also mentioned that continuous delivery carries on from where continuous integration finishes.
If continuous delivery picks up from where continuous integration finishes, then what's it all about?
That's exactly what I'm going to go through in this article, and to keep things a little cleaner, I'm going to be using the terminology called: CI and CD a lot, since these are the acronyms for each of the respective methods.
If you're new here, and haven't checked out our original article, CI is essentially the process of planning, coding, testing and finally building a web application, CD is the process of delivering that build to your customers in the most efficient way possible.
Let's dive deeper into CD...
Continuous delivery, also known as CD in the development space involves taking the build of a web application from the continuous integration process and releasing this finalised and stable version to a production environment.
As a web developer myself, it's sometimes a scary process to release new features or bug fixes onto the production environment where your users and real customers will be able to use and see your work.
What's even more troublesome is being able to release the latest build of a web application only to find that something has gone terribly wrong, and either you notice it straight away and spend hours trying to revert it...
Or, you don't notice it for several days resulting in potential website downtime of some part of your application.
Without continuous delivery existing, it would take longer, and would potentially cost more money for a business.
Once a new version of your web application is built from the CI process and is ready to be shipped to production, the new build works its way to the development and operations team, also known as DevOps.
It's here where tests will be carried out in a way that allows business partners and more senior team members to review and check to see whether the newly build version containing new features and bug fixes is ready for use.
This process can take some time, and involves several key tests that all need to take place:
Each of these key points needs to be carried out effectively by the DevOps team to ensure that the application is fit for use.
CD should be used wherever possible.
The process has been developed to help the DevOps team get software to your users faster in a more efficient way with less issues.
Do you remember when I said that it can be scary to release new features and bug fixes to a production environment without running the risk that something crucial is going to break?
CD helps to omit those issues by automating the tests, and automating other parts of the delivery process, before finally, deploying that version to real users.
Once a version has been through the CD process, the deployment process is typically taken care of by some automated system, which means no drag & dropping files and folders onto your server so your users can see the new version right.
Drag & Drop is great if you're got a Wix website or something similar to that, or maybe you've got FTP access to your web server and want to add files that way, great, go ahead.
But when dealing with larger web applications, this would be incredibly inefficient and liable to introducing more bugs into your web application.
There's many reasons why you'd want to use continuous delivery in your web application, let's take a look at two of them here:
The elephant in the room right now is probably asking how CD compares with CI right?
They're both very similar, CI, or continuous integration allows developers and teams to integrate new code and features into a piece of software or web application, whilst CD, or continuous delivery aims to deliver reliable and robust features to real users.
They are different, but the best way to identify the differences between them is this...
Continuous delivery picks up where continuous integration leaves off, you see, CI finishes at the point where the new code and features are ready to be delivered to market, and that's exactly where CD steps in.
Automation is everywhere, it's in cars, in manufacturing facilities and warehouses, I sometimes wonder whether there's too much automation.
The truth of the matter is this...
Continuous delivery relies on some level of automation to improve the efficiency of delivering web applications to your users, and without it, could cost you a lot more money as a business.
Equally though, automation can sometimes work against you, and having a real human ensuring that your continuous delivery process is working in great order is quite important if you ask me.
I hope you enjoyed this article, it's been an interesting one for me to create, and like our other articles, aims to provide as much value to you as possible, so if you like it, feel free to share it.
I'm pleased to announce that we've just launched our very first PRO subscription. Learn more about it in this short read article.Read more
If you're one of the 90% of people that are worried about getting your password hacked then read this article as we deep dive into why password security is super important right now.Read more
Do you need to Ping your website or server? Get started with one of our brand new tools that will let you Ping your website.Read more