How to build a turnkey solution for stateful workloads
“Hyperconverged Kubernetes? Did I read that correctly?” This was the most common first reaction from attendees at Kubecon as they walked past our booth. I sensed early skepticism as curious eyes wandered through our booth looking to understand the concept. “What is Hyperconverged Kubernetes?”, those eager enough would step into the booth and actually ask the question, with a strong emphasis on the word “hyperconverged”.
For those who didn’t, and many more who have the same question as they come across this phrase through various sources, this blog offers a simple explanation of the concept and benefits.
What is Hyperconverged Kubernetes?
Hyperconverged Kubernetes (HCK) is a software-defined application orchestration framework that combines containerized storage, networking, compute (Kubernetes), and the application management layer into a single system. As the name suggests, we are bringing the principles of hyperconvergence to Kubernetes. To understand what it actually means, let’s take a look at the definition of “Hyperconvergence” –
Hyperconverged Infrastructure is a software-defined IT framework that combines compute, storage, and networking in a single system. HCI virtualizes all components of the traditional hardware-defined IT infrastructure. A typical HCI system consists of a hypervisor for virtualized computing, a software-defined storage (SDS) component, and a software-defined networking (SDN) component. The HCI architecture eliminates the complexity of integrating infrastructure components by providing an out-of-the-box solution that runs enterprise applications.
Now, as we move from virtual machines to containers as the preferred medium to virtualize our applications, wouldn’t it make sense to replace the traditional hypervisor with a container orchestration platform? And when it comes to container orchestration, there is one obvious winner – Kubernetes. Hence, we should replace the traditional hypervisor with Kubernetes. The following figure illustrates the transition:
Fig. 1: Transitioning from traditional Hyperconverged Infrastructure to Hyperconverged Kubernetes
Why did we build a Hyperconverged Kubernetes platform?
Kubernetes is the de-facto standard for container orchestration for microservices and applications. However, enterprise adoption of stateful workloads such as big data and databases using containers and Kubernetes is hindered by multiple challenges such as complexity of persistent storage, network, and application lifecycle management. Kubernetes provides the agility and scale modern enterprises need. Although, it provides the building blocks for infrastructure, not a turnkey solution.
As our CTO, Partha Seetala, explains in his blog “Introducing Hyperconverged Kubernetes”, we believe combining Kubernetes and the principles of HCI brings simplicity to Kubernetes and creates a turnkey solution for data-heavy workloads. Hyperconverged Kubernetes technology with built-in enterprise-grade container storage plus flexible overlay networking extends Kubernetes’ multi-cloud portability to big data, databases, and AI/ML.
The end result is a friendly app-store for big data, database, and AI/ML applications that enables developers, data engineers, and data scientists to provision and manage the applications and tools they need on a daily basis. The self-service experience significantly improves their productivity.
What are the key benefits of Hyperconverged Kubernetes?
A Hyperconverged Kubernetes platform offers following benefits over Kubernetes with external storage and networking:
Out-of-the-box solution for stateful workloads: Upstream Kubernetes doesn’t ship with any storage or networking stack. It’s possible for IT professionals to integrate these infrastructure components into Kubernetes. But it’s a complex and time-consuming process that involves integrating storage and networking solutions, ensuring their compatibility with Kubernetes, and managing these moving pieces on an ongoing basis. With Hyperconverged Kubernetes, storage and networking components are built-in, which simplifies the setup process and ongoing management of the Kubernetes platform.
Application onboarding simplicity: ROBIN Hyperconverged Kubernetes platform provides all necessary constructs, such as data locality, affinity/anti-affinity enforcement, IOPs isolation, and persistent IP addresses to deliver a production ready environment for complex stateful workloads. This allows you to onboard data-heavy applications such as databases, Big data, AI/ML with confidence on our platform, and make them available for self-service provisioning to your developers.
Managing stateful applications beyond day 1: Managing stateful applications involves creating snapshots and backups, restoring them when needed, scaling-up the nodes when they run out of resources, scaling-out to meet long term demand growth, and performing all these operations without disrupting the applications. With the ROBIN Hyperconverged Kubernetes platform, your developers do not have to create IT tickets for any of these operations. They can manage their applications themselves with 1-click operations.
Interested in learning more?
Now that you know what is Hyperconverged Kubernetes, you may want to look at how we have implemented this concept in the ROBIN platform. We explain the architecture in detail in this whitepaper. I will follow up this blog post with more blogs about the key features one should look for in a Hyperconverged Kubernetes platform, an in-depth review of Robin architecture, and many more. Watch this space!