I want to share with you my recent interview about Multi-Cloud and how enterprises can work on a multi-cloud strategy today to prepare for the future.
Interviewer: Over the last few years, we have witnessed exponentially growing interest in what is commonly called a multi-cloud approach, and some have even gone to the extreme of calling it the next leap of cloud architecture beyond hybrid cloud.
That’s really a very good question , and I believe you are right, most customers are familiar with the term Hybrid cloud, and it has been with us for years now. So, let’s try to define both very quickly here.
Hybrid cloud is when you have a private on-premises data center, and you’re using a public cloud, and how can you have workloads that are interconnected and be deployed across those two different environments.
I like to think of hybrid cloud as an extension of your private network into the cloud (treat the cloud like another rack in your data center), so there is a cloud VPN for example to interconnect your private on-premises network with the cloud private network, so any user on-premises can directly access any cloud service that is advertised only through the cloud VPN.
So, let’s say we have a batch processing workload that needs to run every night and it needs to be finished within four hours before the next day begins. You might want to use your existing investment for on-premises as much as possible for but any excess capacity, you need to go to the cloud, because you don’t want to invest more on-premises, but you want to make sure you keep your own existing investments. And in such hybrid scenario, data is kept on-premises, some processing capacity is used from on-premises, but the majority for this work needs to be in the cloud because otherwise you couldn’t finish within four hours. And this is a good example of one hybrid architecture.
When it comes to Multi-cloud, people have different thoughts of what multi-cloud is. And I want to give you a simple definition of multi-cloud.
Multi-cloud is really focused on if you have one or more cloud providers, and possibly a private cloud or on-premises data center and how can you use these together for your workloads, and perhaps switching between them for cost or different reasons.
Interviewer: You said one or several cloud providers, so you are saying that a multi-cloud strategy also applies if a customer is using only one cloud vendor?
Exactly right, a multi-cloud also means if you’ve only had one cloud provider, but you want to make sure that your workloads ready to be ported when needed, so a multi-cloud strategy is really more about the architectural portability and readiness of your workloads. This means when the time comes for using a second or a third cloud, they organization is ready to move workloads across clouds, or to operate in a multi-cloud environment.
Interviewer: So, a multi-cloud strategy is either using one or more clouds or being ready to do so in the future. Now, considering acquisitions are happening so much today, you could have a multi-cloud simply by the very fact that you acquired someone, is that right?
This is a good example on how you can become a multicloud organization in one night. So, if your company decided to buy another company and you are on one cloud provider and the company you are buying is on another cloud provider, the company is not going to cancel the acquisition right, they become a multi-cloud company in one night and they will ask their IT teams to figure it out.
While if they had a multi-cloud strategy from day one, things would be less painful to them. So again, a multicloud strategy is also about being prepared for such situations.
There is also another good use case we are seeing trending nowadays, there is a point of time where the cloud strategy for large organizations generally picking up a cloud provider and saying, okay we are in AWS shop for example, but as organizations adopted cloud, they found that different groups in that organization had already adopted services from different cloud vendors, one department might prefer using Google cloud for their AI services for example. So, they shifted their strategy to support multiple cloud providers, “that’s our strategy now” .
So sometimes, multi-cloud is intentional, and sometimes it is not.
Interviewer: Why do you think customers should bother looking at multiple cloud approach, I mean, for many customers, one cloud is hard enough, they could pick one vendor and be very good in running it, I mean, isn’t it true that they all kind of have the similar services or catching up on the higher stuff, so why bother looking at multi-cloud?
I believe if you ask most people about why to choose multi-cloud, the first answer would be risk reeducation and vendor lock-in, they don’t want to put their eggs in one basket. They want to have the leverage over vendors versus losing that all together.
But what’s interesting is it’s the least common reason in my opinion, it’s not the right thing to think about at first. It’s unrealistic practically for many enterprises.
It could be enabling your team to use best in breed services, so at any given moment, certain clouds have better AI or better data processing, and you know, you want your team working on those problems to be able to use the best tools possible, and by saying no you can only use one cloud platform, its just so restrictive.
Another reason could be feature availability, so if you have Oracle workloads and you are using RAC high availability solution or want to invest in Exadata, then Oracle OCI is the only cloud vendor to provide these services natively.
Interviewer: It’s really a good way to look at how customers evolve to using more than one cloud. I mean, at 100,000 feet view you don’t see the differentiation between clouds, but when you zoom in, it’s there. Can you think for other reasons?
Yeah, so another reason is pricing pressure, you do it in a certain scale of course. So, sometimes the licensing terms across cloud vendors can affect the price of using the cloud. As you know, many enterprises already have an Enterprise agreement with Microsoft and in Microsoft Cloud, they can re-use their on-premises licensing under the Azure hybrid benefits program and reduce the cost for Windows and SQL workloads if they are using Microsoft Azure, while they can’t as of today, re-use those licenses in other clouds. and if you are the CFO or management if they see a free, you know couple of millions, it’s hard to say no to that.
Security and compliance (think about GDPR for example) might be another reason. If data should not leave the country and one of your offices are running on a geography where only one cloud vendor exists today, then you might consider using that vendor for that office, although you are using another cloud vendor for majority of your workloads.
Another interesting example we are seeing is that some large enterprises are using one cloud vendor for their workloads and then storing the backup files in another cloud or a full DR site in another cloud vendor and what this means, if one of the cloud vendors is down, they can still provide services to their customers by activating the DR on the other cloud.
To take this to another level, some but not many big enterprises deploy their critical applications in active-active configuration across different clouds to provide maximum level of availability or perhaps to provide low latency experience to their customers by leveraging the coverage and reach of each cloud vendor.
We say that you don’t’ choose multi-cloud, but multi cloud eventually chooses you.
Interviewer: let’s move on deciding on strategy, because I know an estimated 88% of organizations are adopting a multi-cloud today and that can be for many reasons as you said, what advice you can give customers today to be ready for the multi-cloud?
The goal here is to be able to shift workloads between clouds or to have an exit strategy one day, who knows. I will give you my top three things that customer should consider for their multi-cloud strategy.
First, Workload portability, you write your app once and run it anywhere. and that’s very difficult to achieve because you want to integrate with native services that cloud vendors provide, so Lambda in AWS is one example. And there is a critical tradeoff we need to think about between utilizing the cloud native feature vs workload portability.
Containerizing applications and using Kubernetes enable application portability. Using containers means that programmers may not need to rewrite the code for each new operating system and cloud platform. Containerized workloads on Kubernetes are portable across clouds the same way Unix source code is portable between systems.
Second, is automation and orchestration.
Using Terraform, which is the most popular third-party IaC tool to standardize infrastructure configurations across various cloud providers, instead of using native tools such as AWS CloudFormation and Azure Resource Manager.
Third, is Multi-cloud Management Systems for managing resources, policies and cost across different clouds at scale
So my advice to customers is if you are using one cloud vendor today, stick to it as much as you can for now, but at the same time, start building that multi-cloud strategy, using Kubernetes that can run in any cloud, terraform to deploy configurations, and when the time comes for using another cloud, you will be ready.