无内核技术助力Java、Node.js、Go与Python应用

任何希望尝试将应用部署为自容纳微型操作系统的朋友,现在都可以利用UniK工具加快这一流程。

由EMC公司赞助的这一开源项目允许由C/C++、Java、Go、Node.js以及Python等语言编写而成的应用被转换为无内核形式——即操作系统仅负责单一专有应用的运行工作。

无内核技术助力Java、Node.js、Go与Python应用

UniK (发音同‘unique’)为无内核技术的几个实验项目之一,目标在于探索无内核机制在体积精简与安全性提升效果方面是否优于容器技术。

UniK承诺通过简单方式帮助企业客户建立应用的无内核运行版本,且实际效果优于容器化方案。该工作负载的运行要求与以容器方式进行应用部署基本一致。

作为主要由Go语言编写而成的项目,UniK编译出的镜像能够被部署至Virtualbox、VMware vSphere以及Amazon Web Services当中。Go、C++、Node.js以及Python共同构建的运行时则利用rumprun平台创建无内核型软件。Java应用可通过OSv部署,这套单应用操作系统具备JVM支持能力。

Docker公司一直希望将其容器系统与无内核技术加以结合。今年1月,Docker方面收购了Unikernel Systems公司,计划借此进一步丰富自身工具链以将无内核方案的部署流程简化至与Docker镜像基本相当。UniK可使用Docker镜像中的所需工具,但目前尚未纳入Unikernel Systems的技术成果——另外,截至当下还没有以无内核技术为核心的Docker方案供公众使用。

另一项新兴项目IncludeOS则立足于简化无内核方案构建。不过与普适性定位的UniK不同,IncludeOS只为程序提供一套C++库以实现最低水平的操作系统功能,允许其作为自容纳镜像部署并在虚拟机管理程序上进行引导。另外,其仅支持C++,而不像UniK那样可以涵盖多种编程语言。