Unikernels are poised to become the next big thing in microservices after Docker containers. Here’s a look at some of the cool things you can do with unikernels.
First, though, here’s a quick primer on what unikernels are, for the uninitiated. Unikernels are similar to containers in that they let you run an app inside a portable, software-defined environment. But they go a step further than containers by packaging all of the libraries required to run the app directly into the unikernel.
The result is an app that can boot and run on its own. It does not require a host of any kind. That makes unikernels leaner and meaner than containers, which require a container engine such as Docker and a host operating system such as Linux to run.
Earlier this year, Docker acquired a company named Unikernels, which specializes in unikernels technology. (Despite its name, Unikernels is not the only company or research organization working on unikernels.) To date, Docker has made no announcements related to unikernels in production. But other people are already doing cool things with them.
Cool Unikernels Projects
Those things include projects such as the following:
- Jitsu, a DNS server that automatically starts unikernels. This project is experimental, but it highlights just how useful and agile a unikernels-based infrastructure could be. In Jitsu’s case, simple DNS requests can trigger the launch of applications that run in entirely self-contained environments. The cool thing here is that there’s very little overhead involved in orchestrating and deploying apps. You just need a set of unikernels and some light DNS traffic on the network.
- MirageOS, a project supported by the Linux Foundation and Xen that aims to replace cloud-based virtual servers with unikernels. This would be cool because unikernels would allow for more fine-tuning than virtual servers. They’d also be much more efficient and more secure because of their minimal resource overhead.
- Rump Kernels, a unikernel implementation that uses NetBSD drivers to construct unikernels. The cool thing about Rump Kernels is the software also lets you run drivers in user space if desired. That provides more flexibility than you’d have if the only option were to compile drivers directly into the kernel. Rump Kernels, in other words, let you have your unikernel and eat it, too—or something like that.
- ClickOS, which is using unikernels to build network functions virtualization (NFV) apps. ClickOS is cool because it promises to bring a new level of efficiency to software-defined networking (SDN). The SDN revolution has already turned physical network devices into a thing of the past. ClickOS could make virtual server-based network switches obsolete, too.
- Clive, which develops unikernels designed to run as cloud apps. Like MirageOS, Clive is poised to replace the fat, complex software stacks that currently power cloud servers with leaner, simpler, more secure alternatives.
None of these projects are ready for production use. Most of them are still academic research initiatives. They remain far from becoming useful for the enterprise.
Still, all of these projects underline how innovative unikernels can be. If you’re wondering what comes after Docker containers, here’s your answer.