イベント
クラウドはオープンソースの技術から作られた? ~LinuxCon Japan 2013初日レポート
OpenDaylightのセッションも
(2013/5/30 06:00)
Linuxの開発者が集まる世界的な技術カンファレンス「LinuxCon Japan 2013」が5月29日に開幕した。東京の椿山荘で31日まで開催される。主催はThe Linux Foundation(LF)。公式言語は英語となる。
カンファレンスでは、Linuxの生みの親であるLinus Torvalds氏をはじめ、さまざまな基調講演やパネルディスカッションを実施。さらに、ファイルシステムやメモリ、ネットワーク機能、組み込み機器対応、仮想化技術などのLinuxカーネル技術を中心に、開発のありかたやカーネルコミュニティへの参加促進などもまじえて、多数のセッションが開かれ、コアな技術者が緊密な議論を交わすイベントである。
Linuxコミュニティに学ぶコラボレーションの逆説的な教訓
初日最初の基調講演には、The Linux FoundationのエグゼクティブディレクターのJim Zemlin氏が登壇。「The Adoption of Open Source Continues to Accelerate」と題し、オープンソースプロジェクトなどのコラボレーションについて、「大きな夢を持つな」「計画するな」といった逆説的な教訓をまじえて語った。
Zemlin氏はまず、クラウドやビッグデータ、モバイル、組み込みなど、ITのさまざまな分野をOSSが加速している現状を指摘。そして、オープンソースを活用するために、組織の外とコラボレーションしていく必要があると語った。
そこで氏は、Linuxを開発したLinus Torvalds氏の写真を示し、「私は彼のボスです」とユーモラスに紹介。さらに、自身の娘の写真を並べて、「どちらも私の言うことを聞いてくれない」と会場の笑いを誘った。そして、「でもLinuxは大きく成長し続けている」として、よりよいコラボレーションのための教訓を語った。
教訓1は「Don't dream big」(大きな夢を持つな)。書籍名にもなったTorvalds氏の「Just something for fun」(それが僕には楽しかったから)という言葉や、ベストセラーになったDaniel H. Pink氏の著書「Drive」などを引用しながら、クリエイティブな作業には必ずしも報酬の高さがモチベーションにならないこと、ギターの練習のように、技術をマスターして思いどおりにできるようになることがモチバーションになることなどを語った。
教訓2は「Give it away」(すべてあげてしまう)。Zemlin氏は、現在の夫人と最初にデートしたときに「The Linux Foundationで働いている」と言ったところ、「どうやって稼いでいるの」と残念そうに言われたというジョークを披露。そして、オープンソースの企業であるRed Hatや、オープンソースに参加しているIBMの株価が上がっているのに対し、Microsoftの株価が上がっていないと主張し、「無料にしてしまうことで、アイデアを共有でき、お金を稼げる」と説明した。
教訓3は「Don't have a plan」(計画するな)。Torvaldsに将来のLinuxの計画を聞くと、決まって「そんなことわからないよ」と一笑にふされるという。そのLinuxは、携帯電話からスーパーコンピュータ、証券取引所まで、重要なところで使われている。「信じられないような状況で、こんなことは計画できない」と語った。「例えば、モバイル分野の開発者がLinuxの省電力機能を開発したら、その機能がスーパーコンピュータにも使われるようになった。スーパーコンピュータで一番のコストは、ハードやソフトではなく、電力や冷却だからだ。予想していなかった結果を生んだ例だ」(Zemlin氏)。
教訓4は「You don't always have to be nice」(いつもいい人でいる必要はない)。Linuxカーネル開発メーリングリスト(LKML)では、しばしば強い調子で批判的なコメントが飛びかうことが知られている。Zemlin氏は、バークレー大学での心理学の実験で、ブレーンストーミングをしたグループよりディベートをしたグループのほうがいいアイデアを出したという結果を引用しながら、「もちろん限度はあるが、お互いにアイデアを戦わせるのは悪くない」と語った。
教訓5は「The best firms invest in external research and development」(外部のアイデアを調べる)。Zemlin氏は「よいアイデアは外部から来る。クラウドはよい例で、どこか1社内で起こったものではなく、オープンソースの技術から作られた」と主張。さらに、GoogleやHP、IBMなどの企業で外部の技術を研究する担当者を置いている例を挙げた。
Zemlin氏は最後に、「このようなコラボレーションにみなさんの会社に入ってきてほしい」と呼びかけた。さらに、オープンソースの世界では自発的なコミュニティが重要であると語り、「ボスはいらない」と冒頭の話に掛けた言葉で講演を締めくくった。
SDNのオープンソースプロジェクトOpenDaylightの全容
続いて、「Introduction To OpenDaylight」と題し、The Linux FoundationによるSDN(Software Defined Networking)開発プロジェクトである「OpenDaylight」についてNEC Corporation of AmericaのTerry Nakajima氏が講演した。
Nakajima氏はまず「Linux Foundationということで誤解されることが多いが、Linuxだけという意図はなく、複数のOSで動くようにする」と説明した。Linuxの実績や信頼性から、OpenDaylightプロジェクトがLinux Foundationに支援を求めたのだという。
そして、SDNの概要を説明し、ネットワークを利用する側がネットワークをプログラムできることがメリットで、ビジネスチャンスは大きいと説明した。
SDNのうち、OpenDaylightプロジェクトが対象範囲とするのは、主にコントロールプレーンを中心に、そこからデータプレーンをコントロールするOpenFlowなどのAPI(サウスバウンドAPI)と、アプリケーション側からコントロールプレーンを制御するAPI(ノースバウンドAPI)。さらに、ノースバウンドAPIを使うアプリケーションのプラグインなども対象範囲に含まれる。
こうしたソフトウェアをベンダーニュートラルに開発してコミュニティで共有し、SDNの採用を促進することと、健全かつ透明に運営することがプロジェクトの目的だとNakajima氏は説明した。
ここでNakajima氏は、OpenDaylightプロジェクトの運営について説明した。会員には、個人1種類と企業3種類のメンバーシップがあり、個人は無料、企業は会費を払って参加する。透明性のために、技術的な問題はTechnical Steering Committee(TSC)が判定するという。
また、個別のプロジェクトがプロポーザル段階からインキュベーションを経て成熟段階へと進んでいくライフサイクルも規約定義されている。ただし現在は立ち上げ段階の暫定的なワークフローとして、TSCが判断して段階をスキップすることも行われているという。Nakajima氏は、提案されているプロポーザルの例として、テナントごとに独立した論理ネットワークを作るNECのVirtual Tenant Network(VTN)を紹介した。
OpenDaylightの最初のコードは、2013年の第3四半期にEPL(Eclipse Public License)のライセンスで公開される予定だ。Nakajima氏は最後に「利用側のみなさんからの、要望などのインプットを期待している」と聴衆に呼びかけた。
クラウドインフラの開発者によるパネルディスカッション
初日の基調講演の最後には、クラウドインフラの開発者によるパネルディスカッション「Virtualization & Open Cloud Panel」が開かれた。Fernando Luis Vazquez Cao氏(NTT)をモデレーターに、David Nalley氏(Apache CloudStack)、Laszlo Hornyak氏(oVirt、Red Hat)、Guido Trotter氏(Ganeti、Google)、Muharem Hrnjadovic氏(Rackspace)が議論を交わした。
最初に「クラウドは仮想化と何が違うか」という問いがなされると、Nalley氏はエンドユーザーのプロビジョニングやスケールなどが違うと回答。Hornyak氏はイネーブルにするだけでなくリソースを提供するものだと、Trotter氏はクラウドとはリモートのことだと、Hrnjadovic氏は電力のように使った分だけ課金するものだと、それぞれ異なるクラウド観を示した。
また、「クラウドにおいてハイパーバイザーは重要でなくなってきているか?」という問いに対しては、エンドユーザーにとっては重要ではないという意見でほぼ一致。いっぽう、クラウドプロバイダーにとっては同じように扱えるようにして選択肢を提供する取り組みが必要だとも語られた。さらに、現在のハイパーバイザーの設計は必ずしもクラウドにふさわしくなく、もっと効率化できるのではないかという技術論も交わされた。
会場からは、OpenStackやCloudStackなどのインターオペラビリティについての問いもなされた。これについては、インターオペラビリティといっても、共通APIから移行まであり、実装方法にもブローカーが仲介する方法や互換レイヤーをかぶせる方法などがあることが互いに語られ、「インターオペラビリティを議論するのはまだ早い。もっと動かして運用のプラクティスが確立でき、実際の市場の要求が出てから決めるべき」という意見も出された。
カーネル開発への招待と、学生による発表
基調講演のほか、さまざまなテーマに関するセッションが開催されている。ここではその1つとして、主に学生に対してLinuxカーネル開発へ誘い、さらに学生がミニ発表する「LinuxCon Staging + Student Presentations」の模様を紹介する。
最初に著名Linuxカーネル開発者のGreg Kroah-Hartman氏が、Linuxカーネルがどのように開発されているか概要を紹介した。Linuxカーネルは現在、1日あたり、1万500行が追加され、6700行が削除され、1990行が変更されているという。こうした変化の中で「正気を保つため」の仕組みとして、Hartman氏はタイムベースのリリースや変更が採用されていく流れといった開発プロセスについて解説した。さらに、「いかにカーネル開発者になるか」ということで、有用なドキュメントや情報源について助言した。
学生プレゼンテーションの1本目としては、Greg Kroah-Hartman氏の娘でもあるMadeline Kroah-Hartman氏が、OLPC(One Laptop per Child)プロジェクトを紹介した。特に開発途上国の子供たちの教育用に、“100ドルPC”とも呼ばれる、Linuxベースのラップトップ「XOシリーズ」を配布するプロジェクトだ。Hartman氏は、世界各地での実績や、ハードとソフトの構成、教育用のアプリケーションなどを紹介した。また、参加方法として、翻訳やソフトウェアのテストなどについて案内した。
Kenichi Suzuki氏は「Real-time virtual NIC on KVM for Real-Time Network with OpenFlow」の題で発表した。2つのマシンのKVMで動く仮想マシンがOpenFlowネットワークでつながっているときに、VoIPや動画ストリーミングなどのリアルタイム通信を効率的に行うために、帯域ベースやプライオリティベースのQoSを実現する仕組み。仮想マシンの仮想NIC(vNIC)として独自のRTvNICを使い、パケットにリアルタイム制御のための情報を追加し、KVM上のRCC(Real-time Communication Controller)でコントロールするという。
Praween Amontamavut氏は「A Kernel Process Monitoring Mechanism for Linux Embedded Systems」で発表した。組み込みLinuxを対象とした関数トレーサーによるモニタリングシステム。遠隔地で動いているデバイスでトレースログを貯めリモートからアクセスする仕組み。対象の組み込みシステムのカーネルからのトレースログを、接続したログ収集サーバーのRedis(NoSQLデータベース)で収集し、HTTP経由で情報を取得できるという。