開源輕量級虛擬化平臺: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 消耗
- 充分利用底層硬件: Vectorization and manual optimization of inner loops (unlike JVM).
- 真正安全的隔離: ZeroVM has no need for additional inner sandboxes (unlike LXC/OpenVZ) or outer sandbox (unlike JVM). ZeroVM derives its security from the proven Chrome NaCl.
- 確定性: Unlike other hypervisors, ZeroVM uniquely is deterministic, and hence offers true portability, productive development, automatic failover and transparent VM migration.
- 事務性: ACID transactionality on VM level, which is unique to ZeroVM.
- 網絡中立: Pipes can be backed, transparently, by any transport: inproc, IPC, RDMA, InfiniBand, TCP/IP, etc.. This is unique to ZeroVM.
- 易于集群: No network virtualization is needed. Cluster routing is also deterministic, automatically recoverable and transparently movable. This is not available in other platforms like KVM, XEN or VMWare.
- Host-OS 中立: ZeroVM decouples VM abstraction from host OS abstraction so it can run on many unmodified OSes in the mode of an ordinary application. ZeroVM doesn't expose host syscalls, but rather re-implements them as a part of the untrusted component of ZeroVM. This is unlike Chroot/LXC/OpenVZ.
- 語言中立: C/C++/Assembly and hence anything else is also supported. For example, Python, Ruby, PHP, Perl can all be executed in ZeroVM with their native interpreter compiled to ZeroVM ISA.
- 便攜: We are working on a portable version, in which LLVM bitcode will be dynamically compiled inside a VM to either ARM or Intel. Meanwhile the developer is required to re-compile (just like with any other C/C++ app) (unlike everything but JVM). Please note that dynamic languages work as-is when using their native interpreter.
- 彈性: ZeroVM makes it practical to spawn virtual clusters for both long and short duration. For example 1000 ZeroVMs can be provisioned for just 10 seconds each across an entire cluster.
- 一致性: All VMs have a completely identical execution environment every time they are substantiated: identical instruction set, identical amount of memory, identical IO, etc. Hence any ZeroVM executable binary runs on any ZeroVM host, always, and each takes exactly same path due to determinism.
- 可嵌套: ZeroVM can be nested with non-accumulating overhead and reliably models hierarchical trust domains like IaaS<PaaS<SaaS<Extentions.
- 可聚合: ZeroVM can aggregate many physical servers and represent them as a single virtual system. Moreover, ZeroVM can represent any number of virtual systems backed by any number of physical servers. This is unlike everything but ScaleMP and Ravello.
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!