Use a deployment strategy

Cloud Deploy supports deployment strategies. A deployment strategy is any of several techniques for deploying changes to your application while minimizing impact to users.

What deployment strategies does Cloud Deploy support?

Cloud Deploy supports the following deployment strategies:

  • Standard deployment

    The standard deployment strategy simply deploys an application to a target runtime or runtimes. The deployment is not performed progressively, and there is no splitting between the old and new versions of your application.

    With a standard deployment, you can easily roll back your release, you can verify your deployment, and you can deploy to more than one target at the same time.

  • Canary deployment

    A canary deployment is a progressive deployment of your application, such that your app is deployed at first to a portion of your infrastructure and can be tested there before being rolled out further. A canary deployment reduces the risk of introducing changes by reducing the number of users likely to be affected by a bug.

    For example, with a 50% canary deployment to Cloud Run, half the traffic would be directed to the new revision, with half of it still directed to the old revision. After testing to help ensure stability, you would advance the rollout to 100%. With Cloud Deploy, you can specify any progression of percentages (except partial percentages, like 20.5%).

Both of these deployment strategies support all of the runtime environments that Cloud Deploy supports. Also, all deployment strategies support rolling back, canceling rollouts, and deploying to more than one target at the same time (parallel deployment).

Why phases are sometimes skipped

Because a canary runs against an existing version of an application (progressively replacing that version), the canary strategy can't be performed if there's no version deployed yet that Cloud Deploy can recognize.

This means that if you deploy an application for the first time to a given target, and you use a canary deployment strategy, the rollout might skip the canary phase or phases. In this case, after Cloud Deploy skips to the stable phase, and you click Advance Rollout to initiate the stable phase, the application gets deployed fully to that target, and you can now run a canary against it with your next set of changes. Clicking Advance Rollout constitutes an acknowledgement that we've skipped the canary phases that were not applicable for this deployment.

Use parallel deployment with a deployment strategy

You can use a deployment strategy and still deploy to more than one target at the same time.

See Using parallel deployment with a canary deployment strategy to find out how to do this with canary.

What's next