The use of Blue-Green Deployments and Canary Releases in DevOps is well known and practiced. But could this be driven by IT service management (ITSM) tools? And could these two practices be extended to non-cloud scenarios by ITSM tools? In this article, I explain two extensions of Blue-Green Deployments and Canary Releases to being controlled by ITSM tools for both cloud and non-cloud scenarios.Here @ViewYonder explains two extensions of Blue-Green Deployments and Canary Releases to being controlled by #ITSM tools for both #cloud and non-cloud scenarios. Click To Tweet
What are Blue-Green Deployments and Canary Releases?
The elevator pitch is that they’re insurance polly-cies (sorry) to stop things blowing up (when it comes to IT change).
Blue-Green Deployment lets you switch Green users over to a new Blue system to see if it works. If it doesn’t, then simply swiftly switch them back to Green. If it works, leave them on the new Blue system. After a while, make Green staging and the target of a future new system. Banks have been doing this, with expensive mainframe systems, since at least the 1990s.
You switch the end users “at the front door” which may be a network router, load balancer, webserver, or other kinds of traffic-processing device. You need to be careful of the database though and, if using this technique, it’s wise to have database schema changes separate from application changes. This is to avoid losing transactions in rollback and complications in rolling forward/back.
A Blue-Green Deployment is a big-bang approach, albeit with a quick and easy rollback. Whereas a similar but more gentle approach to Blue-Green Deployment is the Canary Release. This is just switching over some Green users to a Blue system and only rolling them back if there’s a problem.
Leading cloud service providers such as AWS offer these kinds of facilities in their “PaaS”-type services such as AWS Elastic Beanstalk. This is an automated and AWS-managed system for doing Blue-Green deployments. Other services such as EC2 (virtual machine) Auto Scaling and Load Balancers also help you do these kinds of cloud-based deployments.
However, to use them you need to be a cloud expert. But what if they were available from familiar ITSM tools?Do you need to be a #cloud expert to be able to use blue-green deployments and canary releases? No says @ViewYonder, API's mean they can be driven from your #ITSM tool. Click To Tweet
Driving Blue-Green Deployments and Canary Releases from ITSM Tools
Cloud services, such as AWS, can do Blue-Green Deployments and Canary Releases and the services that do them have APIs that can be driven from anywhere. For instance, from an ITSM tool.
Suddenly, this gives non-cloud experts the chance to self-deploy systems and changes – and rollback – without having to engage cloud engineers.
This is the ultimate of “Getting Things Done” for cloud, with it solving “Theory of Constraints” issues by both removing the cloud engineer as a bottleneck while also ensuring that ITSM best practice and governance guardrails are used. Plus, it’s DevOps aligned because, to work, everything must be automated and offered via self-service with feedback.Cloud services, such as AWS, can do Blue-Green Deployments and Canary Releases and the services that do them have APIs that can be driven from anywhere. For instance, from an #ITSM tool – @ViewYonder #Cloud Click To Tweet
A Worked Example
One way to do this is as follows:
- A developer updates an application with a change that’s approved for a self-service Blue-Green Deployment or Canary Release. An example is changing the user interface of an application – where the change is a non-disruptive minor UI change that’s classified as a standard change. It’s ideally suited for deployment via an automated pipeline and Canary Release to a minority of users with auto-rollback on detected errors and increased rollout on success.
- The developer uploads/associates their updated artifact via the ITSM tool which triggers the continuous integration/continuous delivery (CI/CD) pipeline up to the “Ready to deploy to production” stage.
- The developer (or someone) approves this step.
- The ITSM tool triggers the Blue-Green Deployment or Canary Release.
- Testing and verification.
- Rollback or acceptance.
All without the user having to leave the ITSM tool. This is important for a number of reasons:
- As few users as possible should have access to cloud systems. Business as usual consumption of cloud should be driven through the ITSM tool.
- Tool proliferation is bad so having yet-another-tool to run the Blue-Green Deployments instead of integrating existing tools is bad.
- The ITSM tool is the correct place for organization value chains. The cloud is the place for cloud-specific technical automation. They should stick to what they’re designed for, and integrate to complete the process.
Integrating ITSM tools and cloud operations offers huge benefits to organizations by adding guardrails and increasing the safe consumption of cloud services. By letting users drive safe Blue-Green Deployments and Canary Releases from the familiar ITSM tool is a solid step in a successful cloud adoption process and safe, productive operations.