Linux中國

10 個應當了解的 Unikernel 開源項目

unikernel 實質上是一個縮減的操作系統,它可以與應用程序結合成為一個 unikernel 程序,它通常在虛擬機中運行。下載《開放雲指南》了解更多。

當涉及到操作系統、容器技術和 unikernel,趨勢是朝著微型化發展。什麼是 unikernel?unikernel 實質上是一個縮減的操作系統(特指 「unikernel」),它可以與應用程序結合成為一個 unikernel 程序, 它通常在虛擬機中運行。它們有時被稱為庫操作系統,因為它包含了使應用程序能夠將硬體和網路協議與一組訪問控制和網路層隔離的策略相結合使用的庫。

在討論雲計算和 Linux 時容器常常會被提及,而 unikernel 也在做一些變革。容器和 unikernel 都不是新事物。在 20 世紀 90 年代就有類似 unikernel 的系統,如 Exokernel,而如今流行的 unikernel 系統則有 MirageOS 和 OSv。 Unikernel 程序可以獨立使用並在異構環境中部署。它們可以促進專業化和隔離化服務,並被廣泛用於在微服務架構中開發應用程序。

作為 unikernel 如何引起關注的一個例子,你可以看看 Docker 收購了基於 Cambridge 的 Unikernel 系統,並且已在許多情況下在使用 unikernel。

unikernel,就像容器技術一樣, 它剝離了非必需的的部分,因此它們對應用程序的穩定性、可用性以及安全性有非常積極的影響。在開源領域,它們也吸引了許多頂級,最具創造力的開發人員。

Linux 基金會最近宣布發布了其 2016 年度報告開放雲指南:當前趨勢和開源項目指南。這份第三年度的報告全面介紹了開放雲計算的狀況,並包含了一節關於 unikernel 的內容。你現在可以下載該報告。它匯總並分析研究、描述了容器、unikernel 的發展趨勢,已經它們如何重塑雲計算的。該報告提供了對當今開放雲環境中心的各類項目的描述和鏈接。

在本系列文章中,我們將按類別分析指南中提到的項目,為整體類別的演變提供了額外的見解。下面, 你將看到幾個重要 unikernel 項目的列表及其影響,以及它們的 GitHub 倉庫的鏈接, 這些都是從開放雲指南中收集到的:

ClickOS

ClickOS 是 NEC 的高性能虛擬化軟體中間件平台,用於構建於 MiniOS/MirageOS 之上網路功能虛擬化(NFV)

Clive

Clive 是用 Go 編寫的一個操作系統,旨在工作於分散式和雲計算環境中。

HaLVM

Haskell 輕量級虛擬機(HaLVM)是 Glasgow Haskell 編譯器工具包的移植,它使開發人員能夠編寫可以直接在 Xen 虛擬機管理程序上運行的高級輕量級虛擬機。

IncludeOS

IncludeOS 是在雲中運行 C++ 服務的 unikernel 操作系統。它提供了一個引導載入程序、標準庫以及運行服務的構建和部署系統。在 VirtualBox 或 QEMU 中進行測試,並在 OpenStack 上部署服務。

Ling

Ling 是一個用於構建超級可擴展雲的 Erlang 平台,可直接運行在 Xen 虛擬機管理程序之上。它只運行三個外部庫 (沒有 OpenSSL),並且文件系統是只讀的,以避免大多數攻擊。

MirageOS

MirageOS 是在 Linux 基金會的 Xen 項目下孵化的庫操作系統。它使用 OCaml 語言構建的 unikernel 可以用於各種雲計算和移動平台上安全的高性能網路應用。代碼可以在諸如 Linux 或 MacOS X 等普通的操作系統上開發,然後編譯成在 Xen 虛擬機管理程序下運行的完全獨立的專用 Unikernel。

OSv

OSv 是 Cloudius Systems 為雲設計的開源操作系統。它支持用 Java、Ruby(通過 JRuby)、JavaScript(通過 Rhino 和 Nashorn)、Scala 等編寫程序。它運行在 VMware、VirtualBox、KVM 和 Xen 虛擬機管理程序上。

Rumprun

Rumprun 是一個可用於生產環境的 unikernel,它使用 rump 內核提供的驅動程序,添加了 libc 和應用程序環境,並提供了一個工具鏈,用於將現有的 POSIX-y 程序構建為 Rumprun unikernel。它適用於 KVM 和 Xen 虛擬機管理程序和裸機,並支持用 C、C ++、Erlang、Go、Java、JavaScript(Node.js)、Python、Ruby、Rust 等編寫的程序。

Runtime.js

Runtime.js 是用於在雲上運行 JavaScript 的開源庫操作系統(unikernel),它可以與應用程序捆綁在一起,並部署為輕量級和不可變的 VM 鏡像。它基於 V8 JavaScript 引擎,並使用受 Node.js 啟發的事件驅動和非阻塞 I/O 模型。KVM 是唯一支持的虛擬機管理程序。

UNIK

Unik 是 EMC 推出的工具,可以將應用程序源編譯為 unikernel(輕量級可引導磁碟鏡像)而不是二進位文件。它允許應用程序在各種雲提供商、嵌入式設備(IoT) 以及開發人員的筆記本或工作站上安全地部署,資源佔用很少。它支持多種 unikernel 類型、處理器架構、管理程序和編排工具,包括 Cloud Foundry、Docker 和 Kubernetes。Unik 的 GitHub

(題圖:Pixabay)

via: https://www.linux.com/news/open-cloud-report/2016/guide-open-cloud-age-unikernel

作者:SAM DEAN 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國