Is a multi-cloud strategy a good idea?
Cloud computing is one of the biggest technological advancements in modern IT and technology business operations. If done right, you can field scalable, secure and performant infrastructure with smaller supporting teams. If done wrong, it could be more costly and more difficult to manage than hosting workloads on-premise.
When IT and tech teams are considering a move to the public cloud, an early strategic discussion should include whether to have a multi-cloud strategy. Hosting across multiple public cloud providers (AWS, Azure, GCP, etc.), or even in a hybrid scenario where some resources remain on-premise, has benefits and drawbacks which should be considered before building a strategic roadmap and budget planning.
Why would someone even consider having workloads in multiple public clouds? Does this even make sense? The answers to those questions really depend on the organization. There are many reasons, some planned and others not.
For instance, maybe an organization started deploying resources in one cloud provider but found a key feature they needed was lacking and started looking at a competitor. Mergers and acquisitions may bring new workloads on board from another provider. Perhaps there were technical leadership changes. Poor or haphazard planning can also contribute. Some leaders have a fear of “putting all their eggs in one basket.” In this case, the fear is that if the cloud provider changes its business practices or suffers a massive outage, you (and your customers) are now the downstream recipient of the impact and left holding the bag.
All of these are valid concerns (except poor planning) and need to be considered. That said, there are several negatives that I believe outweigh the need for a multi-cloud strategy.
First, managing multiple cloud providers is difficult. Yes, they do essentially provide the same services, but each provider has strengths and weaknesses. For example, Azure AKS and AWS EKS are both PaaS versions of Kubernetes, but they have different feature sets. Your engineering teams will have to learn both.
Recommended by LinkedIn
Public cloud providers all do business differently and it isn’t always just technical. Your infrastructure, SecOps and SRE teams will be double taxed in trying to support multiple platforms, especially if you have smaller teams. Vendor management becomes a challenge as you now have multiple account managers, TAMs and support ecosystems to manage and coordinate. The complexity of deploying and managing infrastructure is also multiplied meaning more code to support. The more environments you have, the harder it is to maintain.
Second, it’s usually more expensive. Cloud provider discounts are tied to the amount of spend you forecast for the life of the agreement with that provider. If you are splitting your workloads across cloud providers, you are losing out on some of that incentive. Also, sending data across cloud providers costs money. Often you can architect applications and services to better minimize data transfer costs if kept within a single cloud ecosystem.
Third, application performance and architecture are easier if you focus on one cloud ecosystem. Having a single pane of glass to worry about can improve your focus and deployment architecture to ensure application performance and latency are minimized. Monitoring and latency can be a complex problem when shipping data between cloud providers. Cloud provider PaaS solutions are built to work with each other within their shared ecosystem, often giving you out of the box observability and security options without the need for third party solutions. Plus, managing one cloud provider allows your platform and SRE teams to focus on improving client and development experiences instead of being spread too thin.
There are plenty more examples of why I am not a fan of a multi-cloud strategy, but I digress. For those worried about the “all eggs in one basket” issue, I would push back and say, “Be cloud agnostic and multi-region, not multi-cloud.” By that I mean, ensure your workloads are architected in a way that if you had to make a business decision to migrate to another region, on-prem, or another provider, you could do that with minimal pain through automation. But that’s a post for another day.
The benefits of cloud computing overwhelmingly outweigh the negatives in most scenarios, if done right and with proper planning. Being mindful of your cloud strategy can make or break a technology or IT leader. It’s an important decision for any organization looking at cloud as the future.
Great points across the board Rob C.! My philosophy is just pick one, like you would do for your CRM platform. Build apps to be cloud agnostic and transportable if you are concerned about “lock in”.