By now, you’ve probably heard the breaking tech news that Docker is acquiring the innovative company, Unikernel Systems, but what does it mean for the future of containerization? The best way to answer this is to investigate what a "unikernel" is and how it functions.
From Containers to the Unikernel
The whole point behind using containers (mainly Docker containers) is to "contain" an application from interacting with any other application, module, or system function that is not necessary for the contained application to run. This can allow for a very small app footprint if used properly.
The downside is that containers themselves are a bit difficult to contain as the containers need to interact with some sort of underlying OS to run. Unikernels allows for a Linux kernel to be installed as the hypervisor, and containers run directly on the base Linux kernel… there is no need for an underlying operating system on top of the base kernel (as is currently the case with other more mainstream virtualization platforms such as VMware and Citrix).
Consider that a particular computer/server is a jail. The hardware is the physical structure of the jail. The kernel/hypervisor is the jail management. The Operating System (OS) is a grouping of all the employees that report to management. The applications are the inmates at the jail. This is typically how virtualization works. Now consider that the management fires all non-management employees and continue to run the jail. This is how the unikernel functions.
Docker’s acquisition shows their dedication to providing the tools to further the progression of the DevOps culture and the Agile community. This may very well spell the beginning of the end of virtualization as we know it.