Docker Inc. today announced the acquisition of Unikernel Systems in a deal that aligns the emerging world of unikernel purpose-built system development with Docker containers. Financial terms of the deal are not being publicly disclosed.
"Just like we've seen a spectrum of application payloads deployed across virtual machines, Linux containers and soon Windows containers, we expect the spectrum to expand to unikernels," Solomon Hykes, founder of Docker, told eWEEK.
The company has made several acquisitions in recent years, each one adding a new element to Docker to help expand functionality and market reach. In March 2015, Docker acquired software-defined networking (SDN) vendor SocketPlane and desktop container deployment effort Kitematic. In October, Docker bought container deployment vendor Tutum to help with the management of containers in production.
Unikernel Systems was founded by engineers from the open-source Xen hypervisor project. A unikernel provides a minimalist purpose-built set of libraries that enables an application to run. With a Docker container, the engine needs to run on top of an operating system that provides the required OS libraries. The goal is to eliminate the need for a full operating system and instead use a unikernel, which can be significantly smaller in size.
"A unikernel removes the excess overhead needed to run a container," Hykes explained. "With a unikernel, you can get rid of a full general-purpose operating system completely; there is no Linux involved."
Rather than building an application on top of a full operating system, with a unikernel the idea is to compile small pieces of operating system functionality into an application. An application, in a sense, can become its own specialized and optimized operating system.
"By using a unikernel, you get an application payload that is much smaller and secure, while consuming less memory," Hykes said. "We're talking about the potential for a fully functional Web application with only 200 [kilobytes]."
However, there are trade-offs with using a unikernel, and it's not a magical replacement for a full general-purpose OS such as Linux, Hykes said. A unikernel makes sense for certain use-case deployments because it can run on small, resource-constrained embedded devices when a full OS wouldn't work—for example, on a connected light bulb, where Linux wouldn't be an option, Hykes said. He sees real opportunities for unikernels in the wearable technology market.
"The bottom line is that, in the coming years, we think there will be a mix of virtual machines, containers and unikernels for application deployment," Hykes said. "We want Docker to be the best platform for developing and deploying on all of those."
While unikernels provide a highly optimized platform for container deployment, other efforts, including CoreOS, Alpine Linux, Rancher and Red Hat, have been working on purpose-built Linux distributions that enable container efficiency.
"It's not an either/or situation with unikernels, and for the foreseeable future, the vast majority of Docker containers will run on Linux," Hykes said. "We're big believers in Linux, and you should expect more Linux-oriented work to come from us."
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.