Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ ·...

38
Google Cloud Anthos Day NTTドコモ情報システム部におけるGKE導入事例 ~パーソナルダッシュボード開発~ 株式会社NTTドコモ プロダクトマネージャ 祐太 Google Cloud Japan, Hawk Yasuhara

Transcript of Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ ·...

Page 1: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

Google Cloud

Anthos Day

NTTドコモ情報システム部におけるGKE導入事例~パーソナルダッシュボード開発~

株式会社NTTドコモ プロダクトマネージャ 岸 祐太Google Cloud Japan, Hawk Yasuhara

Page 2: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

クラウド活用を検討中のお客様に対し、デジタルトランスフォーメーションを技術、戦略面より支援。

安原 "Hawk" 稔貴

Google Cloud JapanInfrastructure

Modernization Specialist

Page 3: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

NTTドコモ様とのこれまでの取り組み

1 2 3 4

Firestoreチューニング

GKE基盤アーキテクチャの検討

SREワークショッ

プGKEの

評価/PoC

5

サービスのローンチ

04’19●

12’19

約8ヶ月間

Page 4: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

NTTドコモ様事例の特長

● エンタープライズ企業における

アプリケーションのモダナイズへの挑戦

● レガシーシステムと連携するための

アーキテクチャと工夫

● 完全内製ではない組織でのコンテナ開発の取り組み

Page 5: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

2014年4月、株式会社NTTドコモに入社

2017年7月に現在の所属先でもあるアジャイル開発組織の前身となるチームを立ち上げ

現在は、プロダクトマネージャとしてWebアプリケーションの企画・開発およびSREチームのリーダとしてプロダクト全体のアーキテクチャ設計などを行う

岸 祐太

株式会社NTTドコモ

プロダクトマネージャ

@kishiyyyyy

Page 6: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

 スライド、原稿はWEB公開します💪

Page 7: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

当社について

Page 8: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

情報システム部の役割

● Bizと一緒にプロダクトを開発・提供すること🤝

● 手がけるシステム群はSoR / SoEに大別

○ SoR:顧客システムや料金計算システムといったいわゆる

基幹系のシステム

○ SoE:コンシューマ向けのサービス、社内向け業務支援システムといっ

たフロントエンドのシステム

※SoR:System of Records、SoE:System of Engagement

Page 9: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

情報システム部の戦略

SoR/SoEは疎結合にし、分離して考える

SoRは標準技術へ移行、SoEは積極的に差別化

Page 10: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

2018年7月情報システム部内にSoE開発専門組織を新設

● SoRに最適化されてきたやり方を抜本的に見直し

● 変化の激しい市場に対応するために

○ アジャイル的な開発 ○ すばやく、スケールする基盤 

Page 11: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

本日お話しすること

● パーソナルデータダッシュボードを支える

GCP基盤について

● GCP(GKE)導入の背景、決め手

● エンタープライズ企業で新たな取り組みを

行う上でのポイントと、これからのチャレンジ

Page 12: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

01パーソナルデータダッシュボードを支えるGCP基盤について

Page 13: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

パーソナルデータを取り巻く外部環境の変化

● お客さまへ驚きと感動を提供するために、

5GやAIなどの最新技術を活用するとともに

お客さまのパーソナルデータを活用

させていただくことが不可欠に

● 社会全般でパーソナルデータの活用が進展。個

人のプライバシーへの関心が高まっている

Page 14: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

2019年8月 パーソナルデータ憲章の公表

お客さまのパーソナルデータを適切に取り扱うための

意思決定基準を6つの行動原則として明文化

Page 15: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

2019年12月パーソナルデータダッシュボードの提供

● パーソナルデータの取扱いについて

同意いただいた内容を確認したり

● ドコモ内でのデータ利用目的や

パートナーなど第三者提供を一定の範囲で

お客さま自ら設定・変更できるように

Page 16: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

本プロダクトを支えるGCP基盤

GKE

コンテナ化したアプリケーションのデ

プロイ環境としてk8sのマネージド

サービスであるGKEを利用

Firestore

7,600万ものお客様データの格納先

としてNoSQLデータベース

であるFirestoreを利用

Page 17: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

アーキテクチャ全体像

Cloud LoadBalancing

Cloud Armor

CloudFirestore

KubernetesEngine

SoR Systems

WebPod

API Integration

File Transportation

Import ServiceCloudStorage

CloudDataflow

Transfer Appliance

CloudComposer

Cloud LoadBalancing

WebPod

WebPod

AppPod

Page 18: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

GKE周辺のアーキテクチャについて

● 全てのアプリケーションをGKEに● GitLab CI / Cloud Buildを使った継続的インテグレーション

● Argo CDを使った継続的デリバリー

● 監視ツールはDatadogを利用

Page 19: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

Firestore周辺のアーキテクチャ

● SoR系システムから転送されたファイルをS3からGCSへ転送● Dataflowを並列で使いFirestoreへインポート● Cloud Composerでこれらワークフローを管理

CloudFirestore

CloudStorage

CloudDataflow

Transfer Appliance

Orchestration

CloudComposer

7,600万件のレコードを日次で洗い替え

Import Service

CloudDataflow

Page 20: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

7,600万件のレコードを短時間でFirestoreにインポートするために実施したこと

● 並列処理の場合リクエストが正しくてもエラー応答となる場合があるためリトライの機構が必須ex. リクエスト上限超過、サーバ側過負荷

● エラーを極力起こさないよう努めることが大事○ 500/50/5ルール

■ Firestoreは、リクエスト量に応じて段階的にスケール仕組み■ スケールする時間を稼ぐために500/50/5ルールでリクエストを投げる■ 新しいコレクションに対するオペレーションは、

毎秒 500 回を上限とし、5 分ごとにトラフィックを 50% 増やす

詳細はコチラ -> Firestoreの性能チューニング(Qiita)

Page 21: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

02GCP (GKE) 導入の背景、決め手

Page 22: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

チーム発足当初〜KubernetesベースのPaaSを利用してきた

● 当時、マネージドk8sを採用しなかった理由○ 社内のプライベートクラウド上へも移植可能なコンテナ

プラットフォームであることが条件であったため

○ マネージドk8sの導入事例も少なかった

● あえてIaaSとPaaSを分離した構成を採用したが

運用面、機能面、コスト面で改善ポイントあり

Page 23: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

当時の環境が抱えていた改善点

01 02 周辺機能も手軽に利用し

たい

CI/CD周りのサポートやロギ

ング、モニタリング機能を実

装するには他製品を使わなく

ては実現できない。商用利用

を想定すると周辺機能が心も

とない

もっと手間なく、楽に効率

的に運用したい

管理対象範囲は IaaSレイヤ

以上のすべてとなり、運用コ

ストが大きかった。基盤のアッ

プグレードやノードのオートス

ケールも一苦労

03 必要な時に必要な分だけ

費用を払いたい

ライセンスベースの課金体系

(コア数・年単位)のため、開

発ピークに合わせてライセン

スの事前購入が必要だった

Page 24: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

2019年4月 マネージドk8sのPoC/評価

● ミッションクリティカルなシステムでのパブリッククラウド

の導入実績が増えたことが後押しに💪

● GKEを含むマネージドk8sのPoCを実施し、評価○ マネージドk8sでも今までできていたことが実現できるか

○ 課題が解決できるか

○ 自分たちだけで構築、運用保守が賄えるか

Page 25: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

GKE導入の決め手

● ランニングコストが安い

○ master nodeの課金なし

● ドキュメントが豊富で分かりやすい

○ GKEを触ったことがあるメンバーはゼロだったが、

Qwiklabsや公式ドキュメントを参考にスキルを習得できた

● k8s生みの親である安心感

Page 26: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

03エンタープライズ企業で新たな取り組みを行う上でのポイント

Page 27: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

エンタープライズ企業ならではの事情

● 社内にエンジニアリングリソースがない中で、

外部のパートナー企業と一緒にどのように

アジャイルなマインドや文化を築いていくか?

● これまでの実績や既存システムが多くある中で、

新しい取り組みをどう提案・導入していくのか?

Page 28: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

大事だと思うポイント

内製開発チームに近い環境を作る

小さく始める、まずは試す

Page 29: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため
Page 30: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

内製開発チームに近い環境を作る 💪● 全員が同じ拠点で、同じフロアで、一緒に働く

○ “チーム”になるにはまず会話量を増やすのが大事

○ あらゆる情報をオープンする(情報の非対称性の解消)

● 会社の垣根を超えてコミュニケーションする○ ex. バザー形式のプロダクトレビュー

○ ex. 週1回持ち回りで開催している勉強会

● パートナーと一緒にスキルを伸ばす風土を作る○ ex. チーム全員で社外の研修参加、外部講師を呼んで勉強会

Page 31: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

● 新たな手法や技術は小さく試し徐々に範囲を広げる○ われわれがアジャイル開発手法を導入した順

トライアル案件 ➡ 社内向けアプリ ➡ コンシューマ向けアプリ

● 机上での検討を頑張りすぎない○ SoE領域は技術のトレンドが変わりやすい

○ 安価にすぐ試せる技術ばかりなので、まず試す

小さく始める、まずは試す 💪

Page 32: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

エンタープライズ企業のメンバーもエンジニアリングスキルを身に着ける 💪

● ユーザ企業の役割は、

責任とスピード感を持って判断すること

● そのためにも、最低限のスキル習得は必要○ ex. 認定資格やカンファレンスを通して机上で学ぶ

○ ex. Webアプリケーションをひとりで作ってみる

○ ex. Qwiklabsなどのオンライン学習サイトでGCPの基礎を学ぶ

Page 33: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

● Bizを巻き込み、会社全体でアジャイルなチームを

作るにはどうすればいいのか?

● 大規模プロジェクトにおける最適な開発の進め方は?○ 基幹系システムの開発も伴うケース(手戻りが許容できない)

○ 多くの部署が絡むなど利害関係者が多いケース

とはいえ、われわれも道半ば... 😥

Page 34: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

04NTTドコモ、自組織のこれからのチャレンジ

Page 35: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

新たな価値創造と開発の最適化

● データを活用しお客さまや社会へ新たな価値の

継続的な提供

● 変化の早い市場に対応するためにサーバレスの活用○ GAE、CloudRunなど

● 情報システム部全体でシステムをモダナイゼーション○ APIの拡充、SoRも標準技術へ移行

Page 36: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

本日のまとめ

● 弊部ではSoEとSoRを分離し、SoEはアプリケーションをいかに早くできる

かを追求し、アジャイルな開発体制を築いている

● SoRとの連携は、制約の中で最善なアーキテクチャを見つける

● エンジニアリングリソースを持たないエンタープライズ企業では

○ 内製開発組織に近づける環境づくりが第一歩

○ パートナーと一緒にチーム全員でスキルアップをしていく

● Biz含め会社全体でアジャイルなチームを作るのが次のステップ

Page 37: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

事例記事 近日公開予定!

cloud.google.com/blog/ja (Google Cloud Japan Blog)

Page 38: Google Cloud Anthos Day ドコモ情報システム部におけるGKE導 …€¦ · 社内のプライベートクラウド上へも移植可能なコンテナ プラットフォームであることが条件であったため

Thank you👋