Take Release Automation to the Next Level, Episode 3: Rock Your Pipeline with Rolling Updates

| October 30, 2018 | 0 Comments

Advanced Deployment PatternsThe “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.

Advanced Deployment Patterns

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.

Advanced deployment patterns

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.

Application Release Automation

Best Practices for DevOps: Advanced Deployment Patterns

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.

Related resources


Hes Siemelink

About the Author ()

Hes Siemelink is a Senior Product Architect at XebiaLabs. Hes is the original development and product manager for XL Release, the release orchestration component of the XebiaLabs DevOps Platform.