Understanding the benefits of hybrid cloud is easy enough. Actually building a hybrid cloud environment can be more challenging.
That’s not because there’s a shortage of hybrid cloud tools. On the contrary, there are a variety of platforms and frameworks designed specifically for building and managing hybrid clouds.
The challenge lies in figuring out which platform or framework to use. Hybrid cloud solutions vary widely in areas such as:
- Whether they are open source or proprietary.
- Whether they are tied to a particular public cloud platform.
- Which types of cloud services they enable to run on a hybrid architecture.
- Which types of infrastructure you can use to host your hybrid environment.
- Which management, monitoring, logging and security features they provide.
To provide guidance on choosing the right hybrid cloud platform or framework, this article compares four key options: VMware Cloud Foundation, OpenStack, Kubernetes and the frameworks from public cloud vendors (such as Azure Arc and AWS Outposts).
VMware Cloud Foundation
VMware Cloud Foundation provides a central control plane that can manage VM-based as well as container-based workloads hosted on public cloud or private infrastructure. It has integrations with the major public clouds, making it easy to set up environments that run partly on their infrastructure and partly on your own servers.
In this respect, VMware Cloud Foundation is cloud vendor-agnostic, which reduces lock-in risks. That said, the platform is, of course, a VMware solution, so you’ll be dependent on VMware.
VMware Cloud Foundation also reflects VMware’s heritage as a vendor focused on virtualization rather than containerization. Although the company has now gone all-in on containers and Kubernetes, VMware Cloud Foundation’s tooling is arguably oriented more toward virtual machine-based workloads than containerized ones.
OpenStack is an open-source platform that is designed primarily for creating private, not hybrid, clouds. You can use it to pool private infrastructure resources that can be consumed via an infrastructure-as-a-service (IaaS) model.
It’s possible, however, to control public cloud infrastructure via OpenStack, which in turn unlocks the ability to build an OpenStack-based hybrid cloud.
This isn’t a use case that OpenStack actively supports, and it’s probably not one that you should target for production unless you have the extensive cloud engineering resources necessary to tailor the deployment to your needs. But still, it’s an option if you want to take an unorthodox approach to hybrid cloud.
Like OpenStack, Kubernetes wasn’t designed to be a hybrid cloud platform per se. But Kubernetes can be, and often is, used to build and manage hybrid cloud architectures.
Kubernetes offers a variety of advantages for operating hybrid clouds. It works with any infrastructure, and you can use it in conjunction with any public cloud. Kubernetes also provides a highly consistent management experience across hybrid environments: No matter how your hybrid cloud is configured or what you are running on it, you can deploy and manage applications in a consistent way.
And, given that Kubernetes is open source and massively popular, it’s hard to imagine it being discontinued or failing to remain vendor-agnostic anytime in the foreseeable future.
Perhaps the big downside of Kubernetes as a hybrid cloud solution is that it’s designed mainly to run containerized workloads. You can orchestrate virtual machines with Kubernetes using platforms such as KubeVirt, but that requires adding onto the core Kubernetes platform. Kubernetes is also complex to operate, especially in hybrid cloud environments that involve multiple clusters. If you want a simple approach to building a hybrid cloud, Kubernetes may not be your solution.
Public Cloud Vendor Frameworks for Hybrid Cloud
A final solution for building a hybrid cloud is to adopt a framework from one of the public cloud vendors that is designed for this purpose. The most popular examples today include AWS Outposts, Azure Stack, Azure Arc and Google Anthos, although Oracle, IBM and Cisco offer hybrid cloud frameworks, too.
These frameworks work in somewhat different ways, but the core functionality that they each provide is the ability to run public cloud services (like EC2 or S3 in the case of AWS Outposts) on infrastructure that you own, as opposed to infrastructure owned by the public cloud.
Thus, you have the ability to keep data and applications on your own servers, which can help meet performance, cost and security goals. But at the same time, you can deploy and manage cloud workloads in a manner that is almost identical to the process you’d follow when working directly in a public cloud.
There are some notable downsides to using a cloud vendor-supplied hybrid framework. One is that they can be a bit costly. Another is that they don’t support every type of public cloud service; most support only the “bread-and-butter” cloud services, like VM instances and object storage.
And perhaps the biggest limitation of all is that, in some cases, you can only operate these frameworks using specific infrastructure. AWS Outposts requires you to purchase hardware directly from AWS, for instance, while Azure Stack requires “certified” hardware from third-party server vendors.
The other frameworks are not as restrictive on the hardware front. Still, hardware compatibility can be a major limiting factor when it comes into play because it means you can’t build a hybrid cloud using private infrastructure you already own.
There are many ways to build a hybrid cloud today. Purpose-built hybrid cloud frameworks, such as those from the public cloud vendors and VMware, are probably the easiest to use. But open-source solutions like OpenStack and Kubernetes provide more flexibility with regard to how you design and configure your hybrid cloud. The tradeoff is that these hybrid cloud platforms require more effort to manage.