Skip main navigation

Application Deployment

A discussion on the benefits of Continuous Delivery over Manual Deployment, another function of the DevOps approach

In the previous step, we learned about build automation and continuous integration. In this step, we look at application deployment and the value of automated deployments.

Application Deployment

Application deployment has always been the critical piece that gets software into the hands of real users. In the past, the application deployment process was a manual process that was time-consuming. Application deployment has changed in the world of DevOps with continuous delivery.

The idea of DevOps with continuous delivery is that anyone can queue a deployment with continuous delivery. Every commit of code triggers continuous integration, or continuous integration passes starts triggering a delivery sequence. Automated tests are part of that release pipeline and automated tests validate through harsher and harsher testing in the delivery pipeline, that what is getting deployed, is what should be deployed.

The Value of Automated Deployments

Some organisations still manually handle deployments to production. Often, after a build (if there is an automated build), one person or a team will manually copy to development, QA or production environments by copying and pasting files, manually changing configuration files and bringing the application online.

As you might expect (if you’ve experienced this), deployments like these might be problematic or error-prone. It might be because appropriate dependencies are not deployed, source files are missing or broken, tables are out of date or any other issues. Worse, these issues might crop up in production and cause your business major problems when users discover them. Everyone holds their breaths at 3:00am on a Saturday for verification that production still works.

Fortunately, automated deployments enable predictability and efficiency when deploying releases to any environment. By implementing automated deployments, you can deploy to multiple environments either in parallel or one at a time. You set manual approvals to certain environments, redeploy to environments, and perform configuration transforms between environments (we’ll use the term ‘release pipeline’ to indicate deployment from development through production environments). Automated deployments in DevOps are necessary for continuous delivery.

In the next step, we will consider continuous delivery.

Join the discussion

How do you currently handle application deployment? Do your deployments suffer from any of the issues discussed in this step? What workarounds have you come up with to handle these struggles?
Use the discussion section below and let us know your thoughts. Once you’re happy with your contribution, click the Mark as complete button to check the step off, then you can move to the next step.
This article is from the free online

Microsoft Future Ready: Fundamentals of DevOps and Azure Pipeline

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now