ZPC Blue-Green Deployments Guide

Summary

Blue-green deployment is a release technique that reduces downtime and risk by running two identical production environments called Blue and Green. This technique is also known also known as A-Side / B-Side deployments.

 

At any time, only one of the environments is live, with the live environment serving all production traffic. The benefit of Blue-Green deployments is to allow ZPC production environment to continue to run in parallel while QA can integration test a new version also in the production environment. When the new version is deemed ready, the production traffic is switched to the new version without any downtime. Should any problems arise with the new version, the admin can easily rollback/revert to the old version with zero downtime.

Note: The purpose of Blue-Green is not redundancy.
The purpose of Blue-Green is to eliminate downtime during upgrades and facilitate rollbacks. Interested in redundancy?
Get in touch with your Account Manager to learn more about our High Availability module!

Connecting to the Production Instance

The appliance contains two ZPC instances running at the same time. When you access the public URL of ZPC (ex. https://ZPC.mydomain.com) you'll hit the Apache2 front-end (also known as the router). The Apache front-end is always pointing to the production instance. This live instance is also known as the active side. In the illustration provided in the summary, the A-SIDE is currently the live side.

Connecting to the inactive side (non-production)

The other instance of ZPC (not in production) is known as the inactive side. In the illustration in the summary, the B-Side server is the inactive side in the scenario. Usually the inactive side has two possible versions:

  • The previous version of ZPC (in case a rollback is needed)

  • The new version of ZPC, also known as the “release candidate”.

To connect to the dark side, one cannot go through the Apache2/router front-end. You must connect to it directly via the special port:

  • A-Side can always be reached on port 8443 (https://ZPC.mydomain.com:8443)

  • B-Side can always be reached on port 8444 (https://ZPC.mydomain.com:8444)

Performing a traffic flip

A traffic flip is performed when:

  • A rollback is needed - In this case the dark side has a previous version

  • An upgrade is ready/certified - In this case, the dark side has the new version of ZPC

When performing a traffic flip, Apache2 will change which server to point traffic to. All live traffic will switch over the the different side.