Going by the most straightforward definition of multi-cloud – using two or more cloud services from two or more vendors – outsized numbers about multi-cloud adoption shouldn’t really surprise anyone, especially IT pros. It seems hard these days to not use at least a handful of cloud-based services.
But it’s not just an email and CRM story: It’s infrastructure and agility needs, too. In a recent Gartner survey of public cloud users, for example, 81 percent of respondents said they work with two or more providers. This at least partially reflects where we’re at in the cloud era: There’s growing organizational sophistication, and with that, growing ambition and creativity among IT leaders about how the cloud can best serve their business needs.
“Multi-cloud has become a strategic initiative for many enterprises, large and small,” says Amir Jerbi, CTO and cofounder at Aqua Security. “As the first wave of public cloud (IaaS) adoption is maturing, organizations are realizing that they do not want to become overly dependent on a single cloud provider, and also that on an ongoing basis there are varying degrees of efficiency that can be achieved by utilizing multiple cloud vendors and shifting workloads as necessary.”
[ Read our related article: Multi-cloud vs. hybrid cloud: What’s the difference? ]
There’s also plenty of ongoing change on the multi-cloud scene that comes with increasing adoption and use cases, as well as growing sophistication among IT teams that have learned more. We asked Jerbi and other IT leaders for their take on the key multi-cloud issues that CIOs and their teams should be monitoring. Here are five trends to note:
1. Multi-cloud becomes a more intentional strategy
Many organizations became multi-cloud in an almost accidental fashion. But multi-cloud is about to become a far more intentional strategy, according to Jerbi.
“While many organizations are already ‘multi-cloud’ in the sense that they may have different applications or workloads running on different public clouds, often due to different teams selecting cloud providers independently, this doesn’t mean they have a multi-cloud strategy,” Jerbi says of the initial boom in cloud usage.
That’s changing. “What we are increasingly seeing is multi-cloud becoming a deliberate strategy, which means making applications truly cloud-native and reducing architectural dependencies on a specific cloud service.”
Part of this is just natural evolution. A team that a couple of years ago might have been stumbling trying to figure out how to move a single application to a cloud environment might now be hitting a more sophisticated phase in its cloud strategy. Todd Matters, chief architect and co-founder at RackWare, notes that this is reflected in the growth of hybrid cloud environments – meaning a mix of public and private clouds as well as on-premises infrastructure – as a trend that overlaps multi-cloud strategy.
“For a long time, people were just wrestling with the cloud,” Matters says. “Now, as companies are getting comfortable with different private clouds and public clouds, we are beginning to see them put together true hybrid cloud strategies that span their data centers, their private clouds, and one or more public clouds.”
2. The cloud-native technology stack grows up
Intentional multi-cloud strategies mean more teams will need to rethink their technology stacks; otherwise, they’ll have a tougher time realizing achieving their goals.
“This has implications on the technology stack used, such as containers and Kubernetes, and on security, which now has to be built into the application development pipeline and have detection and control points attached to the workload rather than to the infrastructure,” Jerbi says.
[ How fast is Kubernetes gaining popularity? Check out Kubernetes by the numbers: 13 compelling stats ]
So if you’re tired of hearing the term “cloud-native,” you might want to invest in some noise-canceling headphones: It’s going to be a common topic in the broader IT conversation for the foreseeable future, in part because it represents a set of technologies that help teams realize the full potential of the multi-cloud approach.
As Gordon Haff, technology evangelist, Red Hat, notes, cloud-native is all about dynamism: “Cloud-native is really just a shorthand for modern application and infrastructure practices. It’s the recognition that businesses across essentially all industries are increasingly reliant on software that can be brought online quickly, adapt to changing marketplace requirements, and run on infrastructure that’s attuned to both rapid changes in demand and new workload types," says Haff.
“Expect cloud-native clusters across multiple clouds. A number of IT teams are coming round to utilizing containers and container orchestrators, Kubernetes in particular,” says Raghu Kishore Vempati, principal systems engineer for Innovation at Altran. “Enterprises can build solutions that are agnostic of the cloud vendor but are still capable of executing in a multi-cloud environment without any change. This helps organizations to model and predict the costs of running container clusters in [different] cloud environments provided by different vendors.”
It also helps teams worry more about the application than the infrastructure. That’s welcome news to many CIOs since their business applications are commonly their highest-profile assets and priorities, notes Sazzala Reddy, CTO and co-founder at Datrium. (Rare is the CEO or board member who’s keen on hearing more from the CIO about the nuances of bare metal versus virtual machines, on the other hand.)
“Ultimately, multi-cloud is not an infrastructure strategy,” Reddy says. “Multi-cloud is an application strategy and a business strategy. It is a means to an end. … CIOs [ultimately] care about their business applications.”
This is why the technologies that enable cloud-native development and architecture will continue to generate so much attention as multi-cloud use cases abound. As Siddharth Patnaik, principal architect at Walmart Labs, wrote in a Medium post about cloud-native application architecture earlier this year: “Cloud-native is about how applications are created and deployed, not where.”
[ Read also: How to explain cloud-native apps in plain English. ]
3. Cloud connectivity becomes critical
Again, by most definitions, many organizations “went multi-cloud” almost by accident. A related phenomenon is that this meant that integration and movement between cloud environments was a challenge, to say the least, if it occurred at all. But as multi-cloud strategies get normalized and optimized, IT leaders see this changing.
“Another trend to watch is the interconnectivity between cloud vendors. Each vendor has a way to provide dedicated network access to their cloud, but interconnecting between clouds and guaranteeing performance is more problematic,” says Michael Cantor, CIO at Park Place Technologies. “So if a company is going to go truly multi-cloud and put different components in different places, interconnectivity and reliability of that connectivity has to be considered.”
Cantor notes that some cloud vendors tend to charge for data delivered out of the cloud, while data that moves around inside their cloud is not metered. “So hooking services from two different clouds can have a cost impact for the data transfer,” Cantor says. That alone might drive interest in better options for inter-cloud connectivity.
Again, containerization and other cloud-native technologies will play a key role in application portability, but expect other improvements and options in how different environments can be connected.
“As containerization becomes more prevalent, network connectivity between public clouds becomes more established, and tools to orchestrate across cloud environments mature, we will see a trend toward sharing the same workload across various cloud environments, including private and public clouds, and also on-premises infrastructure – a hybrid cloud approach,” says Harsch Bhatnagar, senior vice president of infrastructure and cloud services at Infinite.
He continues, “There could be various use cases for this approach, such as a need to keep data on-prem or in a private cloud to alleviate data security concerns while using the power and agility of the public cloud to execute transactions, or to build a distributed hybrid cloud architecture to prevent single point of failure and build business resilience, similar to how CIOs can switch data traffic between primary and secondary network providers today to provide network redundancy.”
APIs will likely play a growing and more dynamic role here, according to Raymond Nunn, CEO and founder at Covalence Consulting Inc.
"As multi-cloud environments flourish within enterprise organizations, we are starting to see an emerging trend in which APIs are being used to connect various SaaS vendors in business-critical, high-frequency, and real-time events, such as HR payroll rule calculations,” Nunn says.
Subscribe to our newsletter.
Keep up with the latest advice and insights from CIOs and IT leaders.
Lot of the things said in this article make sense but there are many practical problems to multi-cloud strategy.
As you mentioned, large public cloud providers penalize data moving out of their cloud but that is not the only issue. In addition, the data movement from one cloud to another is limited by bandwidth in terms of throughput and is also limited by speed of light in terms of latency. The latency becomes significant across the continents or even coast to coast.
In addition most applications are not designed to work in a multi-cloud, distributed fashion and most of them do not operate on shared data. Some customers do have multiple applications where one application runs in one cloud and second app in a different cloud that operates on data that is generated from first application but such needs are still very few.
For performance reasons, the applications always want to operate on local data. So most of the time applications running in different cloud end up having their own copy of same data. This may be acceptable in some cases but it is certainly not acceptable in all cases. It automatically puts limit on what applications you can run in multi-cloud environment.