事例で探るKubernetes管理の勘所【前編】
マインクラフト交流サイトが「Kubernetes」を活用 その独自の管理方法とは?
ゲーム「Minecraft」関連サービスを手掛けるMineteriaが、コンテナ統合管理ツール「Kubernetes」を活用している。同社はサービスの持続性を保つため、Kubernetesの管理方法に工夫を凝らす。何をしているのか。
Mineteriaはゲーム「Minecraft」(マインクラフト)に関するコミュニティサイトを運営する、小規模なスタートアップ(創業間もない企業)だ。同社は主にインターネットでビジネスを展開しており、Minecraftプレイヤーのためのフォーラムとストアの運営、オンラインイベントの開催を手掛ける。
スタートアップであるMineteriaは大企業と違って、レガシーアプリケーションやインフラを心配する必要はないと考える人もいるだろう。それ自体は当然の事実なのだが、同社のインフラ運用の実体を知ると、少し異なる印象を抱くことになる。Mineteriaはコンテナ統合管理ツールの「Kubernetes」を活用している。その管理ワークフローは、大企業のステートフル(システムの状態に応じて出力が異なる)アプリケーション環境に近い。そこでは短期でのWebアプリケーションの運用よりも、持続的なネットワーク接続と高可用性が求められる。
「Minecraftの特異性は、寿命の長い、持続的な接続状態を維持している点にある」。Mineteriaのザック・シュライアーCEOはそう語る。プレイヤーの遊ぶ対象がWebアプリケーションであれば、たとえ小さな問題があってもWebブラウザの更新ボタンを押せばすぐ復旧する。だがゲームアプリケーションの場合「全プレイヤーに対して、プレイ中のアプリケーションの状態を保つことが特に重要だ」とシュライアー氏は強調する。
システムを停止せずにリリースするには
2016年にMineteriaがサービスを立ち上げた時は、クラウドサービス群「Google Cloud Platform」(GCP)をインフラとして使っていた。続いてスタートアップ支援プログラム「Google Cloud スタートアップ」による費用一部負担の下、GCPのマネージドKubernetes「Kubernetes Engine」を導入した。だがMineteriaの成長に伴い、トラフィックに応じて増加する料金設定が重荷となっていった。料金はトラフィック1GB当たり0.12ドルにもなった。
MineteriaはクラウドサービスベンダーDigitalOceanのスタートアップ支援プログラム「Hatch」による支援も受けていた。GCPと比べて料金はこちらの方がずっと安かった。1ドロップレット(DigitalOceanにおけるクラウド仮想マシンの名称)に割り当てられた許容量を超えたトラフィックの料金は、1GB当たりわずか1セント(0.01ドル)だった。
運用サービスに関連するステートフルアプリケーションデータについて、Mineteriaはその大部分をDigitalOceanがホスティングするデータベース管理システム「PostgreSQL」で管理している。一方、持続的なネットワーク接続と高可用性を考慮し、Mineteriaは独自のKubernetes管理ツールを開発した。この管理ツールにより、ワークロード(アプリケーションやその処理)のデプロイとメンテナンスを実行する。
その管理ツールが、プログラム言語「Go」で開発された「Mineteria Controller」だ。開発者はMineteria Controllerを使い、プログラムをバージョン管理システム「Git」に登録する。するとデプロイ支援ツール「Jenkins」がビルドを実行し、MineteriaのアプリケーションをDigitalOceanのマネージドKubernetes「DigitalOcean Kubernetes」のポッド(Kubernetesクラスタ内のユニット)にデプロイする。加えてMineteria Controllerは、持続的なネットワーク接続を実現するため、新しいバージョンのアプリケーションへ振り分けるトラフィックを調節する。このプロセスは「カナリアリリース」と呼ばれるアプリケーション開発パターンで、コンテナやKubernetesに適している。
シュライアー氏は言う。「われわれの競争相手は全て、毎日午前4時になると『みんな(ネットワークから)降りろ。システムを再起動してアップデートを適用するぞ』と声が掛かる。だがわれわれにはその必要がない。われわれは、何千人ものプレイヤーが接続しているピーク時にもデプロイできる。古いサーバをシャットダウンするのではなく、新しいサーバを起動してユーザーがそちらに流れるのを待つ」
Netflixが開発した「Spinnaker」などのデプロイ支援ツールは一般的に、Mineteriaに必要な速度以上に高速なトラフィック切り替えができる。「われわれが扱うのは単なるWebサイトではない。単純に古いポッドをシャットダウンしてネットワーク接続を途切れさせるわけにはいかない」(シュライアー氏)
コンテナの配置に関するKubernetesの初期設定は、CPUのしきい値がベースとなる。だがMineteriaのニーズを満たすには、より細かく設定しなければならない。著名なYouTuber(動画共有サイト「YouTube」で人気を集める動画投稿者)が人々をMineteriaのサーバに誘導すれば、ワークロードが予想外に変動しかねない。これに対処するため、Mineteria ControllerはKubernetesとDigitalOceanのAPI(アプリケーションプログラミングインタフェース)によってワークロードを割り当てる。そうすることにより、トラフィックが集中しているサーバが同じポッドに割り当てられないようにしている。
後編では、MineteriaのKubernetes管理における課題と、それがDigitalOcean Kubernetesのアップデートによりどうなるかを考える。
Copyright © ITmedia, Inc. All Rights Reserved.
事例で探るKubernetes管理の勘所
ゲーム「Minecraft」関連サービスのサーバと企業のデータベース管理には、コンテナ統合管理ツール「Kubernetes」の管理方法において意外な共通点がある。サービスの持続性を保つための管理方法とその課題、今後の機能拡充の方針について述べる。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「データストレージの活用方法」に関するアンケート
-
4
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
5
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
6
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
-
7
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
8
221人調査で分かった「情シス最大のストレス」は?
-
9
LLMの「過学習」、正しく説明している文章はどれ?
-
10
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー