Docker has acquired Unikernel Systems, a firm that focuses on packaging minimal operating system components with an application. Docker will use Unikernel's technology to add another packaging choice to its container platform.
Linux containers package up a few parts of the Linux operating system that are specific to the application, then rely on the host server's Linux kernel for much of the functionality they need.
The unikernel approach, on the other hand, substitutes deep knowledge of the specific parts of Linux needed by the application and packages them together as a single build that can then be moved around from team to team or data center to data center without its needing to depend on an outside operating system.
The approach is similar to using plain vanilla Linux containers, but will give Docker the chance to extend another packaging and transport option to developers using its tools and formatting system.
Containers are one type of standard and highly mobile packaging that developers have quickly adopted. Unikernels are an additional kind that they may use "if they want to continue the specialization" of their code output, said Anil Madhavapeddy, the former CTO of Unikernel Systems, who is now with Docker.
General purpose Linux is meant to be multi-purpose and do all things for all people. It includes thousands of device drivers. A unikernel is meant to be optimized to run an individual application or service, and has only a handful of device drivers -- only those specifically needed.
By design, a unikernel system is lightweight and runs in a streamlined, uncluttered fashion.
Unikernels "are meant to be part of a continuum" alongside the options of building a Linux or Windows container, giving developers who need it another way to package and move their applications, Madhavapeddy told InformationWeek. Windows is about to be added to the Docker platform, and Windows containers will join Linux containers as a developer choice. Unikernels will also come in Windows, Linux, or other operating system forms.
Unikernel Systems was founded in 2015 in Britain and includes several of the founders of XenSource, the open source-based company that developed and commercialized the Xen hypervisor. That expertise should help make unikernels, as they move through the Docker pipeline, easy to encapsulate in a hypervisor, and so give them an additional protective layer.
"The complicated mechanics of virtualization will never be exposed in the Docker Platform," explained David Messina, vice president of marketing at Docker, in an interview.
Unikernels are similar to (but still different from) container-optimized operating systems, such as Red Hat's Photon Machine or CoreOS's CoreOS. These are stripped down, but still general-purpose, Linuxes meant to run a container host with a wide variety of containers on it. A container host is the equivalent to about 25 pictures on your smartphone. A unikernel is something less than that.
A unikernel system is meant to run one, and only one, container or virtual machine, and it has been designed specifically for the task. Network device designers and virtual appliance builders at Cisco or other vendors have frequently developed unikernel expertise and use unikernels with their products.
[Want to learn more about a unikernel cousin, the thin Linux server host? See Linux Container Operating Systems: Thin Is In.]
Now Docker, through the acquisition, is trying to bring unikernels to a broader developer realm. "We're democratizing the technology already used by network and storage vendors," said Messina.
Like Xen itself, the Unikernel organization sprang out of a research group at the University of Cambridge in the UK. Three of its founders were part of the original XenSource company, which was acquired in 2007 by Citrix for $500 million.
Docker's price for acquiring Unikernel was not disclosed. The deal was closed at the end of 2015, and all 13 of its staff members became part of Docker.