BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Kubernetesに異を唱えるAbly

Kubernetesに異を唱えるAbly

原文(投稿日:2021/07/27)へのリンク

Ably Engineeringシリーズ最新記事には、同社エンジニアのMaik Zumstrull氏が、リアルタイムメッセージプラットフォームのAblyでKubernetesを使っていない理由について説明している。

Kubernetesが非常にホットな話題であることは間違いなく、多くの開発者や企業が関心を寄せている。それが目的とするのは、複数のクラスタやホストにわたるデプロイメントやスケーリング、コンテナ運用を自動化するプラットフォームを提供することだ。Kubernetesは、コンテナベースやマイクロサービス指向のプラットフォームを管理する上で、推奨ソリューションのひとつになっている。

AblyのプラットフォームはAWS上で運用されている。ソフトウェアはすべてコンテナ内にデプロイされるが、そのオーケストレーションにKubernetesや他のランタイムレイヤは使用していない。

Ablyのプラットフォームの複雑性やスケーラビリティに関する要件を考慮すれば、これは多くの人々にとって意外なことかも知れない。理由のひとつとして考えられるのは、Kubernetes時代が始まる前にAblyが立ち上がったという事実だ。実際のところ、Zumstrull氏が説明するように、Kubernetesを導入したとしても、システムがより複雑になるだけで、それに見合ったメリットは期待できないのだ。

Zumstrull氏は記事の中で、Ablyがリソース管理や自動スケール、トラフィックの進入をどのように処理しているか、Kubernetesに移行した場合にそれがどうなるのか、詳しく説明している。さらに、Kubernetesによってもたらされる、マルチクラウドやハイブリッドクラウドへの対応、インフラストラクチャ・アズ・コード、巨大なコミュニティの持つ価値といった具体的なメリットが、Kubernetsのコストと釣り合わない理由についても述べている。

費用対利益を注意深く評価した結果、Kubernetesのような極めて高価なコンポーネントの導入は、実際には問題を解決するのではなく、単に問題の一部を移動させるだけなのではないか、と思われました。

詳細を知るために、Zumstrull氏に話を聞いた。

InfoQ: 単刀直入にお聞きします — Kubernetesを取り巻く現在のハイプは、不当なものだと思いますか?

そうですね、今は少し騒ぎが過ぎると思います。ただし、それがKubernetesの品質的な問題にあると言っているのではない、という点は強調しておきます。Kubernetesコアサービス、MetalLBやCalicoといった関連プロダクトなど、非常に優れた開発が数多く行われていることは認識しています。さまざまな場所のSREチームが、ユーザフレンドリなマネージドKubernetesサービスの構築にトライしていることも知っています。

それでも人々は、新しいホットなものに飛びつくこと、Kubernetesを導入することに熱心過ぎるのではないかと思います。Kubernetesがなぜ必要なのか、相当な投資が後でペイオフするのか、といったストーリが十分に考えられていないのではないでしょうか。

InfoQ: あなたの述べているメリットの大部分は、自身のニーズに対して高度に調整されたプラットフォーム上で、運用環境を実行することで得られるものですね。そこに疑問が生じます。Kubernetesを使わず、独自のデプロイメントプラットフォームの開発を選択する価値があるのは、どのようなシナリオだと思いますか?

ほとんどゼロでしょう!第1原則から独自のプラットフォームを構築するというのは、何万人ものエンジニアを動員可能な組織のみが取り組むべきプロジェクトです。これまでの例を見れば、たとえそれが可能であっても、そうするべきでない場合もあるのです。

Ablyがやっていることを、"独自のプラットフォーム開発"とは思っていません。既存のプラットフォーム上で、カスタマイズ用のシン(thin)レイヤと社内ツールを使っている、と言った方が実情に合っています。私たちの現在のプラットフォームはAWSですが、他のチームはAzureやvSphere、あるいはKubernetesなどを使っているかも知れません。それらはいずれも、組織のニーズに対して、潜在的に意味のある選択なのです。

プラットフォームとしてのKubernetesに不満な点のひとつは、それが自己完結型でないことです — Kubernetesクラスタを実行するためのプラットフォームがさらに必要なのです。ですから、何らかの方法でクラウドプロバイダと契約するか、物理的にマシンを管理してベアメタル上での実行を試みる必要があります。もっとも、組織として達成したいことが何であるかによっては、それを行う価値があるかも知れません。

InfoQ: Ablyのプラットフォームがどの程度複雑なのか、その開発にどれ位の時間を要したのか、評価をしてみて頂けますか?

Ablyで最初のプラットフォームが立ち上がったのは、私が入社する前なのですが、当時から従事していた人たちに話を聞くと、当初の計画では、当社が現在運用しているものとほぼ同じプラットフォームを実行できるようになるまでに、1年程度を要すると見込んでいたそうです。

注意して頂きたいのは、これはKubernetes 1.0がリリースされる前の話である、ということです。ですからAblyにとっての判断は、Kubernetes上で新たなベンチャを立ち上げるかどうかではありませんでした。AWSですでに稼働しているプラットフォームを、Kubernetesに後付けで組み込むことが合理的かどうか、ということが問題なのです。

AblyがKubernetesを使わずに、どのようにプラットフォームを運用しているのかを詳しく知りたければ、Zumstrull氏の記事を読んで頂きたい。

この記事に星をつける

おすすめ度
スタイル

BT