Cloud agnosticism: the role of Kubernetes
D2iQ CEO Tobi Knaup on cutting through Kubernetes complexity to make the most of hybrid cloud, multi-cloud and edge
Hybrid cloud and multi-cloud approaches are common, especially in large organisations, but in the case of multi-cloud in particular that's often a matter of accident - mergers, geographic spread, different teams having different preferences - rather than deliberate design. That's because managing more than one CSP can get complex, expensive and demanding of skills that are in short supply. Also, some of the benefits proffered by multi-cloud proponents, such as being able to arbitrage prices, have proved difficult to achieve.
Some organisations have no choice: regulation requires them to spread the risk. Meanwhile, others require additional functionality that only another CSP can provide. But on balance, most small and mid-sized businesses find it's easier to stick with one or two. Data gravity, egress charges, incompatibility between systems and management complexity see to that.
Kubernetes is touted as a route to application portability, allowing organisations to make the most of mixed environments, at least for containerised applications. It runs everywhere, on bare metal as well as cloud, on edge devices as well as data centres. The breakthrough container orchestration platform is also now pretty mature, sitting at the centre of more than a thousand mostly open source projects overseen by the CNCF and known as the Cloud Native Landscape.
"I sometimes call it the Cloud Native Hellscape," said Tobi Knaup, CEO of Kubernetes management platform provider D2iQ. "If you're an organisation, it's going to take you a year or two to even evaluate a handful of these things."
This is one of the things that Knaup believes limits the ecosystem's potential as an enabler of inter-cloud portability. Even if the components are open source, which not all are, lock-in in the form of sunk costs and lack of time to try alternatives can still be a problem.
Kubernetes itself is also complex to set up, configure and secure. A popular route into Kubernetes is via an as-a-service offering from Amazon, Google or Microsoft, simply because these lower the barrier to entry, taking away some of the complexity of configuring and securing the platform. But here technologists can find themselves locked into other tools on that particular platform. Again, many of these add-on services are not open source, and even those that can vary from cloud to cloud.
"If you go with one particular cloud provider, one particular offering and use all the things they give you, that's a pretty easy path, but you are locking yourself into some degree" said Knaup.
Knaup, whose company offers a Kubernetes management platform, cautions against depending too much on elements that are not open source, or subject to proprietary add-ons. Portability of applications is essential for taking full advantage of hybrid and multi-cloud approach, he said, and that really means keeping everything open. A production-grade enterprise Kubernetes system depends on a dozen components and if one of those is a proprietary fork then, since switching it out may not be easy, lock-in becomes a risk.
"If you want to take full advantage of the innovation that's happening in this ecosystem, not just in Kubernetes, you really have to go with a pure upstream open source, otherwise you run the risk of cutting yourself off from that innovation," he said.
Keeping everything open also makes it more likely that future innovations will be able to integrate easily with your stack, as the chances are someone will have already developed a connector.
As enterprise Kubernetes setups get more complex with multiple clusters, Knaup sees an increasing role for GitOps in enabling platform agnosticism, where engineers package all the required infrastructure, observability and other components together in one place and then push them to wherever they are to run. This is the aim of CNCF projects such as Cluster API which looks to simplify provisioning, upgrading and operation of multiple Kubernetes clusters.
"GitOps plus declarative APIs, one of the key innovations in Kubernetes, can be used to manage the entire stack." Knaup said. "That allows you to declaratively stand up and manage Kubernetes on any infrastructure, on your favourite cloud provider, on VMware, on bare metal with the same declarative API, keeping your configuration your infrastructure settings and configuration in Git and using automation to then push those changes to your infrastructure.
"We think gives you the best way to run resilient infrastructure, and it really cuts through all that complexity in the Kubernetes ecosystem."
Join us online on 22nd February for Deskflix: Hybrid & Multi-cloud where there'll be more discussion of hybrid cloud, multi-cloud and cloud native.