As the Chief Technology Officer of a company in the revolutionary market of containers focused on the transformational segment of cloud native storage, I spend my time working with bleeding edge early adopters. I love working with architects and other CTOs who thrive on solving hard problems.
As fun as this is, as a business person, the hope is these early adopters aren’t outliers, but rather the first drops in what will be a downpour of adoption. Early customer adoption, of course, could turn out to be fleeting — and it’s important to be able to tell the difference. For instance, to use a consumer products analogy, how many articles have you read about virtual reality headsets that will finally lead to mass adoption? Sometimes markets take a while to develop.
I’ve often observed lately, while working with our growing mix of Fortune 1000 enterprises, government agencies and innovative startup customers; a concrete, strategic decision to adopt a multicloud approach to enterprise IT. So the question is if multicloud is a trend that is here to stay or a fad that only the most cutting edge will embrace?
My observations working with our customers is that multicloud is here to stay. A broader survey of the market also bears this argument out.
With earning season upon us, we’ve seen that while Amazon continues to dominate the cloud infrastructure market, its lead is starting to flag as Microsoft and Google as others make significant inroads. This multiquarter trend of gains from Microsoft and others points to a desire of many organizations to use clouds other than Amazon. But I also believe this trend does not primarily mean that they will use only other clouds.
Even major Amazon users are adopting an Amazon + 1 approach to cloud computing where the +1 could be another public cloud like Azure or Google or an on-premises data center. More generally, we are seeing some form of Public + Public as well as Public + Private deployments with almost all our customers.
Why Multicloud Is Strategic
Cloud native development and operations patterns are enabling an organization to adopt a multicloud strategy. Cloud native development enables organizations to build a portable software stack that is DevOps driven, free from vendor lock-in and capable of delivering a superior set of capabilities than can be gained from a single cloud. While these benefits are huge, there are several reasons that make multicloud operations strategic issues for enterprises.
- Reduce risk of service disruption
As IT becomes the center of competitiveness for nearly every enterprise today, companies have to think about being able to survive a widespread outage or security vulnerability. Multicloud operations spread the risk of service disruption across a larger surface area. Think of it as an investment-diversification strategy.
- Reduce pricing risk
While the cloud famously gave us hourly, and now even by-the-minute pricing, major deals in the cloud are negotiated, not bought at pricing off of the website. Simply put, you are in a much better position to negotiate if you can prove the ability to move workloads to another provider offering better terms.
- Pick the right (cloud) tool for the job
Lastly, despite the trend towards so-called commoditization, there are differences between clouds that lend themselves to app placement for reasons other than diversification and negotiating leverage. Some clouds are in certain regions whereas others are not. Some have better workflows for certain applications. Just as modern development teams don’t want central IT to tell them to use any database as long as it is Oracle, app teams don’t want to deploy in an environment that is ill-suited to the task at hand.
What Does a Multicloud Strategy Look Like Today?
With all this in mind, let’s look at some of the real-world applications of multicloud architectures that we are seeing today. Multicloud is a spectrum, with many customers doing one or more of the variants below. Additional, while some of these models have been used previously, they are taking on new meaning, importance, and in many cases, complexity as enterprises transition to distributed containerized applications. First, we’ll look at the multicloud models themselves, then we will look at how containers affect these patterns.
Dev in Cloud A, Production in Cloud B
This is probably the most common, and simplest, version of multicloud. Enterprise IT has been doing this for years. In the beginning, the most common model was to use the cloud for test and development, but run production applications on premises. This practice is still common, but sometimes the model is flipped. For example, an enterprise might do testing in a colocation facility because renting servers and virtualization yourself is cheaper, and more predictable, than paying hourly rates for VMs from Amazon. But you still want the multi-region abilities of Amazon or advance features like CloudFront CDN for your production environment.
Burst to Cloud
Another common multicloud approach that enterprises have been using for a number of years is cloud bursting, where their application typically runs in an on-premises environment, but during certain peak times, they will spin up additional capacity in the cloud. The goal of cloud bursting is to avoid the cost of buying enough hardware for peak capacity, when that hardware will sit underutilized for most of the time.
Multicloud Disaster Recovery
A newer, more complex, multicloud approach is cloud disaster recovery. This involves running a production application in one cloud or on-premises environment but maintaining a separate, up-to-date copy of the application in another environment. This is important because it is increasingly ill-advised to rely on a single cloud provider DR strategy. Due to physics, Cloud DR will typically involve a recovery point objective (RPO) that defines the maximum amount of data loss that you are willing to endure during a failure. This RPO could be hours or even days depending on the application.
Multicloud Operations of a Single Application
While the above multicloud models involve running completely distinct applications in separate environments, some applications run simultaneously in multiple clouds. For instance, representatives from GPS service Waze recently wrote in a joint post how “by running an active-active architecture across Google Cloud Platform (GCP) and AWS, we’re in a better position to survive a DNS DDOS attack, a regional failure — even a global failure of an entire cloud provider.” In this case, the same instance of an application runs across cloud providers. This is distinct from the multicloud disaster recovery model in that if one entire cloud goes offline, the RPO is theoretically zero, or at least, much smaller than in a traditional DR.
The holy grail of multicloud, but perhaps the least-common model in practice, is cloud arbitrage. In this model, workloads are dynamically placed in the environment with the most cost-competitive infrastructure at the time. The challenges are cloud arbitrage at the present point in time are great, and it is not common. But overtime, as tooling like Kubernetes improves, we might see more enterprises trying to arbitrage some parts of their applications requiring the most compute resources.
Containers and Data Management: The Keys to Multicloud.
As mentioned at the beginning of this post that most of our customers run some version of the multicloud operations highlighted above today. The key for these customers to really embrace multicloud has been two-fold.
One is the adoption of a container management platform like Kubernetes to handle the complex deployment and management of microservices across environments. Because each cloud or on-premises data center has a distinct hardware configuration and operating system environment, the isolation and dependency management of containers allows for consistent operations across heterogeneous environments.
Even with a container management platform, however, customers have had to find a solution for moving data between container environments and managing it within those environments. In fact, without a data management solution, not only are customers unable to execute multicloud workflows like multicloud DR or multicloud operations of a single application (important models for mitigating a major cloud failure), their negotiating position with cloud providers is significantly reduced. Because data is the heart of every application, cloud providers know that if you can only move stateless parts of an application to another environment, you can never truly go multicloud. Yes, they might lose 5-10 percent of a enterprises workload, but they will never lose more, because the data acts as a tether on mobility.
I am excited about the rapidly maturing world of multicloud operations. I think that with the cost and reliability incentives of multicloud operations being so high, multicloud is a trend that is here to stay. Needless to say, at Portworx, we’re happy to help.
Portworx and Google Cloud are sponsors of The New Stack.
Feature image via Pixabay.