CI/CD Workflow Packages
Workflow Packages are a way of deploying configuration to production and forms a corner stone for the microservice concept. They are pre-compiled, self-contained, and read-only. One or more Workflow Packages built into a container image and referenced from an Execution Context Deployment definition form a scalable microservice, with easy and fast upgrades, safe rollbacks, and the possibility of having multiple versions of the same package active simultaneously. This means zero downtime upgrades using blue/green or canary deployments can be done.
Execution Context Deployment
The classic way of handling configuration in DigitalRoute’s product for bare-metal and virtual machine deployments, MediationZone, are regular configuration exports. Those are also available in Usage Engine to provide product level support for migrations of existing on-premises deployments to cloud infrastructure and the Usage Engine. The main differences are outlined in the table below.
Standard Configuration Exports | Workflow Packages |
---|---|
Configuration is compiled when imported. This may be time consuming and introduces a new version. | Configuration is pre-compiled, and version is set. A plug-and-play approach. |
Updating shared configuration in production will affect all workflows using it when they are restarted. | “Shared” configuration is part of the package, and valid for that package only. |
Rollback is achieved by importing the previous configuration. | Easy rollbacks – packages are an integral part of the image/pod and can easily be switched back to the previous pod. |
Only one version of configuration may be active. | Several versions of packages can be active, enabling blue/green and canary upgrades. |