The popularity of cloud infrastructure has risen rapidly over the last few years. An upward trend in adoption got boosted by the pandemic and the need to rapidly provision services to support remote work. The term cloud itself has become a bit nebulous (pun intended) as the number of services available has grown. Today when people talk of cloud services, they include software as a service (SaaS), infrastructure as a service (IaaS), platform as a service (PaaS), and more.
What is Multi-Cloud?
Many providers now offer services in the cloud. There are big players such as Amazon, Microsoft, and Google, as well as many mid-range and specialty providers targeting SMEs and niche sectors. The myriad number of providers of cloud services has led to many CTOs adopting a multi-cloud strategy. VMware-sponsored research from mid-2022 of just over 2,100 technology executives highlighted that over 87% were using two or more cloud providers to deliver IT infrastructure and services in their organizations (see ref 1 for a link to the report called Achieving Better Control in a Multi-Cloud Estate). Gartner also reported as early as 2019 that 81% of organizations were using two or more cloud providers (ref 2).
Another indicator of the ongoing adoption of cloud services comes from Flexera’s 2022 State of the Cloud Report. This showed that over a third of enterprise customers spend over $12 million per year on public cloud services (ref 3).
The term multi-cloud often gets used as a synonym for a hybrid cloud that uses services and infrastructure from multiple public cloud providers and also from private clouds, data centers, on-premise infrastructure, and increasingly edge computing infrastructure. This usage is not technically correct, as multi-cloud should only describe the scenario where multiple public-cloud services get used. We focus on public multi-cloud use in this article, but many of the points outlined apply to hybrid clouds.
Read on for an overview of the benefits of using a multi-cloud approach, why you need to focus on costs, and some potential downsides to the approach that you should consider. Overall, multi-cloud is an appealing deployment model for most organizations, but it needs to be an informed choice to realize the maximum benefits.
Benefits of Multi-Cloud Adoption
The benefits of multi-cloud deployments are on several fronts. They include:
Flexibility in service choice – Even though the leading public cloud providers offer hundreds of products and services (see refs 4 & 5 for current AWS and Azure product lists), they are not identical. Even when there is overlap, each cloud vendor will take a different approach. Using multiple cloud providers enables your organization to choose the cloud vendor and service that best delivers the needs of the task.
Increased agility – The option to select from multiple vendors provides more choice, which means that development teams can build solutions more quickly. This means there is a shorter time to market and an increased rate of innovation in solutions for staff, business partners, clients, and customers.
Faster time to market – The agility to choose the most appropriate service from a specific cloud vendor enables a quick turnaround from the time of the identification of a business need, to a deployed (and secure) solution to deliver on that need. Organizations are moving from a single-cloud provider view to a multi-cloud model.
Reduce vendor lock-in – Vendor lock-in has been a concern for decades, and it hasn’t gone away in the era of cloud deployment. Choosing services to meet particular project needs from multiple cloud providers alleviates potential cloud vendor lock-in. Using products and services from different providers also allows your IT team to build up knowledge across the competing platforms, which feeds into better decisions for future projects regarding which cloud is best suited to deliver what is needed.
Cost optimization – The costs for a particular service often vary between providers. Having the ability to choose from multiple cloud providers allows the cost of the service to play a part in the decision-making process. For example, if a new project needs a lot of storage, then even a small difference in the storage cost will be significant over time and as the data increases.
Easier recruitment – Using multiple cloud services also makes it easier to hire skilled staff in the ultra-competitive IT job market. It allows you to cast your recruitment net in a larger talent pool. And if you hire an AWS expert they can be trained in Azure over time or trained on any other cloud service on which they are not experts.
Built-in redundancy – Cloud service outages are rare but not unknown. On the few occasions that AWS West has been offline, it felt like a significant portion of the Internet went down with it. Of course, the leading cloud providers now have multiple regional zones that span the globe, and redundancy and resilience can be enhanced by placing services in different regions. Organizations can take this resilience to another level by placing services with multiple cloud providers across the globe. So if there is an Azure problem, your AWS or other cloud-hosted solutions will still be available. And vice versa. In many instances, each application will be running wholly from a single provider’s cloud so that specific application may be unavailable. But other applications running in another provider’s cloud will remain online.
Technology portability – The main cloud providers all support similar technology stacks based on open-source and de facto standards, such as Kubernetes-managed containers. This allows solutions to be platform agnostic in virtual machines or containers. Doing this will enable applications and solutions to be hosted on the provider of choice and migrated between them as needed. This can feed into the redundancy discussed above by adding another level of resilience to allow deployments that work across cloud providers and mitigate any service outages, or disadvantageous price changes. This technology reuse also reduces the skills needed to manage deployments across clouds. Deployment via platform-agnostic containers also makes application development and deployment more portable and simplifies the tasks for DevOps teams. Portability also helps eliminate issues around data sovereignty lock-in that can arise if a particular storage service is selected and then becomes critical to the business.
Managing Costs
Deployment to the cloud is not a panacea that delivers digital nirvana simply by itself. This is true for whatever cloud model is in place: a single cloud provider or a multi-cloud provider model.
Continuous monitoring of all deployed services across the multiple clouds is vital if the benefits are to be realized and the costs controlled. Costs for cloud hosting can ramp up pretty quickly if they are not actively managed. This can lead to inflated bills for the services and the negation of any cost benefits that the organization hoped to achieve. This cost issue can, in turn, taint feelings toward the technical benefits that flow from the agility of the cloud. To quote Dee-Dee Atta, Group Product Marketing Manager for VMware Cloud Universal (ref 6):
“Consumption planning is essential in a subscription-based cloud operating model for financial forecasting, capacity planning, asset utilization, and performance benchmarking of actual to planned business outcomes.”
It’s worth mentioning that some large- and mid-sized organizations that have been using the cloud for several years have evaluated their costs and, in some instances, determined that a private data center approach is more cost effective than cloud use. This determination will be unique for every business. A recent example comes from 37 Signals, developers of Basecamp and the HEY email service. They outline the thinking behind their decision to move from the public cloud to a private data center in Season 2, Episode 37 of The Rework Podcast – Leaving the Cloud (ref 7).
Self-hosting isn’t for everyone, but that 30-minute discussion provides plenty of points that every organization should consider when deciding on its optimal deployment model.
Downsides You Need to Consider
In addition to keeping a close eye on costs, a few other areas may factor as downsides when a multi-cloud approach gets considered. They include:
Cross-cloud management – With multiple cloud providers, there will be servers, storage, networks, virtual machines, containers, accounts, and cybersecurity to manage across the platforms. This can be an overhead if they have to be tracked separately for each platform and can lead to management silos. Teams can mitigate this by using the technology portability options mentioned previously (containers and Kubernetes, for example). Solutions to address this are available to give a single pane of glass management console across multiple cloud instances.
API differences – If organizations are developing applications that tie into the core cloud platforms, there will be API and interface differences between the providers. These differences can cause lock-in or lead to different code bases on each cloud. This needs to factor into decisions about what services to use from each provider. Developing using open-source APIs that are available everywhere will mitigate this issue.
Service sprawl – When virtual machines made on-premise technology deployment much easier and more rapid, the problem of VM sprawl materialized. It was so easy to commission new virtual machines that hundreds or thousands were created and used in many organizations. This sprawl led to the development of sophisticated tools to monitor VM use to allow the decommissioning of any not required. The same problem can arise with multi-cloud deployments. It’s straightforward for new services to be commissioned and then not decommissioned when no longer needed. In the cloud scenario, these zombie services will still be incurring costs.
Cybersecurity – Deploying many services across cloud providers increases the organization’s attack surface. Contrary to what some people think, deploying to the cloud does not transfer responsibility for systems and data security onto the cloud provider. When deploying to multiple clouds, you need to make sure that cybersecurity is at the heart of all considerations and decisions.
Conclusion
Deploying applications and infrastructure via multiple cloud providers has tangible benefits, but the decision to use this deployment model has to be an informed one. Consider the pros and cons of each project on a case-by-case basis and deploy to the cloud provider that makes the most sense from a technology and cost perspective. While at the same time keeping an eye on the broader picture to allow the use of multiple cloud providers to deliver redundancy and resilience. Also, don’t forget to evaluate whether a private data center for a particular need would be a better fit. In most cases it won’t be, but for those that it is, they will get the best outcome by considering all options.
References
1. VMware: Achieving Better Control in a Multi-Cloud Estate. Available from https://cio.vmware.com/2022/10/multi-cloud-accelerating-modern-it-strategy.html
2. Gartner: Why Organizations Choose a Multicloud Strategy https://www.gartner.com/smarterwithgartner/why-organizations-choose-a-multicloud-strategy
3. FLEXERA: 2022 State of the Cloud Report. Available from https://info.flexera.com/CM-REPORT-State-of-the-Cloud
4. Amazon: AWS Cloud Products list https://aws.amazon.com/products/
5. Microsoft: List of Azure products https://azure.microsoft.com/en-us/products/
6. CIO news site: Multi-cloud adoption and consumption trends https://www.cio.com/article/309538/multi-cloud-adoption-and-consumption-trends.html
7. 37 Signals: The Rework Podcast – Leaving the Cloud https://www.rework.fm/leaving-the-cloud/
8. VMware: CIO Essential Guidance: Managing Multi-Cloud. PDF available from https://cio.vmware.com/2022/10/five-key-characteristics-of-a-unified-multi-cloud-strategy.html