--その発想がCanonicalが開発するオープンソースのオーケストレーションツールである「Juju」の発想につながっていると。
その通りだ。まずパブリッククラウドでLinuxを立ち上げる時にUbuntuならすぐにできるというのが広がり、誰もがUbuntuを使うようになった。でも実際にはその先にアプリケーションがあるわけだ。このアプリケーションのためにウェブサーバとアプリケーションサーバとDBを構成してくれというリクエストがくる。そこにPaaSが入ってくる。
つまり今日はサーバは5台で済んだが、明日はもっとすごいアクセスが来て100台のサーバを用意しなければいけないかもしれない。それを個々に対応していたら作業が終わらない。例えばビッグデータの処理のためのサーバを100台直ぐに用意してくれと言われても、経験がないと難しい。
一方、Jujuのように誰かが既に実績のあるスクリプトや構成例を共有してくれたら、開発者もインフラ担当者もとても楽に仕事が進められる。そのスクリプトを共有できるようにしたのが、既に実績のあるコードが再利用できるコード「Charm」であり、それを選べるようにしたストアシステムがCharmstoreだ。つまりCharmを使って運用を楽にするためツール、それがJujuだ。
Jujuの説明のくだりでは、天体の動きを例に筆者が差し出したペンで紙に図を書きながら一生懸命に語ってくれたMark Shuttleworth氏。 「天動説を唱えるギリシャの易者が予想する星の動き」がシステム管理自動化ツール「Puppet」だとすると「太陽を中心としたシステムが分かってからの星の動きを予想する」のがJujuだ、と語った。つまりよりクリーンで分かりやすくモデル化されていることが大きな違いだし、個別のスクリプト言語やソフトウェアを習得しなくてもいいということを力説してくれた(松下)
--OpenStackに対し、Canonicalとしてはどのような貢献をしているか。
われわれは、OpenStackの運用を簡単にすることに注力している。OpenStackは極論すれば、仮想のコンピュートエンジンと仮想のネットワークと仮想のストレージを実現するソフトウェアだ。われわれはインテルに仮想のコンピュートエンジンへの意見をしたり、シスコにOpenStackのネットワークの改善要求をしたり、VMwareに仮想化についてどうしろとも言わない、EMCにストレージがこうあるべきとは言わない。
それぞれが専門家だからね。だがCanonicalは運用に関しては知見と経験を持っている。だから大規模なOpenStack構成に関しては構築と運用をどうしたら簡単にできるかをいつも考えているし、その部分に貢献をしているということだ。その部分をクリーンにシンプルにモデル化できるツールを持っている。それがJujuだ。
--マイクロソフトが開発に携わったコンテナのハイパーバイザ「LXD」について。
LXDは仮想マシンのように使えるコンテナだ。Dockerはコンテナのひとつの実装として素晴らしいが、一つのプロセスだけを収めるものだ。LXDはコンテナハイパーバイザーと呼んでいるが、仮想マシンの冗長な部分をなくしたものである。OSのように使えるが仮想マシンよりも遥かに少ないリソースを使って、より高速に起動し、仮想マシンのように複数のプロセスをセキュアな環境を提供するものだ。
キーノートの中でもデモをしたが非常に素早く起動するのを見てもらえたと思う。全てのアプリケーションがコンテナやマイクロサービスに移行できるわけではないし、管理することを考えたらなんでもDockerになると考えるのは危険だ。開発者にとってはいいかもしれないが、運用担当にとっては悪夢だね。
LXDであれば、これまでのアプリケーションを変えずにコンテナの利点を使うことができる。ここでもわれわれは運用担当者にとってどうすれば楽になるのかを考えているということだ。