In the technology world, the definition of multi-cloud is usually - choosing more than one cloud provider from among the usual suspects (AWS, Azure, GCP, etc.) to build your IT infrastructure. And the reasons given for choosing a multi-cloud setup are various - risk management, avoiding lock-in and reliance on one provider, compliance with regulatory requirements, etc.
This recommendation usually comes from cloud providers who want to make inroads into each other's customer base and service providers and IT consulting firms who have lots to gain from complexity. The complexity that comes from companies creating infrastructure setups involving multiple clouds and their unique concepts.
It is debatable whether a business really benefits from such multi-cloud setups. Both from the perspective of standardization as well as affordability, one can argue that large enterprises are better off staying with one cloud:
Regardless, multi-cloud is a popular topic among large enterprise IT decision-makers. The hype has worked.
In my experience, smaller companies tend to be more pragmatic practitioners of multi-cloud. However, the specific multi-cloud aspect of their apps and infrastructure is not usually discussed in popular tech literature. Most smaller companies adopt multi-cloud architectures almost by necessity. They have two needs:
In fact, tech startups and small development teams are increasingly picking some combination of the below services:
When they do this, "Adopting a Multi-Cloud strategy" is not the thing they have in mind. They are merely looking to compose their apps together using the best tools in the market. They are trying to get to their desired results faster and in an economically viable manner. However, what they do is essentially what a good Multi-Cloud setup looks like. In many cases, they don’t really care where these different “component service” providers build their services. Any concern around the manageability of these multiple providers is also much smaller than the alternatives - building this functionality yourself or using an inferior alternative from someone who is focused on much more horizontal problems.
An argument can be made that if you go with a large cloud provider (AWS, Azure, GCP, etc.), all your needs can be met within one provider. They have both infrastructure (IaaS) and managed (PaaS) services for every building block needed by application developers. However, the reality is that modern app builders are not only choosing lighter-weight specialized tools for the job but actively experimenting with non-mega-providers. This is spurring on smaller providers to continue to identify and service specialized use case scenarios and underserved audiences through hyper-focused solutions. Composing apps using best-of-breed services from experts in their respective areas is a trend that will continue to grow, and we all will benefit from it.