Most medium-to-large enterprises work with two or more cloud service providers to avoid over dependence on a single provider and to enable the rapid launch of innovative solutions. It also allows them to optimize services and costs through negotiations. The latest state of the cloud report by Flexera shows that 92 percent of the enterprises have a multicloud strategy, while 80 percent have a hybrid cloud strategy. A survey of public cloud users by Gartner reveals that 81 percent of enterprises are working with two or more providers.
However, before starting your multicloud journey, it is important to differentiate between various overlapping terms related to cloud deployment models, such as multicloud, hybrid cloud and polycloud. Your cloud strategy depends on multiple factors like what deployment model you are choosing for the type of workload, which workloads are required to stay on premise and which workloads are targeted to run in multiple cloud service providers (referred as CSP, henceforth) etc. This, in turn, influences your technology stack choices i.e., when and how to use cloud specialized services (like serverless) vs. when to embrace cloud portability via cloud-managed services, or open source frameworks on the cloud.
Let's start with simplifying the cloud deployment models:
The five kinds of cloud models
Most enterprises start their cloud journey with mono cloud i.e., one public / private CSP across the entire enterprise. Any custom workload that needs to run in the cloud runs on this CSP.
A hybrid cloud model applies where an application runs in combination with a public / private CSP and on-premise infrastructure using compute, storage and services from these different environments. For example, many financial services enterprises adopt this approach to meet regulatory compliance related to data privacy and choose to keep sensitive workload on premises. However, less critical parts of the application or consumer-facing high-volume workloads are hosted on public cloud providers.
Enterprises adopt hybrid cloud approach in the following ways:
When migrating workloads to the cloud, small batches are migrated in an incremental approach while some parts remain on premise
If certain workloads or components of an application can’t be moved to cloud due to security and compliance reasons, then integration between cloud and on premise workload can be achieved via event-based asynchronous architecture or command-query pattern
Sometimes, enterprise data is moved to the cloud to build a data lake or visual analytics while the applications remain on-premises
When enterprises start exploring two or more public CSPs based on factors like feature fitment, cost, service maturity, geographical availability of services, etc, then it is a polycloud strategy. An enterprise may define sensible defaults for all teams to follow e.g., using GCP for all ML workloads, Azure for all Microsoft office workloads and AWS for all containerized workloads.
A polycloud strategy focuses on using best-of-breed services from one CSP. It helps developers by providing sensible defaults rather than confusing them with too many options. A polycloud strategy recommends using CSP specialized services to fully leverage underlying cloud platforms. Workload portability is not a key concern here and the focus is more on innovating faster by leveraging the potential of CSP fully.
Things start getting more complicated when an enterprise requires cloud portability for workloads to address the following concerns:
Too much dependence on a single CSP
Disaster recovery set up on a different CSP as a part of regulatory compliance (typically applies to financial services enterprises)
Run workloads on different CSPs in different geographies (sometimes, it could be due to geopolitical reasons or to avoid latency issues related to data center locations)
Multicloud strategy becomes relevant when there is a choice of cloud services for a single application and the ability to port the application across CSPs is needed. It is critical when you need your applications running in active-active or active-passive mode across CSPs depending on the business need. Cloud portability is the key focus during the architecture and technology stack choice.
Distributed cloud refers to a geographically distributed architecture model where multiple cloud services providers, on premise and edge infrastructure are leveraged and centrally managed by one public cloud provider to meet scaling, performance and compliance requirements. As Gartner research states "'Distributed Cloud' fixes what 'Hybrid Cloud’ breaks." It provides consistent control planes, ownership and centralized governance for better cloud management.
To summarize, the cloud deployment models add increasing complexity, time and effort needed in the cloud-adoption journey of an enterprise. Here’s a representation of what we mean:
Complexity and maturity increases along the journey
Once there is a clear understanding of these deployment models, the next step is to define your cloud strategy or cloud operating model that spans across technology stack, processes and people. An assessment framework is needed to decide which deployment model is more suited for what type of workloads and how to make technology stack choices.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.