BT

InfoQ ホームページ ニュース Supergiant.io - ステートフルアプリケーションのためのコンテナプラットフォーム

Supergiant.io - ステートフルアプリケーションのためのコンテナプラットフォーム

ブックマーク

原文(投稿日:2016/05/16)へのリンク

Supergiantは、Kubernetesを使って構築された、分散ステートフルアプリケーションのためのコンテナホスティング・プラットフォームだ。Elasticsearchのホスティングを提供するQbox.ioチームによって作られた。

Supergiantは、ステートフルでクラスタ型のアプリケーションをホストするDockerコンテナを動かすフレームワークだ。Kubernetesを利用しているが、永続ストレージや外部ロードバランシングなど、Kubernetesがうまくいかない場合のために独自の構造とコードが含まれている。その技術詳細について知るため、InfoQはQboxのCEOで共同創業者でありSupergiantの作者、Mark Brandon氏にコンタクトした。

QBox.ioチームはElasticsearchのホスティングから始めたのだが、そこで「noisy neighbor」問題によりスケールできないなどの課題に直面したという。ブログによると、ネットワーク化されたコンテナおよびボリュームを管理するのに、DockerとKubernetesが適切な選択であるように思ったという。

Supergiantにデプロイされるアプリケーションのストレージは、高可用性アレイに割り当てられるが、Kubernetesの永続ボリュームを使っていない。SupergiantはAmazonのElastic Block Store (EBS) を使っており、ボリュームはクラスタを自由に動くことができる。EBSボリュームは、仮想マシンにプラグ/アンプラグ(マウント/アンマウント)できるハードドライブのように振る舞うという。EBSボリュームはノードサーバーのリブートを越えて永続されるため、ノードが落ちてもデータが失われることはない。

KubernetesにはネイティブのロードバランシングとHA機能がある。Brandon氏によると、Supergiantチームは特に、外部ロードバランシングのためのコードを書いたという。「Kubernetesは内部ロードバランシングをうまく扱えるのですが、その外部ロードバランシング戦略はElasticsearchのような分散アプリケーションにとって決して理想的なものではありません。」

Supergiant上のアプリケーションとして動かすには、ソフトウェアの一部を"Component"としてパッケージングする必要がある。コンポーネントはNoSQLデータベースや、Webサーバー、node.jsアプリになる。Brandon氏によると「Docker化されたアプリケーションはコンポーネントになる」という。Supergiantはコンポーネントを定義するHTTPベースのAPIを提供している。

AWS上で動くアプリケーションの要件のひとつは、次のレベルであるクロスリージョンをサポートし、アベイラビリティゾーン (AZ) 障害に耐性があることだ。Brandon氏によると、SupergiantはAWSゾーンを越えるクラスタの管理に取り組んでいるという。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。