Kubernetes continues to evolve in many directions, which can make it difficult to understand its relationship with...
other IT trends -- especially multi-cloud.
Users can create a Kubernetes cluster and deploy containers inside VMs on any public cloud or on premises, but they still need to manage scaling and resiliency within those environments. Cloud providers offer managed services to address these problems, but those tools aren't built for a multi-cloud Kubernetes architecture.
Cloud providers' managed Kubernetes services handle resource deployment and management, including load balancing and network connections. But organizations need a Kubernetes framework that can cross those lifecycle management "islands" if applications run across cloud boundaries.
Popular tools for multi-cloud Kubernetes deployments
Users who want to deploy a multi-cloud Kubernetes strategy do have options. Here are some of the tools available to make container architectures work across multiple platforms:
NetApp Kubernetes Service -- formerly StackPointCloud -- is a well-known and mature service that provides a common administration console for multiple Kubernetes deployments. Each cloud represents a separate cluster, and you can spin up a cluster in any of the popular public clouds. However, it doesn't support on-premises Kubernetes. If a multi-cloud deployment includes a private data center, the cloud and data center workloads need to remain separate.
Cloudify offers a higher-level, model-driven orchestration tool that's open source and can deploy Kubernetes on multiple clouds, as well as on bare metal or inside VMs. Cloudify doesn't augment Kubernetes; instead, it treats Kubernetes and any cloud provider's Kubernetes service as a class of resource. This makes Cloudify a good tool to harmonize different hosting approaches, and not just different cloud providers. Still, some users won't like the additional layer of abstraction.
Terraform is an infrastructure as code (IaC) tool that provides a common hosting framework. It creates a single virtual pool of hosting resources for Kubernetes on any number of public clouds or private data centers. However, the advanced features in cloud providers' managed Kubernetes services don't translate to Terraform, which can limit what you can do on a given platform.
Rancher is a Kubernetes-centric framework that works with bare metal, VMs, on premises and on multiple public clouds. Rancher creates a three-level architecture, with application workload management at the top and unified cluster management in the middle. The bottom layer consists of the various public cloud Kubernetes engines and Rancher's own Kubernetes engine for private infrastructure. Users can opt for cloud providers' managed Kubernetes offerings or handle management on their own.
Platform9 Managed Kubernetes is a SaaS approach to hybrid and multi-cloud Kubernetes. It works on all the popular cloud platforms, as well as on an enterprise's own servers. It's a "bring-your-own-infrastructure" approach that handles all hosting resources through a central management console and adapts to virtually any hosting environment. Platform9 deploys VMs, containers and even serverless, so it's very flexible. Many observers see Platform9 as a competitor to Rancher.
Red Hat OpenShift with Tectonic combines a Kubernetes-centric vision of abstract infrastructure with resource pools that can span public cloud and on-premises hosting. OpenShift takes an on-premises-centric view of multi-cloud and hybrid cloud, rather than a SaaS model, because it's based on tools an IT pro would be accustomed to inside their own data center. The OpenShift-Tectonic combination is new, so check the progress of the integration and the feature enhancement plans regularly when you consider your options.
Juke, from HTBase, which is now owned by Juniper Networks, extends both the control and data planes of a Kubernetes deployment, so it provides the network layer needed to create a uniform deployment framework across clouds and data centers. Juke has strong support for multi-tenancy, which makes it an attractive option for cloud providers and a good choice for users who need significant application isolation for governance or security.
Cloud's influence on Kubernetes
Cloud-based managed Kubernetes continues to shape the trajectory of Kubernetes as a whole. This can be seen through the various add-ons that can accommodate multi- and hybrid-cloud deployments, including Kubernetes plugins from vendors such as Red Hat, and the emergence of Isto as a service mesh.
Moreover, organizations are now forced to think of Kubernetes orchestration as the management of various installations, as opposed to the management of different Kubernetes clusters. In that context, the various clouds become those installations and act as extensions of your resources. A hierarchical model of Kubernetes is emerging, with lower and higher layers that work together and span all kinds of infrastructure.
Kubernetes' strength has always been its open framework and APIs that enable so much integration. That integration process continues to redefine Kubernetes and its ecosystem, which means multi-cloud Kubernetes support, and the managed Kubernetes services from cloud providers, will continue to evolve. Users will have to carefully track the progress of their chosen tools, even after they've made their choice.