Over a million developers have joined DZone.

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

DZone 's Guide to

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

Learn how to use rolling updates to minimize your downtime while updating applications.

· DevOps Zone ·
Free Resource

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.

release automation ,automation ,devops ,deployment ,pipelines ,tutorial

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}