Convert an existing application to use rolling deployments
Blog post from Octopus Deploy
In the article, Mark Harrison outlines the process of converting an existing application deployment from a sequential to a rolling deployment pattern using Octopus, with a focus on the PetClinic application, a Java-based Spring Boot project. The sequential deployment method, which involves running steps one after another, can lead to application downtime. To address this, Harrison demonstrates how to implement a rolling deployment process, which minimizes downtime by using multiple servers and a load balancer to manage traffic. The transition involves scaling up server infrastructure, removing servers from the load balancer during updates, and adding them back once updates are complete, using child steps in Octopus for these tasks. The rolling deployment is configured to continue serving user requests even during updates, thereby enhancing application availability. Additionally, the new deployment pattern requires infrastructure changes, such as using a network load balancer and updating DNS records, to route traffic appropriately. The article concludes by highlighting the benefits of reduced downtime and continuous service availability offered by the rolling deployment approach.