This section of the Google Cloud deployment archetypes guide compares the deployment archetypes in terms of availability, robustness against outages, cost, and operational complexity.
The following table summarizes the comparative analysis for the basic deployment archetypes: zonal, regional, multi-regional, and global. For the hybrid and multicloud topologies, the deployment archetype that's used for the Google Cloud part of the topology influences the availability, robustness against outages, cost, and operational complexity.
Design consideration | Zonal | Regional | Multi-regional | Global |
---|---|---|---|---|
Infrastructure availability | 99.9% (3 nines) | 99.99% (4 nines) | 99.999% (5 nines) | 99.999% (5 nines) |
Robustness of infrastructure against zone outages | RTO of hours or days | Near-zero RTO if replication is synchronous | Near-zero RTO if replication is synchronous | Near-zero RTO if replication is synchronous |
Robustness of infrastructure against region outages | RTO of hours or days | RTO of hours or days | Near-zero RTO if replication is synchronous | Near-zero RTO if replication is synchronous |
Cost of Google Cloud resources | Low | Medium | High | Medium |
Operational complexity | Simpler than the other deployment archetypes | More complex than zonal | More complex than regional | Potentially simpler than multi-regional |
The following sections describe the comparative analysis that's summarized in the preceding table.
Infrastructure availability
The following sections describe the differences in infrastructure availability between the deployment archetypes.
Zonal, regional, multi-regional, and global deployment archetypes
Google Cloud infrastructure is built to support a target availability of 99.9% for your workload when you use the zonal deployment archetype, 99.99% for regional deployments, and 99.999% for multi-regional and global deployments. These availability numbers are targets for the platform-level infrastructure.
The availability that you can expect from an application that's deployed in Google Cloud depends on the following factors besides the deployment archetype:
- Design of the application
- Number of interdependent tiers in the application stack
- Uptime Service Level Agreements (SLAs) for the Google Cloud services used
- Amount of redundant resources
- Location scopes of the resources
For more information, see Building blocks of reliability in Google Cloud.
Hybrid and multicloud deployment archetypes
For a hybrid or multicloud topology, the overall availability depends on the infrastructure in each environment and the interdependencies between the environments.
- If critical interdependencies exist between components in Google Cloud and components outside Google Cloud, the overall availability is lower than the availability of the component that provides the least availability across all the environments.
- If every component of the application is deployed redundantly across Google Cloud and on-premises or in other cloud platforms, the redundancy ensures high availability.
Robustness of infrastructure against zone and region outages
The following sections describe the differences between the deployment archetypes in terms of the ability of the infrastructure to continue to support your workloads in the event of Google Cloud zone and region outages.
Zonal deployment archetype
An architecture that uses the basic single-zone deployment archetype isn't robust against zone outages. You must plan for recovering from zone outages based on your recovery point objective (RPO) and recovery time objective (RTO). For example, you can maintain a passive or scaled-down replica of the infrastructure in another (failover) zone. If an outage occurs in the primary zone, you can promote the database in the failover zone to be the primary database and update the load balancer to send traffic to the frontend in the failover zone.
Regional deployment archetype
An architecture that uses the regional deployment archetype is robust against zone outages. A failure in one zone is unlikely to affect infrastructure in other zones. The RTO is near zero if data is replicated synchronously. However, when an outage affects an entire Google Cloud region, the application becomes unavailable. Plan for recovering from outages according to your RPO and RTO for the application. For example, you can provision a passive replica of the infrastructure in a different region, and activate the replica during region outages.
Multi-regional and global deployment archetypes
An architecture that uses the multi-regional or global deployment archetype is robust against zone and region outages. The RTO is near zero if data is replicated synchronously. An architecture where the application runs as a globally distributed location-unaware stack provides the highest level of robustness against region outages.
Hybrid and multicloud deployment archetypes
The robustness of a hybrid and multicloud architecture depends on the robustness of each environment (Google Cloud, on-premises, and other cloud platforms), and the interdependencies between the environments.
For example, if every component of an application runs redundantly across both Google Cloud and another environment (on-premises or another cloud platform), then the application is robust against any Google Cloud outages. If critical interdependencies exist between components in Google Cloud and components that are deployed on-premises or on other cloud platforms, the robustness against Google Cloud outages depends on the robustness of the deployment archetype that you use for the Google Cloud part of the architecture.
Cost of Google Cloud resources
The cost of the Google Cloud resources that are required for an application depends on the Google Cloud services that you use, the number of resources that you provision, the period for which you retain or use resources, and the deployment archetype that you choose. To estimate the cost of Google Cloud resources in an architecture based on any deployment archetype, you can use the Google Cloud Pricing Calculator.
The following sections describe the differences in the cost of the Google Cloud resources between the various deployment archetypes.
Zonal versus regional and multi-regional deployment archetypes
When compared with an architecture that uses the zonal deployment archetype, an architecture that uses the multi-regional deployment archetype might incur extra costs for redundant storage. Also, for any network traffic that crosses region boundaries, you need to consider the cross-region data transfer costs.
Global deployment archetype
With this archetype, you have the opportunity to use highly available global resources, like a global load balancer. The cost of setting up and operating the cloud resources can be lower than a multi-regional deployment where you provision and configure multiple instances of regional resources. However, global resources might entail higher costs in some cases. For example, the global load balancer requires Premium Tier networking, but for regional load balancers, you can choose Standard Tier.
Hybrid and multicloud deployment archetypes
In a hybrid or multicloud deployment architecture, you need to consider additional costs along with the cost of the resources that you provision. For example, consider costs like hybrid or cross-cloud networking, and the cost of monitoring and managing the resources across multiple environments.
Considerations for all the deployment archetypes
When you assess the cost of running a cloud workload, you need to consider additional costs along with the cost of the Google Cloud resources that you provision. For example, consider personnel expenses and the overhead costs to design, build, and maintain your cloud deployment.
To compare the cost of Google Cloud resources across the deployment archetypes, also consider the cost per unit of work that the application performs. Identify units of work that reflect the business drivers of the application, like the number of users the application serves or the number of requests processed.
By carefully managing the utilization of your Google Cloud resources and adopting Google-recommended best practices, you can optimize the cost of your cloud deployments. For more information, see Google Cloud Architecture Framework: Cost optimization.
Operational complexity
This following sections describe the differences in operational complexity between the deployment archetypes, which depends on the number of infrastructure resources, features, and application stacks that you need to operate.
Zonal versus regional and multi-regional deployment archetypes
An architecture that's based on the zonal deployment archetype is easier to set up and operate when compared with the other deployment architectures. An application that runs redundantly in multiple zones or regions requires higher operational effort, due to the following reasons:
- The status of the application stacks in multiple locations must be monitored, both at the stack level and for each component of the application.
- If a component becomes unavailable in any location, in-process requests must be handled gracefully.
- Application changes must be rolled out carefully.
- The databases must be synchronized across all the locations.
Global deployment archetype
The global deployment archetype lets you use highly available global resources like a global load balancer and a global database. The effort to set up and operate cloud resources can be lower than a multi-regional deployment where you need to manage multiple instances of regional resources. However, you must carefully manage changes to global resources.
The effort to operate an architecture that uses the global deployment archetype also depends on whether you deploy a distributed location-unaware stack or multiple regionally isolated stacks:
- A distributed, location-unaware application can be expanded and scaled with greater flexibility. For example, if certain components have critical end-user latency requirements in only specific locations, you can deploy these components in the required locations and operate the remainder of the stack in other locations.
- An application that's deployed as multiple regionally isolated
stacks requires higher effort to operate and maintain, due to the following
factors:
- The status of the application stacks in multiple locations must be monitored, both at the stack level and for each component.
- If a component becomes unavailable in any location, in-process requests must be handled gracefully.
- Application changes must be rolled out carefully.
- The databases must be synchronized across all the locations.
Hybrid and multicloud deployment archetypes
Hybrid or multicloud topologies require more effort to set up and operate than an architecture that uses only Google Cloud.
- Resources must be managed consistently across the on-premises and Google Cloud topologies. To manage containerized hybrid applications, you can use solutions like GKE Enterprise, which is a unified cloud operating model to provision, update, and optimize Kubernetes clusters in multiple locations.
- You need a way to efficiently provision and manage resources across multiple platforms. Tools like Terraform can help to reduce the provisioning effort.
- Security features and tools aren't standard across cloud platforms. Your security administrators need to acquire skills and expertise to manage the security of resources distributed across all the cloud platforms that you use.