ZeroVM是第一个专门为云设计的虚拟机管理程序。当前架构的云是支离破碎的,因为它依赖于一个已经逐步消失的世界(客户端/服务器模型世界)里的虚拟机管理程序来进行设计。因此,我们构建了ZeroVM。
ZeroVM是一个开源轻量级虚拟化平台,基于GoogleNativeClient项目,提供如下优势:
速度:现在最快的虚拟机服务器至少需要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的安全性来自久经考验的ChromeNaCl。确定性:与其他虚拟机管理程序不同,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中执行,并将其本机解释器编译为ZeroVMISA。便携:正在开发便携式版本,其中LLVM位代码将在VM内动态编译为ARM或Intel。同时,开发人员需要重新编译(就像使用任何其他C/C++应用程序一样)(不同于JVM以外的所有东西)。请注意,动态语言在使用其本地解释器时会按原样工作。弹性:ZeroVM使得产生虚拟集群的时间很长很实用。例如,在整个集群中,每个虚拟机仅需10秒即可配置1000个ZeroVM。一致性:每次实例化时,所有VM都具有完全相同的执行环境:相同的指令集,相同的内存量,相同的IO等。因此,任何ZeroVM可执行二进制文件始终在任何ZeroVM主机上运行,并且由于确定性而各采用完全相同的路径。可嵌套:ZeroVM可以嵌套不累加的开销,并且可以可靠地对分层信任域建模,例如IaaS<PaaS<SaaS<Extentions。可聚合:ZeroVM可以聚合许多物理服务器并将它们表示为单个虚拟系统。而且,ZeroVM可以代表由任意数量的物理服务器支持的任意数量的虚拟系统。这与ScaleMP和Ravello之外的所有内容都不相同。
评论