With version 6.2.4, we’re making it even easier to run deployments in stages, such as blue-green and and rolling deployments, in IBM UrbanCode Deploy. We’ve enhanced features that let you update a few nodes at a time and verify that those nodes are working before you update all of your application environments. The result is more control and better usability over updating environments with a large number of systems.
For a video demo, see Blue-green deployments with IBM UrbanCode Deploy.
Most of these enhancements are to loops within application processes. We’ve enhanced the For Each Agent loop to let you control which agents run automated tasks. This way, even if you have a large number of agents, you can run automated tasks on specific groups of agents by tagging agents and running tasks only on agents with one or more of those tags. Here’s a simple process that runs automated tasks only on the agents that have the resource tag “canary:”
The properties for the loop are where you select the tags to run the steps on. There’s even a setting to limit the number of agents that are running processes at once, so you can throttle the deployment and monitor the rollout:
We’ve also added the For Each Tag loop, which is similar — it runs once for each of the resource tags that you specify. So you can organize the resources in your environment by tag and then set which tags to run on. The cool thing about this loop is that you can set the order of the tags, so for example, you can deploy to canary nodes first and all remaining nodes second, all in the same process. The result is greater control over the order of deployments in environments with lots of nodes.
One other nifty detail that makes the For Each Tag loop even more flexible is the ability to change the tags just before you run the process. So you can run the process the first time to update your “canary” tagged nodes, then stop to verify them, and then run the process again with all of the other tagged nodes. Or you can run the process over all the nodes at once. That lets you structure your deployments as a blue-green deployment with two separate environments, or as a rolling deployment with any number of nodes.
There’s more information in IBM Knowledge Center here: Modeling blue-green, rolling, and canary deployments.
Let us know what you think in the forum — we’re working on more enhancements to this area of advanced deployment techniques, and we’d love to have your feedback.