This post is from the XebiaLabs blog and has not been updated since the original publish date.
Take Release Automation to the Next Level, Episode 3: Rock Your Pipeline with Rolling Updates
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 UpdatesA 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 UpdatesWhile 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 UpdateTo 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 PlatformJust 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.
- 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