The “Take Release Automation to the Next Level” series gives you insights into the benefits and challenges surrounding DevOps deployment patterns. In this series, we’ll look at how different patterns work, the advantages and disadvantages of each one, considerations for implementing them, and best practices when applying them.
In Episode 2, we took a look at the blue/green deployment pattern and how it can help teams safely upgrade applications without interrupting their use. Rolling updates are another deployment strategy that enables teams to minimize downtime while updating applications.
In a rolling update, each server node in the environment is taken offline and upgraded, one by one. After a node is upgraded, manual or automatic smoke testing determines whether the application is functioning as expected. If the application is up and running properly, its server node is made available for user traffic, and the next node is taken offline to be upgraded.
Advantages of Rolling Updates
A rolling update is an incremental way of achieving zero-downtime deployments. Rolling updates work well for deployments that you expect to execute quickly, so you can minimize the impact on users.
Disadvantages of Rolling Updates
While a rolling update is executing, the environment will be somewhat unpredictable because different versions of the application are running in it at the same time. Also, the application architecture must support running in cluster mode because multiple instances of the application will access the database during the update.
Finally, taking servers offline means that there is less capacity for user traffic during the update.
Rolling Back a Rolling Update
To roll back a rolling update, you apply the same strategy of taking servers offline one by one to be downgraded. This approach ensures that a version of the application is always available for users.
Implement Rolling Updates with the XebiaLabs DevOps Platform
Just like the blue/green deployment pattern, the rolling update pattern is most effective when you automate the end-to-end deployment flow to ensure that user traffic is moved across server nodes correctly, and to handle any failures that might happen during the process. The XebiaLabs DevOps Platform makes it easy to take advantage of rolling updates in a way that scales across your organization. XebiaLabs provides the control that you need to ensure that rolling updates are done efficiently, according to a consistent process, no matter what type of environment you’re working with.
This white paper gives you insights into the DevOps best practice of advanced deployment patterns. It describes how each pattern works, the advantages and disadvantages of each one, considerations for implementing them, and best practices when applying them. Read more.
- Take Release Automation to the Next Level, Episode 1: Speed Up Delivery with Advanced Deployment Patterns
- Take Release Automation to the Next Level, Episode 2: Blaze a Trail with Blue/Green Deployments
- How to perform a rolling update with XebiaLabs
- Gartner Critical Capabilities for Application Release Automation