Google Cloud deployment archetypes Stay organized with collections Save and categorize content based on your preferences.
As a cloud architect or decision maker, when you plan to deploy an applicationin Google Cloud, you need to choose adeployment archetype1 that's suitablefor your application. This guide describes six deploymentarchetypes—zonal, regional, multi-regional, global, hybrid, andmulticloud, and presents use cases and design considerations for each deploymentarchetype. The guide also provides a comparative analysis to help you choose thedeployment archetypes that meet your requirements for availability, cost,performance, and operational efficiency.
What is a deployment archetype?
A deployment archetype is an abstract, provider-independent model that you useas the foundation to build application-specificdeployment architectures thatmeet your business and technical requirements. Each deployment archetypespecifies a combination of failure domains where an application can run. Thesefailure domains can be one or moreGoogle Cloud zones or regions,and they can extend to include your on-premises data centers or failure domainsin other cloud providers.
The following diagram shows six applications deployed in Google Cloud.Each application uses a deployment archetype that meets its specificrequirements.
As the preceding diagram shows, in an architecture that uses the hybrid ormulticloud deployment archetype, the cloud topology is based on one of thebasic archetypes: zonal, regional, multi-regional, or global. In this sense,the hybrid and multicloud deployment archetypes can be considered ascompositedeployment archetypes that include one of the basic archetypes.
Note: Deployment archetypes are different fromlocation scopes.The location scope of a Google Cloud resource defines its availabilityboundary. For example, the location scope of a Compute Engine VM iszonal.This means that if the Google Cloud zone in which a VM is provisioned hasan outage, the availability of the VM is affected. However, by distributing VMsacross multiple zones, you can build a highly available architecture that'sbased on theregional deployment archetype.Choosing a deployment archetype helps to simplify subsequent decisions regardingthe Google Cloud products and features that you should use. For example,for a highly available containerized application, if you choose the regionaldeployment archetype, then regional Google Kubernetes Engine (GKE) clusters aremore appropriate than zonal GKE clusters.
When you choose a deployment archetype for an application, you need to considertradeoffs between factors like availability, cost, and operational complexity.For example, if an application serves users in multiple countries and needs highavailability, you might choose the multi-regional deployment archetype. But foran internal application that's used by employees in a single geographicalregion, you might prioritize cost over availability and, therefore, choose theregional deployment archetype.
Overview of the deployment archetypes
The following tabs provide definitions for the deployment archetypes and asummary of the use cases and design considerations for each.
Zonal
Your application runs within a single Google Cloud zone, as shown inthe following diagram:
| Use cases |
|
|---|---|
| Design considerations |
|
| More information | See the following sections: |
Regional
Your application runs independently in two or more zones within a singleGoogle Cloud region, as shown in the following diagram:
| Use cases |
|
|---|---|
| Design considerations |
|
| More information | See the following sections: |
Multi-regional
Your application runs independently in multiple zones across two or moreGoogle Cloud regions. You can useDNS routing policies to routeincoming traffic to the regional load balancers. The regional load balancersthen distribute the traffic to the zonal replicas of the application, as shownin the following diagram:
| Use cases |
|
|---|---|
| Design considerations |
|
| More information | See the following sections: |
Global
Your application runs across Google Cloudregions worldwide, either as a globally distributed (location-unaware) stack oras regionally isolated stacks. A globalanycast loadbalancer distributes traffic to the region that's nearest to the user. Othercomponents of the application stack can also be global, such as the database,cache, and object store.
The following diagram shows the globally distributed variant of the globaldeployment archetype. A global anycast load balancer forwards requests to anapplication stack that's distributed across multiple regions and that uses aglobally replicated database.
The following diagram shows a variant of the global deployment archetype withregionally isolated application stacks. A global anycast load balancer forwardsrequests to an application stack in one of the regions. All the applicationstacks use a single, globally replicated database.
| Use cases |
|
|---|---|
| Design considerations | Costs for cross-region data transfer and data replication. |
| More information | See the following sections: |
Hybrid
Certain parts of your application are deployed in Google Cloud,while other parts run on-premises, as shown in the following diagram. Thetopology in Google Cloud can use the zonal, regional, multi-regional, orglobal deployment archetype.
| Use cases |
|
|---|---|
| Design considerations |
|
| More information | See the following sections: |
Multicloud
Some parts of your application are deployed in Google Cloud, andother parts are deployed in other cloud platforms, as shown in the followingdiagram. The topology in each cloud platform can use the zonal, regional,multi-regional, or global deployment archetype.
| Use cases |
|
|---|---|
| Design considerations |
|
| More information | See the following sections: |
Contributors
Author:Kumar Dhanagopal | Cross-Product Solution Developer
Other contributors:
- Anna Berenberg | Engineering Fellow
- Anshu Kak | Distinguished Engineer
- Jeff Welsch | Director, Product Management
- Marwan Al Shawi | Partner Customer Engineer
- Sekou Page | Outbound Product Manager
- Steve McGhee | Reliability Advocate
- Victor Moreno | Product Manager, Cloud Networking
Anna Berenberg and Brad Calder,Deployment Archetypes for Cloud Applications, ACM Computing Surveys, Volume 55, Issue 3, Article No.: 61, pp 1-48 ↩
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-11-20 UTC.