Jump to Content
Application Development

New Cloud Deploy features make application deployment even more efficient

May 12, 2023
http://storage.googleapis.com/gweb-cloudblog-publish/images/databases_2022_HTRs5Tr.max-2500x2500.jpg
Brenna Washington

Product Marketing Manager

Nate Avery

Outbound Product Manager

Good practices alone aren't enough to ship software regularly. You need good tools! There is no shortage of great tools for releasing software into production, but Cloud Deploy brings unique value to the table. Cloud Deploy is a fully managed, opinionated continuous delivery service that makes it faster and easier for you to consistently release software to runtimes like Google Kubernetes Engine and Cloud Run, and some exciting new features make it even more powerful.

We were mindful of the developer experience right from the beginning as you are interacting with Cloud Deploy in the console. The GUI navigation experience is unambiguous — what you see is what you have to work with. When possible, context switching is minimized to reduce developer toil while getting up to speed with new features.

Let’s dive a bit deeper into the feature-rich power of Cloud Deploy and how it is streamlining your deployment journey:

Release promotion, rollback, and approvals

Detecting problems earlier in the software development life cycle reduces costly outages and makes developers more productive. Cloud Deploy brings the idea of shifting left on CI/CD to reality. For safeguards against unwanted approvals, Cloud Deploy allows you to take advantage of flow management features such as release promotion, rollback, and approvals. In fact, in a recent developer research study, we found that Cloud Deploy helps to automate DevOps-style continuous delivery tasks like release promotion and approval are 2.4x faster on Google Cloud than with competing cloud services.

http://storage.googleapis.com/gweb-cloudblog-publish/original_images/1_D6B1wZS.gif
Promotion and approval steps in Google Cloud Deploy

When your release is deployed into a target defined in your delivery pipeline, you can promote it to the next target, with just one click. Promotions kick off right away once initiated. This is consistent with any target whether that’s a Google kubernetes cluster, an Anthos cluster, or Cloud Run. 

Cloud Deploy supports rolling back your deployed application in any target. A rollback consists of triggering a rollout against the last successfully deployed release. The new rollout uses the same parameters that were used in that successful deployment and can all be controlled within the interface you are used to working with.

Cloud Deploy brings the idea of shifting left on CI/CD to reality. For example, gone are the days of reaching out to multiple Program Managers/Operators/etc to get approvals or submitting a ticket and being added to a long queue since we have baked the approval process directly into your interface. Now you can require approvals for any target, and you can approve or reject releases into that target. Approvals can be managed programmatically by integrating your workflow management system (such as ServiceNow), or other system, with Google Cloud Deploy using Pub/Sub and the Google Cloud Deploy API. By bringing the approval process into the interface helps organizations maintain their policy via software, rather than manually, time consuming approvals. 

Multi-location deployments

In the time since we ran the above-mentioned research study in 2022, we have made exciting updates to Cloud Deploy features that speed up development. For instance, we know that being able to deploy to multiple targets at the same time can speed up your rollouts — and in March, we showed you that Cloud Deploy can do just that

Before, updating all clusters required waiting for a sequential Cloud Deploy pipeline to run and update each cluster, one at a time, which was not optimal. With this new update to Cloud Deploy, you can concurrently deploy to all members in a group of either Google Kuberentes Engine clusters, Cloud Run instances, or Anthos clusters at once. This ability to “parallel deploy” clusters will tremendously speed up, for example, updating all clusters of a globally distributed application. 

Imagine a scenario where an application is deployed globally. In each region, there may be multiple clusters. In this example, the Asia region has four clusters.

http://storage.googleapis.com/gweb-cloudblog-publish/images/2_nMH0B5P.max-800x800.png
Pipeline shows Google Kubernetes Engine (GKE) target clusters in 4 regions across Asia - asia-east1, asia-east2, asia-east-3, and asia-east4

Cloud Deploy makes it possible to deploy to all four clusters in the Asia east region simultaneously. If all goes well, then a promotion to the clusters in europe-west can begin.

http://storage.googleapis.com/gweb-cloudblog-publish/images/3_lKuvqtQ.max-1100x1100.png
Pipeline view of deployment progression between stages

Canary is now in Public Preview

Canary deployments allow customers to deploy a new version of an application alongside an existing version of that same app. The canary (new version) can be rolled out in customer defined percentages. Each percentage increase is called a phase. When the phase ends, customers can either choose to advance the rollout to the next phase. Customers can also opt to rollback for whatever reason. This makes it possible to perform safe, gradual rollouts that minimize disruption.

http://storage.googleapis.com/gweb-cloudblog-publish/images/4_KkMkMOp.max-1400x1400.png

Conclusion

With Cloud Deploy, we want to be the simplest and fastest way to deploy your workload onto Google Cloud runtimes and we are excited for you to see future product updates that will continue to drive this mission. Not only that, but we are making continuous delivery to GKE, Cloud Run, and Anthos easy and powerful today, so be sure to get hands on with Cloud Deploy below: 

Posted in