eBay自社製のコンテナオーケストレーションツール、TessMaster登場!

2017年6月15日(木)
松下 康之 - Yasuyuki Matsushita
OpenStack Summit Boston 2017で紹介された、eBayが自社で使うコンテナオーケストレーションツールのTessMaster。マルチリージョンに拡がるデータセンターを跨いだ運用管理の実装例だ。

TessMaster

OpenStack Summit Boston 2017では、全部で300を超えるセッションが開催されたという。その多くはOpenStackのコンポーネントに関する最新情報、導入事例、システムを構築する上での注意点などをまとめたものだが、なかにはOpenStackを使いこなすための全く新しいプロジェクトが紹介される場合もある。そのなかから今回は、eBayが公開したTessMasterというKubernetesを巨大な規模でコントロールするオーケストレーションツールを紹介したい。

このセッションでは、eBayのビジネスを支えるインフラストラクチャーの規模の紹介から始まり、「それをいかにして管理運用するか? という問題に対するeBay自身の解答として作られたのがTessMaster」と語ったのはeBayのUday Ruddarraju氏だ。

セッションは、まずeBayの社内クラウドの規模を概観するところから始まった。

eBayの社内インフラの概要。167,000台の仮想マシン、13PBのストレージ

eBayの社内インフラの概要。167,000台の仮想マシン、13PBのストレージ

eBayの説明によると、同社内のクラウドはリージョンが異なる複数のデータセンターにまたがって展開されているという。その上で稼働するアプリケーションは約4000。これを多いと思うか少ないと思うかは議論の分かれるところだが、多くはコンテナ化されており、それをマニュアルで管理するのは限界があったという。DockerコンテナそしてKubernetesは、OpenStack上のアプリケーション実行環境として非常に人気のあるソフトウェアだが、eBayの規模、つまりマルチリージョンで10万台を超える仮想マシン上に数え切れないぐらいのコンテナが稼働するものを運用管理するのは、非常に困難な問題であることは理解できる。

実際、すでにOpenStackのプロジェクトとして存在するMagnumでは、eBayの必要な機能は達成できなかったと言う。そのため独自に作った管理用のフレームワークがTessMasterというわけだ。会場からも質問があったのだが、「Hashi CorpのTerraformのように構成管理を自動化するツールがすでにあるのに、なぜゼロから開発したのか?」に関しては「宣言的に環境を定義して『今何がどうなっているのか』(What is really is:WIRI)を認識して『今どうあるべきか』(What it should be:WISB)を閉じた運用ループの中で実行したいからだ」と回答していた。

複数の地域に存在するデータセンターにワークロードを分散

複数の地域に存在するデータセンターにワークロードを分散

これは手続き的にインフラストラクチャーを定義するのではなく、本来あるべき姿を定義して管理ツールが自動的にそれに近づくように実行する、という発想のものだ。eBayの呼び方では「Fleet Management(艦隊管理)」となっているが、ここで言うFleetとはコンテナが稼働する際のリソース、コンピュートノード、ネットワーク、ストレージを細かい単位で管理する際の対象をそう呼んでいるというものだ。

eBayの環境に足らなかった要素が「Fleet Management」

eBayの環境に足らなかった要素が「Fleet Management」

そのために様々なツールを検証してみた結果、「自分たちで作るしかない」という結論になり、それがTessMasterという構成管理ツールになったという。TessMasterの特徴は、宣言的であり、APIサーバーが常に環境を監視し、モデルを元に環境がどうなっているのか、新しいアプリケーションのためにどうあるべきか、変更が行われたらそれを元に再度監視を行うという完結したループの中で、複数のデータセンターを運用できる点だろう。スライドの最後にある「ハイブリッドクラウドではさらに問題は難しくなる」という辺りに、様々な試行錯誤を体験した雰囲気が漂っている。

TessMasterの特徴

TessMasterの特徴

セッションでは、いわゆるセルフヒーリングの機能として、すでに稼働しているKubernetesのプロセスを強制終了させても自動的にあるべき姿に復旧する場面をライブデモで見せて、これぞeBayが必要としている運用の自動化だということを垣間見せた。

現時点でのeBayでの利用の例

現時点でのeBayでの利用の例

これは、eBayほどの巨大なインフラストラクチャーであれば当然必要となる自動化への道筋で、パブリッククラウドベンダー以外にも同じようなニーズを持っている企業があるということを認識すべきだろう。

TessMasterによる環境記述の例

TessMasterによる環境記述の例

そして以前の記事にも書いたが、筆者は、巨大なインフラストラクチャーを運用した経験のないITベンダーは、商用の管理運用ツールを提供できなくなっていると考えている。

デブサミで垣間見たGoogleのDevOpsの凄さは人的要素の徹底排除にある

このTessMasterのプロジェクトが成功するかどうかは、もちろんeBay自身のコントリビューションも大事だろうが、同じように巨大な環境を運用管理するユーザーの賛同と協力を得られるかどうかににかかっているように思える。「車輪の再発明は良くない」というのはOpenStack Foundationのマーク・コリアー氏のコメントだが、必要に応じて開発を行い、自社で使いこなしてから外部に協力を求めるためにオープンソースソフトウェアとして公開するという流れは、今後も続くだろう。その際に必要となるのは、開発そのものの力よりも外部へのコミュニケーション能力とコミュニティ作りのノウハウかもしれない。

eBayが社内で利用しているTessMasterのダッシュボード

eBayが社内で利用しているTessMasterのダッシュボード

GitHubに設けられたリポジトリにはまだREADME.mdしかない状態だが、これからの発展を注視したい。

ebaytess/master the tess master

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

運用・管理イベント
第5回

eBay自社製のコンテナオーケストレーションツール、TessMaster登場!

2017/6/15
OpenStack Summit Boston 2017で紹介された、eBayが自社で使うコンテナオーケストレーションツールのTessMaster。マルチリージョンに拡がるデータセンターを跨いだ運用管理の実装例だ。
運用・管理イベント
第4回

OpenStack特化のバックアップソリューションを手がけるTrilio Data

2017/6/14
マーケットプレイスで見つけたOpenStack特化のバックアップソリューションを手がけるTrilio Data
システム開発イベント

イベント2日目:デモ連発で会場を沸かせたマーク・コリアー氏

2017/6/13
OpenStack Summit Boston 2017の2日目のキーノートはデモ中心の構成で、「コンポーザブルインフラストラクチャー」を印象づけるものだった。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています