目標は「SREが関与しなくても開発者が作業できる世界をつくること」 DMMの挑戦「Cloud Operator Days Tokyo 2022」セミナーレポート#6

Cloud Operator Days Tokyo 2022のセッション「DMMプラットフォーム ゼロから始めるKubernetes運用 課題と改善」にてDMMのpospome氏は、別の目的で構築されたKubernetes環境の運用を引き継ぐときに起きた課題とその解決方法について紹介した。

» 2022年08月31日 05時00分 公開
[齋藤公二@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「あるサービス用に開発した仕組みを全社共通の仕組みに変える」といったアプローチは決して珍しくない。一から仕組みを構築するよりは、先行事例としてうまくいっているものを流用したり機能拡張させたりする方が失敗は少ないからだ。

 ただ、特定の目的に合わせて作った仕組みに汎用(はんよう)性を持たせることは簡単ではない。関係者なら誰でも使えるように環境を整備する必要があるし、運用の方法も全社での利用に合わせて変更しなければならない。

 Cloud Operator Days Tokyo 2022のセッション「DMMプラットフォーム ゼロから始めるKubernetes運用 課題と改善」でDMMのpospome(ぽすぽめ)氏(マイクロサービスアーキテクトグループ SRE<Site Reliability Engineering>チーム)は、そうした「別の目的で構築された仕組み」の運用を引き継ぐときに起きた課題とその解決方法について紹介した。

DMMサービスの共通プラットフォームをKubernetesで構築

画像 DMMのpospome(ぽすぽめ)氏のアイコン

 pospome氏が所属する部署「DMMプラットフォーム」は、DMMの各種サービスで利用する共通機能(会員登録、決済、不正対策、認証認可など)を提供している。在籍するエンジニアは約120人、開発チームは16チーム、マイクロサービスは約40サービス、ピーク時のリクエスト数は秒間1万4000リクエストに上るという。

 同氏は「マイクロサービスアーキテクトグループ SREチーム」の一員として、DMMプラットフォームのインフラに関するエコシステムを構築し、組織全体の開発効率とセキュリティレベルを向上させるというミッションを持つ。

 DMMプラットフォームではインフラとして「Google Kubernetes Engineクラスタ」(以下、GKEクラスタ)を採用しており、オンプレミスで稼働中のマイクロサービスを移行しているさなかだ。

画像 システムアーキテクチャ概要図

 当初、APIゲートウェイ専用のクラスタとして構築されたGKEクラスタをDMM共通のクラスタとして利用することになり、pospome氏をはじめとするSREチームが引き継ぐことになった。運用が安定するまでには幾つかの課題を解決する必要があったという。

運用に必要な仕組みが整っていないGKEクラスタ

 まず課題になったのは「安定運用させる仕組みが不足していたこと」だ。もともと全社用に構築されたものではないため、引き継いだときにはアラートやモニタリングの設定、アップグレードのルールといった「全社で運用するときに必要な仕組みが整っていなかった」とpospome氏は振り返る。

 pospome氏は早速、基本的な運用の仕組みから構築を始めた。運用監視サービス「Datadog」を導入し、メトリクスやSLO(Service Level Objective)を整備、GKEクラスタのアップグレードのルールも定義した。さらに、GKEをはじめとする各種設定の見直しを実施した。ここで言う各種設定とは、ローカルノードキャッシュの有効化、ステートメトリックスやRBAC(ロールベースアクセス制御)の導入、Datadogエージェントのセットアップなどだ。

画像 まずは安定運用できる仕組みを整える

 「その他、SREチームで運用定例ミーティングを行い、DatadogのメトリクスやSLOを確認して問題を話し合い、もし問題があればタスク化して優先度を付けて対処するといった取り組みも進めた」

 こうした取り組みの結果、ようやく運用が安定し出した。一方で、新たな気付きもあった。それは「Kubernetesの運用には専任のチームが不可欠」ということだ。

 「Kubernetesが進化するスピードは速く、それに追従しつつ、片手間で周辺のエコシステムを運用することは難しい。専任チームを作り、マルチテナント化して『組織としてKubernetesをどう使うか』という戦略を立てる必要があると感じた。専任チームがいない状態でKubernetesを採用しても、コンテナ管理実行環境の『Google Cloud Run』や『Amazon ECS』の下位互換にしかならないだろう」

専任チームは必要だが人が足りない、どうする?

 次の課題は「マンパワー不足」だ。当時、SREチームのメンバーはpospome氏を含め2人しかいなかったのだ。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。