| ゼロVM | |
|---|---|
| 原作者 | カミュエル・ギリヤドフ、コンスタンティン・ペレシプキン、ドミトリー・ボルトク |
| 開発者 | Rackspaceに買収されたLiteStack |
| 安定版リリース | 1.0 [1]
/ 2014年3月20日 (2014年3月20日) |
| リポジトリ |
|
| 書かれた | C、アセンブリ |
| オペレーティング·システム | リナックス |
| プラットフォーム | x86-64 |
| タイプ | アプリケーション仮想化 |
| ライセンス | Apacheライセンス2.0 |
| Webサイト | zerovm.org |
ZeroVMは、オープンソースの軽量仮想化およびサンドボックス技術です。Google Native Clientプラットフォームを用いて単一のプロセスを仮想化します。完全なオペレーティングシステムではなく単一のプロセスのみを仮想化するため、起動時のオーバーヘッドは5ミリ秒程度です。[2] [別途情報源が必要]
サンドボックス
ZeroVMは、 Google Native Client (NaCl) をベースとした技術を用いて、単一プロセス[3]の周囲にサンドボックスを構築します。このサンドボックスは、実行されるアプリケーションがホストOSのデータにアクセスできないようにするため、信頼できないコードを安全に実行できます。ZeroVMで実行されるプログラムは、まずNaClプラットフォーム向けにクロスコンパイルする必要があります。ZeroVMはx86-64プラットフォーム向けにコンパイルされたNaClコードのみを実行でき、Portable Native Client(PNaCl)形式は実行できません。
ZeroVMで実行されるコードは、通常のシステムコールを呼び出すことができず、ホスト環境とやりとりすることもできません。外部との通信はすべてチャネルを介して行われ、チャネルはプログラム起動前に宣言する必要があります。サンドボックス外では、チャネルはローカルファイル、パイプ、または他のZeroVMインスタンスに接続できます。[4] サンドボックス内では、プログラムはチャネルをファイル記述子として認識します。サンドボックス化されたプログラムはチャネルからデータを読み書きできますが、ホスト内でチャネルがどこに接続されているかは認識しません。
ZeroVM用にコンパイルされたプログラムは、オプションでZRTと呼ばれるZeroVMランタイムライブラリを使用できます。このライブラリは、プログラムにPOSIX環境を提供することを目的としています。[5]
これは、C標準ライブラリの一部を置き換えることで実現されます。特に、ZRTは、やなどのCファイル入出力関数を、メモリ内ファイルシステムで動作するバージョンに置き換えます。ルートファイルシステムはtarballとして提供されます。これにより、プログラムは通常のUnix環境を「見る」ことができます。
fopenopendir
ZRTはC言語の日付・時刻関数などを置き換えtime、プログラムに固定的で決定論的な環境を提供します。固定された入力があれば、毎回の実行で同じ結果が返されることが保証されます。この制限された環境では、非機能的なプログラムであっても決定論的になります。[6]
これにより、プログラムの挙動が固定されるため、デバッグが容易になります。
Swiftとの統合
ZeroVMは、 OpenStackの分散オブジェクトストレージコンポーネントであるSwiftと統合されています。[7] ZeroCloudミドルウェアをSwiftにインストールすると、クライアントはZeroVMプログラムを含むSwiftへのリクエストを送信できます。リクエストはストレージノード上で直接実行されます。つまり、プログラムはデータに直接アクセスできることになります。
歴史
ZeroVMはイスラエルのスタートアップ企業LiteStackによって開発されました。Gitリポジトリへの最初のコミットは2011年11月に追加されました。[8] LiteStackは2013年10月にRackspace
に買収されました。zerovm [ 2] [9] [10] ZeroVMはTechstars Cloud 2013インキュベータプログラム
に参加し、50万ドルのシード資金を獲得しました。[11] [12]最初のZeroVMデザインサミットは2014年1月にテキサス大学サンアントニオ校
で開催されました。[13]
参照
- Googleネイティブクライアント
- LXC (Linux コンテナ)
- seccomp
- Docker(ソフトウェア)
参考文献
- ^ “リリース 1.0”. 2014年3月20日. 2018年7月23日閲覧。
- ^ ab Lindberg, Van. 「ZeroVM: Smaller, Lighter, Faster」. Rackspace Blog . 2015年9月19日時点のオリジナルよりアーカイブ。 2014年4月14日閲覧。
- ^ Yegulalp, Serdar (2013年10月23日). 「ZeroVMはマシンではなくアプリを仮想化する」InfoWorld . 2014年4月14日閲覧。
- ^ 「ZeroVM Channels」. GitHub . 2014年4月14日閲覧。
- ^ 「ZRT Readme」. GitHub . 2014年4月14日閲覧。
- ^ “ZeroVM Architecture”. 2014年2月8日時点のオリジナルよりアーカイブ。2014年4月14日閲覧。
- ^ “ZeroCloud”. GitHub . 2014年4月14日閲覧。
- ^ Gilyadov, Camuel. 「First Commit」. GitHub . 2014年4月18日閲覧。
- ^ Shamah, David (2013年10月24日). 「Rackspace、ZeroVMの『クラウド向け』ハイパーバイザーを採用」ZDNet . 2014年4月14日閲覧。
- ^ ジャック・クラーク(2013年10月25日)「Rackspaceがイスラエルに進出、クラウド戦争に新たな武器を導入」The Register 2014年4月14日閲覧。
- ^ Idan, Henn (2013年11月3日). 「イスラエルのZeroVMがRackSpaceに買収される」. Geektime . 2014年3月30日時点のオリジナルよりアーカイブ。2014年4月14日閲覧。
- ^ Lorek, Laura (2013年4月19日). 「ZeroVMがクラウドコンピューティング向けソフトウェアを開発」. Silicon Hills News . 2014年4月14日閲覧。
- ^ Rackspace. 「ZeroVM Design Summit」. YouTube . 2014年4月18日閲覧。
外部リンク
- 公式サイト
- [1] GitHubで
- 安定したUbuntuパッケージ
- 最新のUbuntuパッケージ