ZeroVM轻量级虚拟化平台
ZeroVM 是第一个专门为云设计的虚拟机管理程序。当前架构的云是支离破碎的,因为它依赖于一个已经逐步消失的世界(客户端/服务器模型世界)里的虚拟机管理程序来进行设计。因此,我们构建了ZeroVM。
ZeroVM 是一个开源轻量级虚拟化平台,基于 Google Native Client 项目,提供如下优势:
- 速度: 现在最快的虚拟机服务器至少需要2分钟来创建,而 ZeroVM 只需不超过 5 毫秒
- 隔离: ZeroVM 是首个隔离每个用户每个应用的虚拟机管理系统,而老的平台需要在多个用户间分享一个虚拟机,让应用开发更加复杂
- 高效: ZeroVM 只虚拟化做实际工作的部分
ZeroVM 与传统虚拟机平台的差别:
- C & UNIX 进程抽象: 与硬件抽象不同,ZeroVM 使用 UNIX 风格的进程,进程间通讯使用管道 (与 KVM / XEN / VMWare 不同).
- 每次请求创建一个一次性虚拟机: 在 ZeroVM 中,每个实例不会在请求间重用,每个进来的请求都会创建一个全新的虚拟机
- 轻松的嵌入式: ZeroVM 是一个虚拟机,可执行文件只有 ~75KB. 可轻松嵌入到已有的存储系统
- 高性能: ZeroVM 只需微不足道的 CPU、内存和 IO 消耗
- 充分利用底层硬件: 向量化和内部循环的手动优化(与JVM不同)。
- 真正安全的隔离: ZeroVM不需要其他内部沙箱(与LXC / OpenVZ不同)或外部沙箱(与JVM不同)。 ZeroVM的安全性来自久经考验的Chrome NaCl。
- 确定性:与其他虚拟机管理程序不同,ZeroVM具有唯一的确定性,因此可提供真正的可移植性,高效的开发,自动故障转移和透明的VM迁移。
- 事务性:VM级别的ACID事务性,这是ZeroVM独有的。
- 网络中立:可以通过任何传输方式透明地支持管道:inproc,IPC,RDMA,InfiniBand,TCP / IP等。这是ZeroVM特有的。
- 易于集群: 无需网络虚拟化。集群路由也是确定性的,可以自动恢复并且可以透明地移动。 在KVM,XEN或VMWare等其他平台上不可用。
- Host-OS 中立:ZeroVM将VM抽象与主机OS抽象分离,因此它可以在普通应用程序模式下的许多未修改OS上运行。 ZeroVM不会公开主机系统调用,而是将它们重新实现为ZeroVM的不受信任组件的一部分。 这与Chroot / LXC / OpenVZ不同。
- 语言中立:C/C++/Assembly,因此也支持其他任何功能。 例如,Python,Ruby,PHP,Perl都可以在ZeroVM中执行,并将其本机解释器编译为ZeroVM ISA。
- 便携:正在开发便携式版本,其中LLVM位代码将在VM内动态编译为ARM或Intel。 同时,开发人员需要重新编译(就像使用任何其他C / C ++应用程序一样)(不同于JVM以外的所有东西)。 请注意,动态语言在使用其本地解释器时会按原样工作。
- 弹性:ZeroVM使得产生虚拟集群的时间很长很实用。 例如,在整个集群中,每个虚拟机仅需10秒即可配置1000个ZeroVM。
- 一致性:每次实例化时,所有VM都具有完全相同的执行环境:相同的指令集,相同的内存量,相同的IO等。因此,任何ZeroVM可执行二进制文件始终在任何ZeroVM主机上运行,并且由于确定性而各采用完全相同的路径 。
- 可嵌套:ZeroVM可以嵌套不累加的开销,并且可以可靠地对分层信任域建模,例如 IaaS<PaaS<SaaS<Extentions。
- 可聚合:ZeroVM可以聚合许多物理服务器并将它们表示为单个虚拟系统。 而且,ZeroVM可以代表由任意数量的物理服务器支持的任意数量的虚拟系统。 这与ScaleMP和Ravello之外的所有内容都不相同。
评论