先日バルセロナで開催されたMWCのことを考えるとき、おそらくあなたは最新のスマートフォンや他の携帯機器について考えることだろう。だがそれは物語の半分に過ぎない。実際には、そうした話題は半分以下なのだ。なにしろMWCで行われているビジネスの大部分は、企業向け通信ビジネスに関わるものだからだ。それほど遠くない昔、そのビジネスとは、高価な専用ハードウェアを売ることに他ならなかった。だが現在は、これらのほとんど全てがソフトウェアに移行している。そして多くのソフトウェアがオープンソースなのだ。
なので、今年Linux Foundation(LF)がMWCに独自のブースを設けたのは当然のことだ。それは巨大なものではなかったが、独自のミーティングスペースを確保できる程度には大きなものだった。ブースはLFによる3つのプロジェクトによって共同利用されていた:Cloud Native Computing Foundation(CNCF)、Hyperledger、そしてONAPやOpen Platform for NFV (OPNFV)(どちらも最新ネットワークに欠かせない)などの、基本的なプロジェクトを支えるLinux Foundation Networking (LFN)である。そして5Gの出現により、つかむべき新しい市場シェアがたくさん生まれている。
このイベントにおけるCNCFの役割について議論するために、私はCNCFのエグゼクティブディレクターであるDan Kohn氏の話を聞いた。
MWCでCNCFは、OpenStack上の仮想ネットワーク機能と、CNCFがクラウドネイティブネットワーク機能と呼ぶものの性能を比較したテストベッドを発表した。このクラウドネイティブネットワーク機能は、Kubernetes(とベアメタルホストであるPacket)を利用している。プロジェクトの成果として示されたものは、少なくともこれまでのところは クラウドネイティブコンテナベースのスタックは、競争相手のOpenStackコードよりも1秒あたりにはるかに多くのネットワーク機能を処理できたということである。
「私たちが発信しているメッセージは、ベアメタルもしくは任意のクラウドの上で動作する、汎用プラットフォームとしてのKubernetesを使えば、ほとんどの仮想ネットワーク機能は、クラウドネイティブネットワーク機能上に移植できるということです」とKohn氏は語った。「すべての運用支援システム、すべてのビジネス支援システムソフトウェアも、同じクラスタ上のKubernetesで実行することができます」。
さて、一方OpenStackは、また別の大規模なオープンソースプロジェクトである。ご存知ない方のために説明すると、企業が自身のデータセンターのソフトウェア基盤を管理するための手段を与えるものだ。OpenStackの最大の市場の1つは、長い間通信業界だった。これまでも常にCNCFとOpenStack Foundationの間には、ある種の摩擦が続いていたが、OpenStack Foundationがその組織を、直接コアOpenStackプロジェクトとは関係しないプロジェクトへも開放したことによって、その摩擦傾向は強まった。
私はKohn氏に対して、現在CNCF/Kubernetesスタックを、OpenStackのライバルとして位置付けているのかどうかを尋ねた。「はいそうです。私たちの見解は、Kubernetesをベアメタルサーバー上で動作させるべきで、中間層は不要だというものです」と彼は述べた。これまでCNCFはこうしたことを明言しては来なかったが、内部ではずっとそのように言われていたのだ。彼はまた、こうした摩擦の一部が、CNCFとOpenStack Foundationが、様々なプロジェクトに対して競合関係になっていることから生じていることを認めた。
OpenStack Foundation側は、当然ながらこうした対立には同意しない。OpenStackのCOO、Mark Collierは「KubernetesをOpenStackと対立するものとして扱うことは極めて非生産的です。それに、OpenStackが既に多くのケースで、Kubernetesと組み合わせる形で5Gネットワークを支えているという事実を無視することになります」と私に対して語った。「それに、OpenStackが単なる仮想マシンのオーケストレーターだとおっしゃっているのでしたら、OpenStackが実際に何をしているのかについての理解が不足なさっていることも意味していますね。そうした説明は、もう数年前の過去のものです。多くのワークロードにとって意味のある、仮想マシンからの離脱が、OpenStackからの離脱を意味するわけではありません。今ではOpenStackはそうした環境のなかで、Ironic、Neutron、およびKeystoneサービスを通じてベアメタル、ネットワーク、そして認証を管理しているのです」。
同様に、OpenStack Foundationの元ボードメンバー(ならびにMirantisの共同創業者)であるBoris Renski氏は、私に対して以下のように語った「単にコンテナーがVMに取って代わることができるからといって、KubernetesがOpenStackに取って代わるわけではありません。Kubernetesの基本設計は、低レベルのインフラストラクチャを抽象化する以外のものがあることを前提としています、すなわちアプリケーションを意識したコンテナスケジューラであることを目指しています。一方OpenStackは、ベアメタル、ストレージなどの低レベルのインフラストラクチャ構造を抽象化することを目的に、特別に設計されているのです」。
この議論はKohn氏とCNCFによるKata Containersへの批判にもつながっている。Kata Containersとは、OpenStack Foundationがその組織をOpenStack以外のプロジェクトに対しても開放した後に手がけた、最初のプロジェクトである。Kata Containersは、従来の仮想マシンに対してさらなるセキュリティを加え、コンテナの柔軟性と組み合わせて提供することを約束している。
「KataをめぐるFUD(不安や疑念)に関してはこう言うことができます:通信会社は(a)騒がしい隣人問題(同じテナントに載る他のインスタンスとのリソース競合問題)と、(b)セキュリティに関する問題に対応するために、Kataを使う必要が出てくるでしょう」とKohn氏は語る。「それは未知のものに対するFUDに過ぎませんし、(Kataの採用する)マイクロVMは本当に興味深い技術なのです」。
しかし彼は、サードパーティのコードを実行しているような状況(Firecrackerを実行しているAWS Lambdaを想像して欲しい)に対しては、Kataのやりかたは興味深いと考えているが ―― 残念ながら通信業者たちは通常そのようなコードを実行したりはしないのだ。そして彼はまた、Kubernetesも騒がしい隣人たちをうまく扱うことができると主張している。なぜならそれぞれのコンテナが抱えることのできるリソースの数を限定することができるからだ。
どちらの組織もここではフェアな議論をしているように見える。KubernetesはいくつかのユースケースではOpenStackよりも、よりうまい処理を行い、高いスループットを提供できるかもしれないが、その一方では、OpenStackはそれ以外の多数のユースケースを上手く扱うことができる。だが明らかなのは、ここにかなりの摩擦が生まれていることなのだ。残念なことである。
画像クレジット: Jean Joselle Rosal / EyeEm / Getty Images
[原文へ]
(翻訳:sako)