Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Cloud Run から GKE Autopilot へ、 FAANS における Kubernetes 移行の背景とは 株式会社ZOZO ブランドソリューション開発本部 WEAR部 SREブロック 笹沢 椋太 Copyright © ZOZO, Inc. 1 Cloud Operator Days Tokyo 2022
Slide 2
Slide 2 text
© ZOZO, Inc. 株式会社ZOZO ブランドソリューション開発本部 WEAR部 SREブロック 笹沢 椋太 ● @sasamuku ● 登壇はじめて ● 最近の趣味はポケモンカード 2
Slide 3
Slide 3 text
© ZOZO, Inc. https://wear.jp/ 3 ● ファッションコーディネートアプリ ● 1,600万ダウンロード突破、コーディネート投稿総数は1,200万件以上 (2022年3月末時点) ● ピックアップタグから最新のトレンドをチェック ● コーディネート着用アイテムを公式サイトで購入可能 ● WEAR公認の人気ユーザーをWEARISTAと認定。モデル・タレント・デザ イナー・インフルエンサーといった各界著名人も参加
Slide 4
Slide 4 text
© ZOZO, Inc. 4 ● Fashion Advisors are Neighbors略 ● 「ショップスタッフの 効率的な販売をサポートする ショップスタッフ専用ツール」 ● Web, iOS, Androidで提供 FAANSとは プレスリリース: ZOZOTOWNとブランド実店舗をつなぐOMOプラットフォーム「ZOZOMO」始動 - 株式会社ZOZO, https://corp.zozo.com/news/20211028-16352/
Slide 5
Slide 5 text
© ZOZO, Inc. はじめに 5 話すこと ● FAANS におけるコンテナ実行基盤のリプレイス事例 ○ リプレイスを決めた背景 ○ サービス選定理由 ○ 移行して何が変わったか 話さないこと ● Google Cloud Platform(GCP)を選定した背景 ● Kubernetes の概要、詳細 ● リプレイス方法の概要、詳細
Slide 6
Slide 6 text
© ZOZO, Inc. 6 リプレイスの背景
Slide 7
Slide 7 text
© ZOZO, Inc. リプレイス前のアーキテクチャ 7 Cloud Run を中心としたアーキテクチャ
Slide 8
Slide 8 text
© ZOZO, Inc. リプレイス前のアーキテクチャ 8 Cloud Run を中心としたアーキテクチャ
Slide 9
Slide 9 text
© ZOZO, Inc. Cloud Run とは 9 フルマネージドでサーバレスなコンテナ実行基盤 ● 特徴 ○ 任意の言語で書かれたコード、任意のベースイメージをサポート ○ デプロイ単位は単一 Docker イメージ ○ シンプルですぐ利用できる
Slide 10
Slide 10 text
© ZOZO, Inc. 勝手に付いてくる Cloud Run はシンプル 10 ✅ HTTPS エンドポイント ✅ オートスケール ✅ 冗長化 ✅ ロギング、メトリクス収集 Docker イメージ 名前 リージョン Docker イメージを用意してデプロイ
Slide 11
Slide 11 text
© ZOZO, Inc. GKE (Google Kubernetes Engine) とは 11 GCP が提供する Kubernetes のマネージドサービス Node と Pod を 管理する機能群 ワークロードが 稼働するマシン GCP管理 ユーザ管理
Slide 12
Slide 12 text
© ZOZO, Inc. なぜ Cloud Run から GKE へリプレイスするのか 12 理由は大きく2つあります
Slide 13
Slide 13 text
© ZOZO, Inc. 移行理由1: Datadog APM の利用が難しい 13 監視に Datadog を利用している 弊チームでは APM を活用してサービスの状態を把握 ● APM (Application Performance Monitoring) とは ○ リクエスト数、エラー数、レイテンシを可視化 ○ リクエスト毎の処理時間やボトルネックを追跡できる time request controller DB api 何にどのくらい 時間がかかったのか 分かる <トレース機能のイメージ>
Slide 14
Slide 14 text
© ZOZO, Inc. なぜ APM の利用が難しいのか 14 サイドカーパターン Daemonset パターン 一言で言えば、Cloud Run はシンプル重視の設計のため Cloud Run では 複数コンテナを共存できない Cloud Run では 現実的な構成ではない
Slide 15
Slide 15 text
© ZOZO, Inc. 移行理由2: 技術スタックを見直す機会の到来 15 ● 運用面での課題 ○ プロダクト毎にコンピューティング基盤が異なる → キャッチアップやメンテナンスのコストが高い ● 組織面での変化 ○ SRE メンバーの増強 ○ 採用候補者へのアトラクト ○ 全社的な Kubernetes 活用 → Kubernetes 移行の機運が高まる プロダクト毎にまちまち... Cloud Run
Slide 16
Slide 16 text
© ZOZO, Inc. Kubernetes をチーム標準へ 16 Kubernetes に統一! GKE プロダクト毎にまちまち... Cloud Run
Slide 17
Slide 17 text
© ZOZO, Inc. 17 Standard か Autopilot か
Slide 18
Slide 18 text
© ZOZO, Inc. GKE には2つの運用モードがある 18 Standard Control Plane がマネージド GCP管理 ユーザ管理 GCP管理 GCP管理 Autopilot Control Plane も Node もマネージド
Slide 19
Slide 19 text
© ZOZO, Inc. Node もマネージドとは 19 Pod 仕様に応じて、必要スペックの Node が必要数プロビジョニングされる CA: Cluster Autoscaler NAP: Node Auto-provisioning
Slide 20
Slide 20 text
© ZOZO, Inc. FAANS は Autopilot を採用 20 ● 運用負荷を軽減できる is good ● Autopilot に向かないシステム is 何
Slide 21
Slide 21 text
© ZOZO, Inc. Autopilot に向かないシステム その1 制約にクリティカルな影響がある 21 ● 基本的にホスト側のファイルシステムやネットワークを使用できない ○ 具体的には ■ hostPath ボリュームが使用できない(/var/log/配下のみ読取り可) ■ hostPort と hostNetwork が使用できない ■ ワークロード内のコンテナに対する Privileged mode が使用できない → 利用可能な Helm chart に制限を生じることがある Helm chart とは Kubernetes の機能を 拡張するためのパッケージ 制約がクリティカルな場合は Standard を選ぶ
Slide 22
Slide 22 text
© ZOZO, Inc. Autopilot に向かないシステム その2 急峻な負荷変動が想定される 22 ● オートスケールの仕組み上、 Node 追加を伴う Pod スケールに時間がかかる傾向にある (再掲) 負荷変動がシビアな場合は Standard の方が無難
Slide 23
Slide 23 text
© ZOZO, Inc. 23 リプレイスの全体像
Slide 24
Slide 24 text
© ZOZO, Inc. リプレイス前後のアーキテクチャ 24 リプレイス前 リプレイス後
Slide 25
Slide 25 text
© ZOZO, Inc. リプレイス前後のアーキテクチャ 25 リプレイス前 リプレイス後 エンドポイントを Cloud Run→GKE へ 置き換える
Slide 26
Slide 26 text
© ZOZO, Inc. リプレイス前後のアーキテクチャ 26 リプレイス前 リプレイス後 エンドポイントを Cloud Run→GKE へ 置き換える リプレイス方法の詳細についてはテックブログをご覧ください 『FAANSにおけるCloud RunからGKE Autopilotへのリプレイス事例』 https://techblog.zozo.com/entry/faans-replacement-to-gke-autopilot
Slide 27
Slide 27 text
© ZOZO, Inc. 27 まとめ
Slide 28
Slide 28 text
© ZOZO, Inc. 移行してみて何が変わったか 28 ● Datadog APM が利用できるように ✅ サービスの状態を可視化 ✅ 監視・SLO に役立てられる ● Cloud Run より柔軟性・拡張性が UP ✅ 設定の自由度が高い ✅ 様々なエコシステムが利用できる ● チーム全体の運用コスト削減 ✅ プロダクト間で技術スタックが統一された ✅ 知見やノウハウの横展開ができている
Slide 29
Slide 29 text
© ZOZO, Inc. まとめ 29 ● FAANS におけるコンテナ実行基盤のリプレイス事例を紹介 ○ Cloud Run はシンプルでとてもよいサービス ○ 諸理由から GKE Autopilot へリプレイス ● GKE Autopilot ○ Node もマネージドで運用負荷が低い ○ 制約やスケール速度に若干クセがあるので注意
Slide 30
Slide 30 text
© ZOZO, Inc. 仲間募集中です! 30 一緒に WEAR、FAANS を作り上げてくれる仲間を募集中です。 ご興味のある方は、以下のリンクからぜひご応募ください。 中途採用 - 株式会社ZOZO https://corp.zozo.com/recruit/mid-career/ 求人詳細 エンジニア ▶ SRE ▶ WEAR SRE Twitter からでもお気軽に @sasamuku
Slide 31
Slide 31 text
No content