任何想要尝试将应用程序部署为独立微操作系统的人现在都可以利用UniK工具来加快这一过程。这个由EMC赞助的开源项目允许将使用C/C++、Java、Go、Node.js和Python等语言编写的应用程序转换为无内核形式——即操作系统只负责运行单个专有应用程序工作。UniK(读作'unique')是kernelless技术的几个实验项目之一,其目标是探索kernelless机制在体积缩减和安全性提升方面是否优于容器技术。UniK承诺帮助企业客户以简单的方式构建应用的无内核运行版本,实际效果优于容器化方案。该工作负载的运行要求与容器模式下的应用部署基本一致。作为一个主要用Go语言编写的项目,UniK编译的镜像可以部署到Virtualbox、VMwarevSphere和AmazonWebServices。使用Go、C++、Node.js和Python构建的运行时利用rumprun平台创建无内核软件。Java应用程序可以通过OSv部署,OSv是一种支持JVM的单应用程序操作系统。Docker长期以来一直希望将其容器系统与无内核技术相结合。今年1月,Docker收购了UnikernelSystems,计划进一步丰富自己的工具链,将无内核方案的部署流程简化到基本等同于Docker镜像。UniK可以在Docker镜像中使用所需的工具,但还没有融入UnikernelSystems的技术成果——另外,截至目前,还没有公开使用无核技术的Docker解决方案。另一个新兴项目IncludeOS以简化无内核解决方案的构建为基础。不过与UniK的定位是通用的不同,IncludeOS只是为程序提供了一套C++库来实现最高级别的操作系统功能,使其可以作为一个自包含的镜像进行部署,并在hypervisor上启动。另外,它只支持C++,不像UniK,可以覆盖多种编程语言。原标题:Unikernel为Java、Node.js、Go和Python应用程序提供动力
