We've heard – and used – the term 'multicloud' for a while now but, like most industry terms, it can be defined differently by different groups. So in our just released 2020 Global DevSecOps Survey we asked 3652 people from 21 countries across 19 job categories what multicloud actually means to them.
The majority of respondents (36%) said multicloud means the ability to deploy some applications on Azure, some on AWS, and some on Google. Almost 35% said they thought it meant deploying applications across multiple cloud providers with different components on different clouds. And finally almost 29% said it meant being able to move an app from one cloud provider to another.
It got even more interesting when we asked them to describe how multicloud is used in their organizations. A clear majority aren't doing "multicloud" yet - their teams use one cloud provider only, or none at all. (For context, over 18% of survey respondents said their organizations are not currently using any cloud provider.)
We don't use multi cloud here. Not yet.
We will deploy to the cloud the customer requires. But the whole application sits on one cloud.
We don't, on purpose, because we do not subscribe to the vendor lock-in argument and therefore multi-cloud would require more resources than we feel it is worth.
Others took the term multicloud literally, saying their teams use several different platforms.
We have moved workloads from one provider to another to address performance issues.
Multiple clouds used for different purposes and some on prem hyperconverged thrown into the mix.
We use different cloud providers for different projects.
We use Digital Ocean + GCP + AWS
And some took multicloud further.
We're switching between providers while testing new functionalities for our innovative apps.
We built our own PaaS based on Kubernetes. This system could be deployed/provisioned on any K8S ready public cloud provider or to any other compatible hosting system.
For us "multicloud" means simultaneously using multiple cloud providers, not just ability to migrate apps between them.
We avoid vendor lock-in by being able to run on any cloud seamlessly
Defining the stages
So is there a single definition of multicloud? The answer is yes, but… Our CEO Sid Sijbrandij argues that multicloud isn't something static but rather a series of staged workflows that mean different things to organizations depending on where they are in their DevOps journey. His maturity model consists of seven stages, starting with everything on a single cloud and ending with true data portability in multiple clouds.
William Chia, senior product marketing manager for cloud native and GitOps, suggests starting by asking the question "Where are your workloads running?" For many organizations the answer will be one workload is running on one cloud and another workload might be running in a different cloud – the team is using multiple clouds. This is an early stage of maturity on the journey to multicloud adoption.
A team might want to be able to deploy the same workload to different clouds, a step that would help avoid vendor lock-in, provide backup coverage in case of failures, and perhaps offer some leverage that might help with costs, William explains. But there's a serious trade-off in that step because the engineering resources required to create a platform to deploy to multiple clouds are significant.
"The Utopian goal of getting to a place where you can have the same workloads on multiple clouds easily is not necessarily desirable for everyone or even the majority of people," William says. "It costs a lot to do that and you need to have the engineering staff who understand both clouds. There's a high cost to multicloud."
The final stages of multicloud, which William says today represents just a small fraction of companies today, is where the same application is deployed to different clouds and workloads as well as data for can be dynamically shifted between multiple clouds.
So the often-used term "multicloud" does legitimately have evolving definitions and that will likely continue as DevOps matures. One step on the multicloud journey that unlocks powerful benefits with little overhead is the jump to workflow portability. While most companies aren't close to the highest reaches of multicloud maturity, almost any company can get started down the path. It's clear that the best implementations take into consideration the tradeoffs and choose right amount of multicloud for the task at hand.
Read more about multicloud:
Leverage GitLab CI/CD to get the most out of multicloud
The role cloud-agnostic DevOps can play
Seven best practices for multicloud security
“The term multicloud has a number of different meanings. Here's @gitlab's take.” – Valerie Silverthorne
Click to tweet