BT

Ready for InfoQ 3.0? Try the new design and let us know what you think!

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

| 作者: Hrishikesh Barua フォローする 18 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2016年6月22日. 推定読書時間: 2 分 |

原文(投稿日: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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

このスレッドのメッセージについてEmailでリプライする

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

このスレッドのメッセージについてEmailでリプライする

ディスカッション
BT