Continuous Delivery
Continuous Delivery
Our application is now running in the cloud. The team builds new features every day. A bug is fixed. A new payment option is added. A security patch is ready. Every change has to reach production. Initially, engineers copied files manually, ran scripts, restarted servers and hoped nothing broke. It worked... ... until applications became larger and updates became more frequent. Manual deployments became slow, inconsistent and error-prone. The engineering problem became obvious. How do we build, test and deploy software automatically every time code changes? The engineering concept that solved this problem is Continuous Integration and Continuous Delivery (CI/CD). Whenever developers submit new code, an automated pipeline builds the application, runs tests and, if everything passes, deploys it to the target environment. The same process happens every time. The same steps. The same quality checks. The same deployment. Amazon Web Services provides this through CodeCommit, CodeBuild, CodeDeploy and CodePipeline. Microsoft Azure provides Azure DevOps and GitHub Actions. Google Cloud provides Cloud Build and Cloud Deploy. Different names. One engineering concept. Software delivery became faster, safer and repeatable. But another challenge soon emerged. Even though deployments were automated... Why were we still deploying entire virtual machines just to run one application?
