Hybrid and multicloud architecture patterns

This document is the second of three documents in a set. It discusses common hybrid andmulticloud architecture patterns. It also describes the scenarios that thesepatterns are best suited for. Finally, it provides the best practices you canuse when deploying such architectures in Google Cloud.

The document set for hybrid and multicloud architecture patterns consists ofthese parts:

Every enterprise has a unique portfolio of application workloads that placerequirements and constraints on the architecture of a hybrid or multicloudsetup. Although you must design and tailor your architecture to meet theseconstraints and requirements, you can rely on some common patterns to define the foundational architecture.

An architecture pattern is a repeatable way to structure multiple functionalcomponents of a technology solution, application, or service to create areusable solution that addresses certain requirements or use cases. Acloud-based technology solution is often made of several distinct anddistributed cloud services. These services collaborate to deliver requiredfunctionality. In this context, each service is considered a functionalcomponent of the technology solution. Similarly, an application can consist ofmultiple functional tiers, modules, or services, and each can represent afunctional component of the application architecture. Such an architecture canbe standardized to address specific business use cases and serve as afoundational, reusable pattern.

To generally define an architecture pattern for an application or solution,identify and define the following:

  • The components of the solution or application.
  • The expected functions for each component—for example, frontendfunctions to provide a graphical user interface or backend functions toprovide data access.
  • How the components communicate with each other and with external systemsor users. In modern applications, these components interact throughwell-defined interfaces or APIs. There are a wide range of communicationmodels such as asynchronous and synchronous, request-response, orqueue-based.

The following are the two main categories of hybrid and multicloud architecturepatterns:

  • Distributed architecture patterns:These patterns rely on a distributed deployment of workloads or applicationcomponents. That means they run an application (or specific components ofthat application) in the computing environment that suits the pattern best.Doing so lets the pattern capitalize on the different properties andcharacteristics of distributed and interconnected computing environments.
  • Redundant architecture patterns:These patterns are based on redundant deployments of workloads. In thesepatterns, you deploy the same applications and their components in multiplecomputing environments. The goal is to either increase the performancecapacity or resiliency of an application, or to replicate an existingenvironment for development and testing.

When you implement the architecture pattern that you select, you must use asuitabledeployment archetype.Deployment archetypes are zonal, regional, multi-regional, or global. Thisselection forms the basis for constructing application-specific deploymentarchitectures. Each deployment archetype defines a combination of failuredomains within which an application can operate. These failure domains canencompass one or moreGoogle Cloud zones or regions,and can be expanded to include your on-premises data centers or failure domainsin other cloud providers.

This series contains the following pages:

Contributors

Author:Marwan Al Shawi | Partner Customer Engineer

Other contributors:

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-10-24 UTC.