Rob*_*bin 20 xen halvm docker unikernel
我最近部署了一个带有docker的小型Haskell应用程序,使用"scratch-haskell"作为基本映像.
然后我读到了关于Unikernels和HALVM的内容.我有点困惑.
我的码头工人容器大约6MB.Unikernel(使用相同的haskell应用程序)大小与我猜的大致相同.
Unikernel直接在Xen管理程序上运行,而docker Image(或通用LXC)在普通的Linux发行版上运行,该发行版在裸机上运行.
现在,我有"选择"运行具有多个最小容器的Linux或具有多个小Unikernel的Xen机器.
但这两种解决方案的优点和缺点是什么?一个比另一个更安全吗?它们之间是否存在显着的性能差异?
ISa*_*ych 11
来自http://wiki.xenproject.org/wiki/Unikernels
Unikernel提供什么?
Unikernel通常会生成一个单一的运行时环境,旨在启用仅使用该环境构建的单个应用程序.通常,此环境缺乏生成子进程,执行shell命令,创建多个线程或fork进程的能力.相反,它们提供了目标语言运行时的纯粹化身,无论是OCaml,Haskell,Java,Erlang还是其他一些环境.
Unikernels与Linux容器
最近,Linux容器解决方案优于传统虚拟机的优势已有很多.据容器拥护者称,它们的轻量级内存占用,快速启动时间和易于打包使得容器成为虚拟化的未来.虽然容器的这些方面肯定是值得注意的,但它们并不意味着虚拟机管理程序的世界末日.事实上,Unikernels可能会降低容器的长期实用性.
Unikernel促进了容器支持者所描述的非常相同的理想属性,增加了一个绝对出色的安全故事,很少有其他解决方案可以匹配.
因此,如果您只想运行Haskell应用程序Unikernels可能适合您,并且它们应该比docker更少开销(并且Docker开销非常小),但是如果您的应用程序需要一些准备好的环境,则需要与非Unikernels软件进行通信码头是一个更好的选择.我想现在说Unikernel是有用的还是普遍的还为时过早,只有时间会证明.
| 归档时间: |
|
| 查看次数: |
3523 次 |
| 最近记录: |