BT

Hypernetes Enables Multi-Tenant CaaS Without a Guest OS

| by Hrishikesh Barua Follow 15 Followers on Dec 27, 2015. Estimated reading time: 3 minutes |

Hypernetes replaces the guest operating system in a virtual machine (VM) to host the containers atop a minimalist Linux kernel thus avoiding the overhead of running a full-fledged OS.

HyperHQ released Hypernetes in October. InfoQ asked Thibault Bronchain, former developer evangelist at the company, and Peng Zhao, founder of VisualOps and an investor in Hyper, to elaborate on how it works.

Hypernetes leverages the Hyper project for hosting containers, some components of OpenStack - an Infrastructure-as-a-Service (IaaS) software - and Kubernetes, a framework for managing clusters of Linux containers. Hypernetes is a fork of Kubernetes.

One of the components of Hypernetes - the Hyper project - provides a runtime for containers on bare metal. Usually, containers are launched on a guest operating system inside a VM. Hyper “flattens” this guest OS/VM layer by launching a VM with a small Linux kernel, called the Hyper kernel. This is the key difference between Hyper and other container runtimes. Bronchain added to this point:

Hyper precisely replaces the “guest OS” by a single Linux Kernel. Doing so, the VMs provisioned are super light, and super fast to provision. They boot in sub-second time, and don't weigh much more than a Linux Container. 

After Hyper boots the kernel, an init service called HyperStart creates a Pod. A Pod is a collection of container images that are part of the same logical group. It is a concept borrowed from Google. For example, in a microservices architecture, a Pod might consist of helper programs like logging and monitoring. Bronchain explained the reasons behind choosing Kubernetes over tools like Mesos and Swarm:

We believe Kubernetes is the most reliable and easiest scheduler to use. We're open to implement Hyper to other schedulers though. We are still modeling our roadmap.

The customized Hyper kernel can be replaced with any other Linux kernel, according to Bronchain, even though it’s not documented and easy to do so now.

OpenStack is an IaaS framework for building and managing clouds and Hypernetes uses some of its components. Keystone, OpenStack’s identity and service catalog provider, is used for authentication and authorization. Other OpenStack components used are Cinder and Ceph for storage and Neutron for network management. This is a unique use case for OpenStack itself as its components are usually not used outside an OpenStack deployment.

Docker as a container runtime has matured and has been widely adopted. So why would somebody want to adopt an alternative still in its infancy? Zhao had this to say:

The world is moving to the public cloud. No matter how good the performance of a Linux container is, people run them in VMs. Therefore, it makes sense to make a VM run like a Container to simplify the infra stack and enable new services. Also, it is hard to imagine that everyone should be forced to use a single kernel version on a container-based public cloud.

There are other players in the ecosystem like Ubuntu’s LXD, touted as the “Linux container hypervisor”. In response to InfoQ’s question about how Hypernetes compares to LXD, Zhao said:

LXD is still Linux container-based, but is able to emulate a full VM with extra security. Hyper, however, is trying to deliver the app-centric experience of Docker. Though Hyper uses hypervisors, it doesn't run like a full VM.

Another similar offering is CoreOS, a lightweight Linux based operating system especially designed to host containers using runtimes like Docker and rkt. However, where Hyper launches just a mini-kernel to host the containers, CoreOS is an operating system with inbuilt support for service discovery and configuration sharing for the containers running on top of it. 

The Hypernetes source code and instructions to deploy it can be found on GitHub.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT