巨大化したクラスタをどう更新するか
Kubernetesを8年運用して得た3つの教訓 「nginx依存」「抽象化」の誤算
「Kubernetes」の大規模運用において、過度な抽象化や安易な妥協は深刻な技術的負債を招く。8年にわたる運用から見えてきた、運用負荷の増大や移行困難な状態を回避する鉄則とは何か。
企業のビジネス要件が変化する中、開発者が機能開発に専念するための社内システムを整備する「プラットフォームエンジニアリング」がますます重要になっている。オンラインマーケットプレースを展開するITベンダーAurelia Netherlands Target(Adevintaの名称で事業展開)もその一社だ。同社の内部開発システム「ship」は、マルチテナントかつマルチリージョンのKubernetes as a Serviceだ。
運用開始当初はわずか1クラスタ、秒間5000リクエストだった規模は、2025年6月時点では4リージョン、29クラスタ、秒間30万リクエストを超える巨大なシステムへと成長を遂げた。この急激なスケールアップの過程で、インフラ担当チームはさまざまな課題に直面し、それを乗り越えてきた。
本稿では、Aurelia Netherlands Targetのテックリードであるファビアン・セジェス・ロサ氏が語った、8年間にわたるKubernetesインフラ運用の歴史から得られた3つの重要な教訓を紹介する。
教訓1.内部システムを進化させる
併せて読みたいお薦め記事
Kubernetes運用のヒント
2025年6月に開催されたプラットフォームエンジニアリングに関する国際カンファレンス「PlatformCon 2025」のセッション「8 years of Kubernetes platform evolution: Do’s and don’ts」では、ロサ氏が同社の内部システム進化の軌跡と実践的なノウハウを共有した。
クラスタのアップグレード手法は、運用チームにとって積年の課題だ。Aurelia Netherlands Targetは当初、新しいバージョンのクラスタを別途構築し、徐々にトラフィックを移行させる「ブルーグリーンデプロイメント」(新旧のシステム構成を並行稼働させて安全に切り替える手法)を採用していた。この手法はロールバックが容易である半面、エンドユーザーとの日程調整にかかる手間が大きく、インフラ担当チームの運用負荷を増大させる要因となっていた。
そこでAurelia Netherlands Targetは、Kubernetesのマネージドサービス「Amazon Elastic Kubernetes Service」(Amazon EKS)への移行を契機に、稼働中のクラスタを直接更新する「インプレースアップグレード」へと方針を転換した。後戻りできないというリスクを軽減するため、同社はAPIの破壊的変更(後方互換性がなくなる変更)の影響を受けるオブジェクトを事前に検出するダッシュボードを独自に開発した。これによってエンドユーザーへの影響を最小限に抑えつつ、インフラ担当チームの運用負荷を大幅に削減することに成功している。
教訓2.適切な抽象化レベルを設定する
開発者の認知的負荷を下げるためには、開発システムの抽象化が不可欠だ。しかし、そのレベル設定には細心の注意が必要だ。ロサ氏は2つの両極端な事例を挙げて警告する。
1つ目は、抽象度が高過ぎるケースだ。Aurelia Netherlands Targetは、デプロイを簡易化するオープンソースのKubernetesオペレーター「FiaaS」を推奨インタフェースとして導入した。しかし、ネットワークプロキシなどの目的でサイドカー(メインコンテナの機能を補助する副コンテナ)を追加したいというユーザー要件に対し、FiaaSの仕様にその項目が存在しなかったため、機能の追加や処理が困難になった。エスケープハッチ(例外処理の仕組み)がない高過ぎる抽象化は、エンドユーザーの多様なニーズへの適応を困難にする。
2つ目は、抽象度が低過ぎるケースだ。Aurelia Netherlands Targetは外部トラフィックの制御機構「Ingress」のコントローラーとして、Webサーバソフトウェア「nginx」を採用し、エンドユーザーが独自の設定を追加できる特別なアノテーション(追加のメタデータ設定)の使用を許可した。その結果、2025年6月時点では34%のIngressオブジェクトがnginx固有のアノテーションに依存しており、他のコントローラーへの移行が極めて困難な状態に陥っている。「後でいつでも変更できる」という安易な妥協は、技術的負債になり得る。
教訓3.KPIの定期的な運用レビューを実施する
開発システムの健全性を維持するためには、適切な指標の設定と定期的なレビューが欠かせない。Aurelia Netherlands Targetは、KubernetesのAPI、Ingress、DNS(ドメインネームシステム)などのSLO(サービスレベル目標)に加え、オンコール(緊急呼び出し)のアラート発生件数、問い合わせリクエストの量、クラウド費用、クラスタ効率などをKPI(重要業績評価指標)として設定している。
特筆すべきは、オンコールのアラートに対するアプローチだ。アラートが急増した際には、その根本原因を分析し、ページング(呼び出し通知)を減らすためのアクションを講じている。定期的なレビューを通じて改善サイクルを回すことで、オンコール運用の健全化とシステムの安定稼働を実現している。
今後の展望
大規模なKubernetesシステムを持続的に運用するためには、技術力の向上だけでなく、組織間の調整やインタフェースの設計といった戦略的な視点が求められる。ロサ氏が共有した知見は、変化の激しいビジネス情勢において、臨機応変なシステムの構築に取り組む企業にとって、長期的な持続可能性をもたらす道しるべになる。
本稿は、Platform Engineeringが2025年6月26日に公開した動画「8 years of Kubernetes platform evolution: Do’s and don’ts - Fabian Selles Rosa | PlatformCon 2025」を基に作成しました。
Copyright © ITmedia, Inc. All Rights Reserved.
本記事は制作段階でChatGPT等の生成系AIサービスを利用していますが、文責は編集部に帰属します。
関連記事
新着ホワイトペーパー PR
-
製品資料
“攻撃者優位”なサイバーセキュリティ、全ての「穴」をふさぐ方法とは? -
製品資料
実際に悪用される脆弱性は4%前後 優先的に対処すべき脆弱性を把握するには? -
製品資料
HubSpotの機能を拡張する法人データ活用法 -
製品資料
面倒で非生産的な「名寄せ」作業 高精度&高効率に実施するには? -
製品資料
名刺管理には「その先」がある 成果のでない営業活動から脱却する秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
2
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
5
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
6
ベッドでの使用が「PC騒音」を悪化させる? Dellが推奨する冷却ファンの鎮め方
-
7
年収700万超エンジニアに共通するスキルと「もっと勉強すべきだった分野」
-
8
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
9
アラート47%削減 オープンハウスが捨てた「全部メール通知」の監視体制
-
10
IT製品の導入に関するアンケート「サーバ&ストレージ」編
ホワイトペーパーランキング 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ジャパンをフォロー