osvパンフレット v2 @ osc2014-kyoto
DESCRIPTION
OSvパンフレット v2 @ osc2014-kyotoTRANSCRIPT
!!!!!!!OSvとは? OSvは単一のアプリケーションをLinux KVM・VMware・XenなどのハイパーバイザやAmazon EC2・Google Compute EngineなどのIaaSプラットフォームでLinuxOSなしに直接実行するための新しい仕組みです。 !OSvの仕組み !!!!!!!!!!!!!!!例として、Javaアプリケーションを仮想化環境で実行する事を考えてみましょう。 現在皆さんが使っている環境では、左図のようにホストOSの上でハイパーバイザが動いて、その上でゲストOSが動き、更にその上でJVMが動いて一番上でJavaアプリが走る、というような構成が一般的です。 この時、一つのVMでは一つのアプリケーションしか動かさないような使い方では、ゲストOSにホストOS同様のフルサイズのLinuxOSを用いる事は余計なオーバヘッドになります。 では、右図のようにハイパーバイザの上で直接JVMを実行することは出来るでしょうか? これを可能にする一つの解としては、OSレスで動作するようにJVMを改造することが考えられます。 しかし、この方式ではJVM以外の言語ランタイム(Ruby、Python…)やC/C++などのネイティブアプリケーションも実行出来るようにしようとしたら、必要な作業はほぼ同様であるにも関わらず、都度大がかりな改造作業が必要になります。
ハイパーバイザ
ホストOS
ゲストOS
JVM
Javaアプリ
ハイパーバイザ
ホストOS
JVM
Javaアプリ
そこで、OSvでは、言語ランタイムやネイティブアプリケーションへの改造はなるべく行わず、これらのプログラムがLinuxの機能を使用するために呼び出すPOSIX API/Linux独自APIをライブラリのような形で提供し、Linux上と同じようにファイルアクセスやネットワークのアクセスを可能にする薄いレイヤを提供します。 !!!!!!!!!!!!このレイヤはファイルシステムやネットワークにアクセスする機能を持ち、JVMだけではなく他の言語ランタイムやネイティブアプリケーションを実行するための機能を持つので、一応OSの範疇に入ります。 しかし、LinuxのようなフルサイズのOSとは異なり複数のアプリケーションを実行するための機能や沢山のプログラムを持たず、あくまでJVMならJVMだけを実行する機能を持ちます。 JVMを動かすための「ライブラリ」のように振る舞うため「ライブラリOS」と呼ばれます。 !OSvで動作する言語ランタイム・ネイティブアプリケーション 現在以下のようなアプリケーションが動作しています。 !言語ランタイムとその上で動作するアプリケーション ・OpenJDK7,8 ・Tomcat ・Cassandra ・Jetty ・Solr ・OpenDaylight ・Gitblit ・Clojure ・JRuby(JRuby on Railsなどが動作) ・Ringo.JS ・Jython ・Erjang ・Scala ・Quercus(JVMで動くPHPエンジン、Wordpressなどが動作)
ハイパーバイザ
ホストOS
JVM
Javaアプリ
OSv
・Ruby ・WEBRick ・Ruby on Rails ・Publify(Railsベースのブログエンジン) ・mruby ・lua !ネイティブアプリケーション ・haproxy ・memcached ・MySQL ・LevelDB ・SQLite !近日追加 ・Go ・Hadoop HDFS !OSvのフットプリント OSvはアプリケーションを仮想化環境上で実行するために最低限必要なものだけを提供するため、フルサイズのOSと比べとてもフットプリントが小さくなっています。!mruby用ディスクイメージの場合、ディスクイメージサイズは30MB未満・メモリサイズは最低55MB・起動時間は2秒未満となっています。!!OSvの開発体制・ライセンス体系 イスラエルのスタートアップであるCloudius Systemsが主導して開発をすすめていますが、BSDライセンスの元オープンソースで提供されており、開発スタイルはLinuxやRubyなどと同様のコミュニティベースのスタイルを取っています。!全ての議論はGoogle Groupsのosv-devグループで閲覧可能です。!ソースコードはgithubで公開されており、issueリストもここで管理されています。!!ホームページ:http://osv.io!github:https://github.com/cloudius-systems/osv!Google Groups:https://groups.google.com/forum/#!forum/osv-dev!Facebook:https://www.facebook.com/?q=#/groups/726131200784072/!!日本語での問い合わせ先 以下のメールアドレスへご連絡お願い致します。[email protected]