事例で探る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」の管理方法において意外な共通点がある。サービスの持続性を保つための管理方法とその課題、今後の機能拡充の方針について述べる。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
“攻撃者優位”なサイバーセキュリティ、全ての「穴」をふさぐ方法とは? -
製品資料
実際に悪用される脆弱性は4%前後 優先的に対処すべき脆弱性を把握するには? -
製品資料
HubSpotの機能を拡張する法人データ活用法 -
製品資料
面倒で非生産的な「名寄せ」作業 高精度&高効率に実施するには? -
製品資料
名刺管理には「その先」がある 成果のでない営業活動から脱却する秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
2
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
3
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
4
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
5
IT業界で相次ぐ人員削減の“隠された理由”
-
6
ベッドでの使用が「PC騒音」を悪化させる? Dellが推奨する冷却ファンの鎮め方
-
7
【専門家に聞く】シャドーAIや過剰共有のリスクを防ぎ、安全に生成AIを活用するポイントとは?
-
8
ストレージへの高い投資対効果を目指す「ETERNUS DX S2」シリーズ
-
9
ライオンが挑む「守りのIT」脱却:Google Cloudで加速させるデータ駆動型経営
-
10
「企業内サーバ環境の利用実態」に関するアンケート
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
財務・会計はAI活用でどう変わる? 調査で見えた変革の道筋
-
3
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
7
コスト分析で見る「デバイス復旧」の代償 損失額から導きだされた投資戦略とは
-
8
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
9
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
-
10
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー