A multi-cloud strategy refers to the conscious, strategic decision of a business or organisation to split their public cloud usage between more than one infrastructure-as-a-service (IAAS) vendor. For example, an organisation may host its application frontends with Amazon Web Services (AWS) and backend functions or Exchange servers with Microsoft Azure.
A multi-cloud strategy always involves splitting computing workloads between more than one public cloud provider. That’s by contrast to a hybrid cloud strategy, which refers to the combination of public and private clouds. A multi-cloud strategy can also involve a private cloud and simultaneously qualify as a hybrid approach but the defining quality is the use of at least two public cloud infrastructures in combination.
Agile & DevOps teams and consultants
Supercharge your next cloud development project!
Some organisations have a multi-cloud reality without it being a strategy. If there is no defined company policy and business units, departments and software development teams have the autonomy to choose what public cloud platform they use for their own needs, and workloads from one company can be split between multiple public cloud services. But to qualify as a strategy, the use of multiple public cloud platforms must be a defined and managed organisational policy.
There can be a number of different reasons why an organisation may choose to pursue a multi-cloud strategy from legal and regulatory requirements to cost efficiencies, cyber security and spreading risk by avoiding vendor lock-in and diversifying potential points of failure.
However, “multi-cloud strategy” has also become something of an IT sector buzzword and is sometimes pursued at great expense, effort and disruption without really clear or defined reasons why it is important to a particular organisation’s strategic needs or IT performance. In these circumstances, “avoiding vendor lock-in”, is the most commonly cited reason for a multi-cloud strategy.
And while over-reliance on one vendor is generally a good thing to avoid, the real risk of being locked into relying on a single major public cloud computing provider can often be overstated – something we’ll go into in more detail.
The bottom line is, whether the context is IT infrastructure or anything else, additional complexity should not be lightly introduced. A multi-cloud strategy should only be considered when it is either necessary or will clearly bring more benefits than the operational cost of adding complexity to an IT infrastructure.
If you are considering pursuing a multi-cloud strategy and questioning the need, this blog will look at the advantages a multi-cloud approach brings in different circumstances and highlight some of the core qualifying questions you should be asking. And we’ll also highlight some important reasons why a multi-cloud strategy may not, in fact, be worth the trouble.
Data published by market research and data company Statista indicates a large majority of businesses now use more than one IaaS public cloud company. As much as 90% of large enterprises had adopted a multi-cloud approach by 2021 and the figure is expected to rise to 94% by 2023. Even a majority (60%) of small businesses are now using more than one IaaS cloud platform but that is expected to leap by almost 20% to 79% by 2023. Over three-quarters of mid-sized companies have a multi-cloud strategy, which is expected to grow to 84% by 2023.
It is clear multi-cloud strategies now dominate the IaaS market, though it should be added that not all market research shows quite the same level of multi-cloud adoption as the Statista data. For example, a 2020 Bain & Company survey found that 71% of companies who responded still relied on only one cloud provider despite two-thirds of CIOs saying they would prefer to use cloud services from multiple IaaS vendors to avoid lock-in. Of the 29% of respondents who did use more than one vendor, 95% of cloud spend was still with one provider.
As an IT services provider working with a range of clients from multinational enterprises to funded start-ups, our on-the-ground experience with K&C clients is closer to the Bain & Company data than Statista’s. Our largest clients all officially have a multi-cloud strategy. But practically, it’s relatively unusual for a single user-facing application’s loads to be split between multiple public cloud providers. The most common example of an active multi-cloud strategy is one used to split loads involving more sensitive data out into a more secure cloud environment.
But there are any number of different reasons why a company might choose to pursue a multi-cloud strategy in particular circumstances.
For some organisations, a multi-cloud strategy is an important part of both IT/app performance and cost optimisation. While all the major public cloud platform providers offer variations on the same basic service, they also each have their own strengths, weaknesses and proprietary functionalities and tooling.
Geography can also be a factor. For example, AWS offers global coverage and has a clear advantage over Alibaba Cloud in Europe and North America because it currently has far more data centre sites in those regions. A Chinese company using Alibaba Cloud might, therefore, adopt a multi-cloud strategy as part of an international expansion into Europe, North or South America.
A well-managed multi-cloud strategy allows an organisation the luxury of freedom to smoothly move different workloads between providers – optimising the benefit gained from the strengths of each provider while neutralising their weaknesses. In this way, a single user transaction can seamlessly leverage multiple providers – a scenario not uncommon for organisations with a well-developed and executed multi-cloud strategy.
However, for cost savings and performance benefits to be significant enough to justify a multi-cloud strategy, a certain level of scale can usually be presumed. But setting aside the qualifying details for now (we’ll come back to them), the most commonly cited advantages of a multi-cloud strategy are:
With two sides to every coin, there are also downsides to the adoption of a multi-cloud strategy. Some of the most prominent are:
Let’s go into some more detail on particular circumstances in which a multi-cloud strategy might bring significant benefits. And others where it’s probably not worth introducing the additional complexity.
Can We Help You With Your Next Software Development Project?
Flexible models to fit your needs!
If these factors are priorities for your organisation and are not outweighed by those covered in the next section, then it sounds like a multi-cloud strategy could be a good fit:
Escaping the risks of vendor lock-in is a common strategic catalyst behind the adoption of a multi-cloud strategy.
This means workloads can be transferred depending on which provider offers the best pricing model for specific resources required or has capabilities that optimise performance. But most importantly, from a strategic point of view, it transfers the balance of power from the provider to you.
If you are an enterprise-level user, you’ll be in a stronger position to potentially negotiate a custom price plan or other concessions. And you won’t be exposed to your cloud provider representing a potential point of failure. Or be faced with the headache or expense of a major redesign app architecture across the entire organisation if you want to move workloads from one cloud provider to another for any reason.
However, there are also several reasons why vendor lock-in is not necessarily always the ‘to be avoided if possible’ scenario it is often represented as. Building for and running workloads on a single IaaS platform allows you to optimise specifically for that platform and best leverage its native tools and features. We’ll go into more detail in the next section on why vendor lock-in worries can be exaggerated.
Building apps to be cloud agnostic as part of a multi-cloud strategy does mean a larger upfront allocation of resources. It takes more time and requires specialist knowledge and experience. And applications and workloads are rarely truly cloud-agnostic with some level of customisation or tuning almost always required.
But that front-loaded allocation of additional resources can potentially save an organisation from much larger expenses and headaches further down the line. Being able to switch workloads to the cloud provider that offers the best price to features balance for a particular workload at any given time could mean much more significant savings than the extra initial development cost – but only at a certain level of scale.
In the early days of public cloud platforms, the resource was essentially just IaaS (infrastructure as a service) and involved the use of APIs to access elastic server resource. A ‘workload’ was basically data attached to an approximate idea of how it would be processed.
Today’s cloud is a much more sophisticated beast. The definition of what a ‘workload’ is has evolved into a set of components that support an application. Each of those components might be better suited to one cloud platform than another. That would mean optimal performance of the app would be achieved through running different components on different cloud platforms.
The good news is running different components of a single app on different clouds is now absolutely possible – if they have been developed to be cloud agnostic and can be seamlessly switched between providers.
For some organisations, especially at an enterprise level, incremental improvement in workload running performance between public cloud providers can more than justify the increase in costs to develop apps cloud agnostically.
A multi-cloud strategy negates the risk of any significant app downtime. If the primary cloud encounters difficulties in processing a particular service, for example, an e-commerce transaction, another cloud acts as the failover solution, taking over the processing of the service. The user will be none the wiser. Once the original cloud resumes normal function, the operations can automatically be handed back to it.
And while major outages are rare they do happen. There is always some risk of a major or minor outage disrupting the services provided by one vendor. If it’s critical an app has as close to 100% availability at all times, a multi-cloud strategy is a necessity.
A multi-cloud strategy is also an insurance policy again DDoS attacks that can not only take a site or application down but keep it down. One negative side-effect of the growth of cloud deployments is that the trend has been shadowed by a reflective growth in brute-force DDoS attacks but multi-cloud deployment adds an additional level of robustness against the threat. If the primary cloud platform suffers a DDoS attack, the load will automatically and seamlessly shift to another cloud environment, keeping the application up and running.
In conclusion, the benefits of a multi-cloud approach can be lower long-term costs, better app performance, improved reliability, tighter security and the strategic avoidance of over-reliance on a single third-party provider.
There is almost never one single IT infrastructure or software development choice that is definitively the most suitable for every single organisation and every app in every circumstance. A multi-cloud strategy to is no different. You may not be ready for, or necessarily benefit from, a multi-cloud approach.
What are the factors that might indicate a multi-cloud strategy should not be your priority?
Organisations that focus their development on a single public cloud vendor’s technology stack are the most common exception to the multi-cloud trend. And as the biggest providers, especially AWS but not only, continue to add fantastic native tooling for developers to leverage, there is an increasingly valid argument why app architectures should be native to a particular public cloud,
The question that anyone not currently pursuing a multi-cloud strategy must ask themselves is:
“Are the cost and performance benefits to be gained from cloud agnostic development for a multi-cloud strategy strategically significant? Are the strategic risks associated with relying on just one public cloud vendor relatively high?”
Unless the answer to one or both of those questions is a definitive yes, there is an argument that it may not be necessary to allocate resources to a multi-cloud strategy.
Mastering the DevOps needed to run workloads effectively on one cloud is not easy. It requires an investment in either training people or recruiting experience. A multi-cloud strategy multiplies that investment across different clouds. An organisation needs to invest in having experts that deeply understand the nuances and particularities of each cloud in a multi-cloud setup.
If that DevOps resource is not available, the organisation runs the risk of inverting the very benefits a multi-cloud strategy is supposed to offer – cost, performance, agility and innovation.
All public cloud platforms offer the same lowest common denominator services of computing, storage, and networking. Workloads that only want, or need, to take advantage of those basic public cloud services can be containerised and developed as cloud agnostic.
However, the moment your engineers want to use unique, higher-order features of a particular cloud vendor, like Amazon EBS for EC-2 instances, or Azure’s Cosmos DB, applications lose portability across clouds. True cloud agnostic development that offers consistent management across different clouds precludes the use of unique and native features and tools.
For larger organisations with sufficient expertise across different clouds, a multi-cloud strategy can still take advantage of unique features of different clouds by building certain applications, or components, to run on particular vendor platforms. And switching workloads that only take advantage of common storage, compute and network functionalities between clouds as and when that makes sense.
But that isn’t practical for every organisation and it may well make sense to develop for one cloud platform that engineers are experts in and offers unique and higher-level features that best meet your needs.
A multi-cloud strategy often appeals to management and C-Suite priorities more than it does to an organisation’s DevOps teams and the management responsible for the performance of individual applications. Especially if development capacity and expertise are limited.
There are, as we’ve seen, advantages, and disadvantages/risks, to both a multi-cloud strategy and one that develops a deeper relationship with (or dependency on) a single public cloud provider.
Which is right for you both depends on your organisation’s business and digital priorities, resources and technology needs. Despite the strong trend towards a multi-cloud strategy, particularly at the enterprise level, it isn’t always necessarily the best fit in every case.
Under the right circumstances, a multi-cloud strategy can save a lot of money, improve performance, reliability, security and flexibility. Under the wrong circumstances, the result can be the opposite.
Make sure your organisation carries out an analytical review of the pluses and minuses of multi-cloud strategy in your particular context.
And if input from a team that’s seen the best and worst outcomes of multi-cloud strategies would help you reach an informed decision, get in touch. K&C is at your service!
K&C - Creating Beautiful Technology Solutions For 20+ Years . Can We Be Your Competitive Edge?
Drop us a line to discuss your needs or next project