Unikernels: A view on the opportunity for this technology in mission critical systems
November 21, 2022
Virtualization technology, whereby multiple operating systems can be run on shared hardware, is extremely well understood if somewhat inefficient in its use of resources. More recently, industries have shifted towards using containers with systems such as Docker and Kubernetes.
Containers try to achieve the same concept as virtual machines but eliminate duplication of effort between machines. Containers are easy to run on development machines and the deployment process itself is also much simpler since one just uploads pre-built containers to a container repository and production systems can pull the updated version. The container-based approach has its downsides. The software has to be adapted for usage in containers (containerized), and this can get tricky, especially with legacy codebases.
The next logical step in the progression from VMs to containers is unikernels, which try to push the concepts of containers even further.
Unikernels have even less overhead than containers and are more streamlined giving the potential for enhanced performance. Furthermore, by eliminating the use of a multi-user, multiple address space kernel, security is drastically improved.
This article reviews the current challenges associated with unikernels, the paths being used to address those and some use cases where this technology will start to be deployed for mission critical systems.