logo

What Deployment Means in Software Delivery Cycles

The process of deployment takes software from the development stage to a fully operational and customer-facing system. While it could appear to be merely transferring software from dev to live, deployment is actually a well-thought-out and orchestrated process that facilitates users receiving new software features, fixes and updates without any major interruptions to the current functionality of their systems. In modern delivery cycles, deployment is typically completed using automated and sometimes continuous integration and delivery (CI/CD) build pipelines which are defined as the process of creating and delivering a packaged application, performing final checks on the package and deploying the package to production. This reduces the risk of manually deploying applications, such as configuration errors and inconsistent environment issues.

The size of a deployment may vary greatly (for example, deploying a small patch versus deploying a major version), but the underlying principles of deployment remain constant (such as stability, reliability and no downtime). The use of techniques such as blue-green deployment, rolling updates and canary releases allows teams to better control releases and gives them the ability to test all changes in a staged manner prior to exposing them universally. After deployments occur, the monitoring of applications to check the health, performance and behaviour of users will assist in determining whether the deployment successfully delivered the benefit intended. In conclusion, deployment is a vital stage in the software lifecycle, as it creates the connection between what was developed and what was delivered to users.

Software Development