The Pros and Cons of Kubernetes-Based Hybrid Cloud
Whether to use Kubernetes as the basis is one of the biggest questions any journey to hybrid cloud begins with today.
Hybrid cloud platforms increasingly fall into one of two broad categories: those that are based on Kubernetes and those that aren’t. So that’s one of the first fundamental decisions you now have to make when building an architecture that integrates on-premises or colocated infrastructure with a public cloud.
Kubernetes and Hybrid Cloud
Kubernetes, the open source container orchestrator, is much more than a hybrid cloud platform, of course. It’s a way to deploy applications -- especially, but not necessarily, those that run in containers -- on any on-prem or public cloud infrastructure or combination thereof. Supporting hybrid cloud architectures is not even a primary focus of the Kubernetes project.
Nonetheless, Kubernetes provides a key benefit for hybrid deployments. It offers a uniform way to deploy and manage applications no matter which infrastructure they run on. It does this by abstracting the underlying infrastructure from the application environment. When you deploy an application on Kubernetes, the process is basically the same whether you’re doing it in a public cloud, a colocation data center, or even a spare laptop that you use for testing.
And, because Kubernetes can manage application environments that span multiple types of infrastructures at once, it provides a consistent deployment and management experience even if some of your servers and applications are running in a public cloud and others are running on-premises or in a colocation facility.
Kubernetes-Based Hybrid Platforms
Realizing this, some vendors over the past few years have taken a Kubernetes-first approach to hybrid cloud. Google Anthos, which uses Google Kubernetes Engine to manage clusters running in any public cloud or private data center, is probably the most prominent example. VMware’s Tanzu platform is another.
AWS’s EKS Anywhere, which can manage on-prem clusters (and potentially those running in other public clouds) through Amazon’s Elastic Kubernetes Service, also qualifies as a hybrid cloud platform of sorts. It’s not Amazon’s main hybrid solution -- that’s AWS Outposts, which provides a broader set of hybrid services -- but to the extent that EKS Anywhere supports the deployment of containerized applications that span multiple hosting environments, it fits the hybrid cloud bill.
The list of Kubernetes-based hybrid platforms stops there. The other major hybrid solutions, including AWS Outposts, Azure Stack, and Azure Arc, use other technologies as the basis for hybrid cloud management. They also all happen to support Kubernetes deployments via a hybrid architecture, but they don’t use Kubernetes as the management layer for the underlying hybrid environment.
Why or Why Not to Choose Kubernetes on Hybrid Cloud
Is one approach to hybrid cloud better than another? That depends on a few variables.
The most important is whether you like managing workloads via Kubernetes more than managing them through a public cloud’s standard tooling. Platforms like Anthos and Tanzu use Kubernetes to orchestrate everything, whereas solutions like Outposts and Azure Stack use the native management tooling (CloudWatch, CloudTrail, CloudFormation, and so on) for application deployment and administration. If you prefer the Kubernetes approach to application deployment and management, then, a Kubernetes-based hybrid cloud platform may be right for you.
A second factor to consider is the extent to which your applications are containerized. Kubernetes can manage virtual machines as well as containers, and indeed, VM orchestration is a first-class feature in both Tanzu and Anthos. But at the end of the day, it may feel strange to manage VMs inside Kubernetes, which is designed first and foremost to orchestrate containers. VMs don’t typically start and stop as fast as containers, and it’s rare to launch multiple VM instances in the way you would for containers. If your workloads consist mostly of VMs, you might be better served by a hybrid cloud platform that doesn’t revolve around Kubernetes.
It’s worth considering, too, whether you think Kubernetes is going to stick around for the long haul. The platform is massively popular today (which is part of the reason why Google and VMware have chosen it as the basis for their hybrid strategies), but it’s also only seven years old. It’s not entirely crazy to think that Kubernetes could turn out to be more of a fad than a longstanding technology staple.
After all, five or six years ago, when Kubernetes was just an upstart project whose name no one could pronounce, it looked as if Docker was going to rule the world forever, and marrying your tooling to Docker seemed a safe bet. We now know how that turned out.
Committing to a Kubernetes-based hybrid platform, then, could be like going all-in on Mesosphere circa 2015: It will work as long as the hype lasts, but you may have to rebuild everything when the fad fades.
Flexibility is a final factor to consider. Generally speaking, Kubernetes-based hybrid clouds are more flexible than those that depend on a cloud vendor’s proprietary tooling. If you use Azure Stack, for instance, it’s going to be hard to migrate to AWS Outposts, because the migration would basically be the equivalent of moving from Azure itself to AWS. But migrating from Anthos to Tanzu would be easier -- though not seamless -- because both platforms are founded on Kubernetes.
Conclusion
There are solid reasons to choose Kubernetes as the basis for a hybrid cloud strategy. There are also some good reasons to select a platform that doesn’t require Kubernetes tooling and that supports more types of workloads than Kubernetes can manage.
About the Author
You May Also Like