Updated on 2025-05-22 GMT+08:00

RES15-04 Gray Deployment and Upgrade

During in-place upgrade and rollback, services may be interrupted. The interruption depends on the upgrade and rollback duration, which can greatly affect services. Gray deployment and upgrade can help minimize service downtime and enhance overall system availability.

  • Risk level

    High

  • Key strategies

    Canary and blue-green deployments are supported to facilitate gray upgrade or deployment. These methods gradually introduce new changes or switch user workloads. They work in conjunction with automatic rollback to minimize service interruption risks caused by deployment errors.

    A canary deployment (gray release) is a method that tests out a new feature to an early sub-segment of users deploying the feature globally. It usually runs on a single service instance (the "canary"). If any changes or errors are detected, the workloads in the canary can be removed and users can be rolled back to the old version. If everything works as intended, you can gradually add more users while monitoring logs, errors, and software health.

    A blue-green deployment is similar to a canary deployment. You create two production instances. At any given time, one application responds to user traffic and the other application continuously receives updates from the team's continuous integration (CI) server. When a new version of the environment (the green version) is deployed, all traffic from the user base continues going to the production environment (the blue version). The green version is tested first, and when completed, users are switched over to the green environment. The blue environment serves as a backup, enabling easy rollback in case of any problems with the green version.

  • Related cloud services and tools
    • CodeArts Deploy: a visualized and automatic deployment service. It provides various ways to customize the deployment process, improving efficiency and reducing costs.
    • Cloud Service Engine (CSE): support for gray release.
    • Application Service Mesh (ASM): support for gray release.