Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Cloud Onr
Cloud OnAir
Cloud OnAir
Cloud Run & Cloud Firestore で
実践アジャイル開発
2020 年 6 月 25 日 放送
Agenda
Cloud OnAir
1
3
2
4
アジャイル開発で求められているもの
バックエンドについて(Cloud Run)
データベースについて(Cloud Firestore)
ユースケースとデモ
写真を配置後
角丸六角形くり抜きの図形を
被せてください
https://goo.gl/NcsiAz
Speaker
Cloud OnAir
Application Modernization Specialist
頼兼 孝幸
興味のあるプロダ...
Cloud OnAir
Cloud OnAir
アジャイル開発で求められるもの
Cloud OnAir
こんなことありませんか
- システムが複雑になり変更しづらい
- 新機能をタイムリーにリリースできない
- 時間がかかる、見積もりがずれる
- スケール出来ずボトルネックが発生
Cloud OnAir
解決したいこと
Time to market
Idea
Feature
Bug fix
Enhancement
Customers
DeployFeedback
ソフトウェア開発サイクルを改善することによってこれらを実現...
Cloud OnAir
アジャイル ソフトウェア開発 は、ソフトウェア工学において
迅速かつ適応的にソフトウェア開発を行う軽量な開発手法群の総称
アジャイル開発を実現
Cloud Run Cloud Firestore
迅速
● インフラ作業と...
Cloud OnAir
Cloud OnAir
バックエンド システムについて
Cloud OnAir
バックエンド システムの必要性
● スケール性が高く、インフラ管理をすることなく迅速な開発を行いたい
● 言語やバージョンに制限のない、コンテナでアプリを稼働させたい
● 並列リクエストを受け付けるバックエンドシステムの...
Cloud OnAir
Cloud Run の特徴
高速なデプロイ
ステートレスなコンテナ
高速に 0 to N スケール
数秒でデプロイし URL を付与
サーバーレス、ネイティブ
管理するサーバーはなし
コードに集中
言語やライブラリの制約...
Cloud OnAir
Cloud Run のリソースモデル
Revision A-1
Revision A-2
Revision A-3
Revision B-1
Revision B-2
Container
InstanceContaine...
Cloud OnAir
オートスケーリング
Service A
繁忙期
Service A
リクエストがない時間帯
Container Instance
のデフォルト最大数は
1000
Cloud Run ではリクエスト数に応じて
特に明示的に...
Cloud OnAir
Concurrency(コンカレンシー)
Concurrency とは同時に 1 つの Container Instance に
投げられるリクエストの最大数。
同時実行する数を最適化し、 DB connection p...
Cloud OnAir
メッセージング サービスとの連携
Cloud Pub/Sub から Cloud Run のサービスに対して
イベントのプッシュを行う
IAM
Service A
Cloud Pub / Sub
role: "roles/...
Cloud OnAir
● Serverless VPC Access Connector
● 2020/5/13 に Cloud Run をサポート
● VPC 内の GCP リソースにアクセス可能
● つまり、稼働中の既存サービスに対し、V...
Cloud OnAir
DB にもマネージドのスケール性を
● Cloud Spanner や Cloud Firestore の利用
● DB にもスケール性を求める場合は、 Google が提
供する、スケール性の高いサービスを検討
● C...
Cloud OnAir
Cloud OnAir
サーバーレス時代の NoSQL :
Cloud Firestore の紹介
写真を配置後
角丸六角形くり抜きの図形を
被せてください
https://goo.gl/NcsiAz
Speaker
Cloud OnAir
グーグル・クラウド・ジャパン合同会社
データ マネージメント スペシャリスト
Sophia Hu
Cloud OnAir
Cloud Firestore とは
Google Cloud Platform(GCP)と Firebase(Google の
モバイル開発プラットフォーム)の両方との統合
フルマネージド、サーバーレスの NoSQL ...
Cloud OnAir
COVID-19 の影響で米国 NY 州労働局の
失業申請システムにおいて、古い
COBOL/Mainframe システムのフロント
Webサイトで、キャパシティオーバーが発
生
コールセンターも、オーバーロードに
Cl...
Cloud OnAir
Identity Platform と セキュリティルールが
組み込まれ、Cloud Firestore への
アクセスがより簡単になる
リアルタイムの更新 リスニングして
いるドキュメントが更新されたら
すぐ反映される...
Cloud OnAir
利用可能な開発言語 :C#、Java、Go、
Node.js、PHP、Python、Ruby
REST および gRPC API により、
どの環境からでも Cloud Firestore に
アクセスできる
Ident...
Cloud OnAir
Firebase と合わせて利用し高品質のアプリを迅速に開発
より優れたアプリを作成
Identity
Platform
Cloud
Storage
Firebase
Hosting
ML Kit
Google の機械学...
Cloud OnAir
Identity Platform
Users
社員、パートナー、
お客様(アプリ利用者)
Devices
モバイル、PC
Apps
SaaS、オンプレ、LOB
シンプル、スマートかつ安全なユーザ、デバイス、アプリの統合...
Cloud OnAir
静的なファイルを高速で安全に
ウェブホスティング
簡単なデプロイ:デプロイコマンド
1 行で簡単にデプロイ、自動化も容易
グローバル CDN :世界中の CDN
エッジにおける SSD ベースのホスティング
HTTPS ...
スマートリプライ
言語識別
自然言語視覚認識
オンデバイス翻訳
カスタム
モデル
サービング
カスタム
AutoML
Vision Edge
ランドマーク
認識
顔認識
バーコード
スキャン
イメージ
ラベリング
文字認識
オブジェクト追
跡
...
Cloud OnAir
User
Identity Platform Cloud Storage ML KitCloud Functions
Cloud
Firestore
通知
Cloud
Functions
サインイン
アップ
ロード
AP...
Cloud OnAir
開発観点で Cloud Firestore とは
ライブ同期、オフライン サポートを提供するモバイル / ウェブ SDK
データベースへのフルアクセス権を備えた サーバー SDK
IAM と Identity Platf...
Cloud OnAir
ドキュメントとデータコレクション
restaurants
rest_bill rest_carol rest_kiran rest_pam rest_ron
menu_items
ribs brisket
menu_it...
Cloud OnAir
ドキュメントの注意点
1 MB
のサイズ
秒間
1 ドキュメント
の書き込み速度
rest_ichimon
name: "ICHIMON"
cuisine:"Izakaya"
rating: 4.4
address: {...
Cloud OnAir
コレクション vs コレクショングループ
restaurants
rest_izzy rest_carol rest_kiran rest_pam rest_ron
menu_items
tempura takoyaki...
Cloud OnAir
データ構造の選択
1. ドキュメントの制限
2. コレクション vs. サブ コレクション
3. クエリのプラン
Cloud OnAir
全てのクエリはインデックス経由で実行されている
rest_bill
name: "Bill's
BBQ"
cuisine:"Barbecue"
city: "San
Francisco"
rating: 4.4
rest...
Cloud OnAir
東京にある Top 10 の
イタリアのお店をクエリ
クエリのパフォーマンスは結果セットのサイズに依存する
Cloud OnAir
複合クエリの実行
let restRef = db.collection('Restaurant');
let query =
restRef
.where('City', '==', ‘Chicago’)
.where...
Cloud OnAir
クエリとインデックス
1. クエリのパフォーマンスは結果の
サイズに依存する
2. 単一フィールド インデックスは自
動的に作成される
3. 対応のインデックスが存在しない
場合はエラーになる
Cloud OnAir
Cloud OnAir
架空のストーリーと
ユースケース、デモ
Cloud OnAir
ストーリー
【現状】
● 高負荷に対する動的スケールの実現が難しいシステムを運用中
【急なビジネスチャンスの到来】
● 自社商品に対する需要増加によるEC の売上増加
● しかし、高負荷に耐えることが難しいため、特定商品...
Cloud OnAir
現状を図にすると
User
LB
APP APP APP APP APPAPP
CDN
Cloud OnAir
特定の処理や商品ページに負荷がかかると…
User
LB
APP APP APP APP APPAPP
① アプリケーションが処理しきれず
レスポンスを返せない
② DB 高負荷による処理の失敗
CDN
Cloud OnAir
特定パスの処理で、クラウドのスケール性を活用
User
LB
APP APP APP APP APPAPP
CDN
Cloud Run
(APP)
バッチ処理などで取り込み
Cloud Firestore
(DB)
VP...
Cloud OnAir
データストア後に後続のタスクがある場合は
イベント連携させることで、後続の Cloud Run に繋げる
(処理によっては Cloud Functions で完結可能)
Cloud Run Cloud Firestore...
Cloud OnAir
Identity
Platform
デモ
User
LB
キャンペーン
サイト
申し込み
申請情報の登録 メール送信処理(ダミー)
認証管理
目的:負荷の高くなる処理を既存システムから切り離す
Cloud Run
()
...
Cloud OnAir
さらなるアジャイル開発のために
● バックエンドシステムはインフラ管理不要の Cloud Run を採用
● Cloud Firestore を活用し、迅速なアプリ開発
● Firebase の機能により、より高品質なア...
Nächste SlideShare
Wird geladen in …5
×

[Cloud OnAir] Cloud Run & Firestore で、実践アジャイル開発 2020年6月25日 放送

790 Aufrufe

Veröffentlicht am

Cloud Run は、インフラ管理を一切する必要がなく、自動プロビジョニング、0 to N 高速スケールなアプリケーション基盤を GCP 上に構築出来ます。また Cloud Firestore という高速でサーバーレスの、フルマネージドな ドキュメント データベースと合わせて利用し、Firebase および Google Cloud Platform(GCP)と統合することで、フロントエンドからバックエンドまでのアジャイル開発を加速します。

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

[Cloud OnAir] Cloud Run & Firestore で、実践アジャイル開発 2020年6月25日 放送

  1. 1. Cloud Onr Cloud OnAir Cloud OnAir Cloud Run & Cloud Firestore で 実践アジャイル開発 2020 年 6 月 25 日 放送
  2. 2. Agenda Cloud OnAir 1 3 2 4 アジャイル開発で求められているもの バックエンドについて(Cloud Run) データベースについて(Cloud Firestore) ユースケースとデモ
  3. 3. 写真を配置後 角丸六角形くり抜きの図形を 被せてください https://goo.gl/NcsiAz Speaker Cloud OnAir Application Modernization Specialist 頼兼 孝幸 興味のあるプロダクトと領域 - Anthos、Cloud Run、DevOps 全般 - Software Development
  4. 4. Cloud OnAir Cloud OnAir アジャイル開発で求められるもの
  5. 5. Cloud OnAir こんなことありませんか - システムが複雑になり変更しづらい - 新機能をタイムリーにリリースできない - 時間がかかる、見積もりがずれる - スケール出来ずボトルネックが発生
  6. 6. Cloud OnAir 解決したいこと Time to market Idea Feature Bug fix Enhancement Customers DeployFeedback ソフトウェア開発サイクルを改善することによってこれらを実現する ● アイデアをマーケットに投入するまでの時間を短くする ● カスタマー フィードバックを早く得る/ それに対してすぐにレスポンスする
  7. 7. Cloud OnAir アジャイル ソフトウェア開発 は、ソフトウェア工学において 迅速かつ適応的にソフトウェア開発を行う軽量な開発手法群の総称 アジャイル開発を実現 Cloud Run Cloud Firestore 迅速 ● インフラ作業と非機能要件を、 プラットフォームを利用することで、 作業を必要最小限に絞る 適応的 ● ランタイム制限がない、ポータブル、 デプロイが簡単、軽量で起動スピードが速 いなど ● スキーマレスでデータを柔軟に扱える ● ワークロードによってシームレスに スケールイン・アウト可能
  8. 8. Cloud OnAir Cloud OnAir バックエンド システムについて
  9. 9. Cloud OnAir バックエンド システムの必要性 ● スケール性が高く、インフラ管理をすることなく迅速な開発を行いたい ● 言語やバージョンに制限のない、コンテナでアプリを稼働させたい ● 並列リクエストを受け付けるバックエンドシステムの構築 ● VPC 内で稼働中のアプリやDB と連携したい コンテナ × サーバーレス × スケーラビリティ = Cloud Run
  10. 10. Cloud OnAir Cloud Run の特徴 高速なデプロイ ステートレスなコンテナ 高速に 0 to N スケール 数秒でデプロイし URL を付与 サーバーレス、ネイティブ 管理するサーバーはなし コードに集中 言語やライブラリの制約なし きっちり使った分だけお支払い 高いポータビリティ どこでも同じ Developer Experience フルマネージでも GKE のクラスタ上でも Knative API の一貫性 ロックインの排除
  11. 11. Cloud OnAir Cloud Run のリソースモデル Revision A-1 Revision A-2 Revision A-3 Revision B-1 Revision B-2 Container InstanceContainer InstanceContainer Instance リクエスト Service A Service B Service Cloud Run の主リソース Service 毎に Endpoint を提供 Revision デプロイするごとに生成される コンテナ イメージとデプロイ時に指定される 環境変数やパラメーターから構成される。 Container Instance 実際にリクエストを受けるコンテナ、 リクエスト数に応じて自動的にスケール
  12. 12. Cloud OnAir オートスケーリング Service A 繁忙期 Service A リクエストがない時間帯 Container Instance のデフォルト最大数は 1000 Cloud Run ではリクエスト数に応じて 特に明示的に設定をしていなくてもオートスケーリングを行う リクエストがしばらく無い場合、 Container Instance が 0 になる
  13. 13. Cloud OnAir Concurrency(コンカレンシー) Concurrency とは同時に 1 つの Container Instance に 投げられるリクエストの最大数。 同時実行する数を最適化し、 DB connection pooling を 利用することで、接続負荷を軽減可能 Google Cloud Functions など一般的な FaaS は 一度に 1 つのリクエストしかハンドルできない。 なので "concurrency = 1". Cloud Run の場合、concurrency の値を 1 から 80 まで設定で きる(default: 80) ので、1 つの Container Instance で 同時に複数のリクエストを処理することができる。 concurrency = 1 concurrency = 20
  14. 14. Cloud OnAir メッセージング サービスとの連携 Cloud Pub/Sub から Cloud Run のサービスに対して イベントのプッシュを行う IAM Service A Cloud Pub / Sub role: "roles/run.invoker" member: "pubsub@..." $ gcloud run deploy service-a --image gcr.io/cloudrun/hello 認証 HTTPS Container Instance App / HTTP Server
  15. 15. Cloud OnAir ● Serverless VPC Access Connector ● 2020/5/13 に Cloud Run をサポート ● VPC 内の GCP リソースにアクセス可能 ● つまり、稼働中の既存サービスに対し、VPC ネットワーク内通信も可能 ● 東京リージョンも対応 VPC へのアクセスは可能? Beta Cloud Run VPC Network Serverless VPC Access Connector Compute Engine Cloud SQL Private IP Public IP VPC Routing
  16. 16. Cloud OnAir DB にもマネージドのスケール性を ● Cloud Spanner や Cloud Firestore の利用 ● DB にもスケール性を求める場合は、 Google が提 供する、スケール性の高いサービスを検討 ● Cloud Run と併用することにより、 アプリケーション、DB のどちらもスケール性の高 い、マネージドな構成に出来る ● Spanner は RDB、Cloud Firestore は ドキュメント DB であり、用途によって 使い分けは必要。 Cloud Firestore は、投入データ形式を柔軟に 変更可能 API リクエストのため、 DB connection / sharding を 気にする必要が無い Cloud Spanner Cloud Firestore
  17. 17. Cloud OnAir Cloud OnAir サーバーレス時代の NoSQL : Cloud Firestore の紹介
  18. 18. 写真を配置後 角丸六角形くり抜きの図形を 被せてください https://goo.gl/NcsiAz Speaker Cloud OnAir グーグル・クラウド・ジャパン合同会社 データ マネージメント スペシャリスト Sophia Hu
  19. 19. Cloud OnAir Cloud Firestore とは Google Cloud Platform(GCP)と Firebase(Google の モバイル開発プラットフォーム)の両方との統合 フルマネージド、サーバーレスの NoSQL ドキュメント データベース、インフラストラクチャのセットアップと メンテナンスの必要なし 99.999 % の可用性ターゲットとマルチリージョン レプリケーションによる高い信頼性、自然災害時でも データの耐久性(RPO / RTO =ゼロ)を保証 ワークロードに合わせて自動スケーリング、要求の少ない ワークロードから負荷の高いワークロードまでシームレスに対応 Cloud Firestore サーバーレスのフルマネージド型クラウド ネイティブ NoSQL ドキュメント データベース
  20. 20. Cloud OnAir COVID-19 の影響で米国 NY 州労働局の 失業申請システムにおいて、古い COBOL/Mainframe システムのフロント Webサイトで、キャパシティオーバーが発 生 コールセンターも、オーバーロードに Cloud Firestore を活用し、1 週間で 高速開発し問題解決 Cloud Firestore で急変する社会の要請に対応するシステムを アジャイルで短期に開発 NYSDOL Announces Partnerships To Boost Tech Capacity
  21. 21. Cloud OnAir Identity Platform と セキュリティルールが 組み込まれ、Cloud Firestore への アクセスがより簡単になる リアルタイムの更新 リスニングして いるドキュメントが更新されたら すぐ反映される オフライン データの永続性 キャッシュ されたデータに対しては書き込み、 読み取り、リッスン、クエリが可能 モバイル / ウェブ SDK を利用し エンドツーエンドのサーバーレスアプリを構築 App + Client SDKs Cloud Firestore クライアントから Cloud Firestore へ直接接続可能で、中間アプリサーバーは不要
  22. 22. Cloud OnAir 利用可能な開発言語 :C#、Java、Go、 Node.js、PHP、Python、Ruby REST および gRPC API により、 どの環境からでも Cloud Firestore に アクセスできる Identity Platform と IAM によってリソースへのアクセスを管理 データベースの管理タスク、ユーザーと Cloud Firestore データベースの間に 中間サーバーを配置したアーキテクチャで 構築する場合に使用 サーバー クライアント ライブラリでフルアクセス  Cloud Firestore Compute Engine App Engine Kubernetes Engine Cloud Functions Cloud Run
  23. 23. Cloud OnAir Firebase と合わせて利用し高品質のアプリを迅速に開発 より優れたアプリを作成 Identity Platform Cloud Storage Firebase Hosting ML Kit Google の機械学習の 機能を Android アプリや iOS アプリとして 提供するモバイルSDK 簡単かつ安全に ユーザーを認証する スピードとセキュリティを備 えたWebアプリ アセットを提供する Google の規模で ファイルを保存して 提供する Cloud Firestore Google の規模で ファイルを保存して 提供する Firebase は、高品質の アプリを迅速に開発 できる Google の モバイル プラット フォームである。 用意される機能とフルマネージドバックエンドを使用して、開発を簡略できる Cloud Functions サーバーを管理せずに モバイルバックエンド コードを実行する
  24. 24. Cloud OnAir Identity Platform Users 社員、パートナー、 お客様(アプリ利用者) Devices モバイル、PC Apps SaaS、オンプレ、LOB シンプル、スマートかつ安全なユーザ、デバイス、アプリの統合管理ツール エンタープライズ対応、 SLA を提供 サポートされた認証方法 ● SAML ● OIDC ● OpenID 接続 ● Eメール/パスワード ● 電話番号 ● Google ● Facebook ● Twitter ● カスタム ● 匿名 下記から利用可能 ● Android ● iOS ● Javascript ● Admin SDKs ○ Node.js ○ Java ○ Python ○ Go ● Unity ● C++
  25. 25. Cloud OnAir 静的なファイルを高速で安全に ウェブホスティング 簡単なデプロイ:デプロイコマンド 1 行で簡単にデプロイ、自動化も容易 グローバル CDN :世界中の CDN エッジにおける SSD ベースのホスティング HTTPS 対応:カスタムドメイン用の 無料の SSL 証明書の自動生成とデプロイ Firebase Hosting $ npm install -g firebase-tools $ firebase deploy
  26. 26. スマートリプライ 言語識別 自然言語視覚認識 オンデバイス翻訳 カスタム モデル サービング カスタム AutoML Vision Edge ランドマーク 認識 顔認識 バーコード スキャン イメージ ラベリング 文字認識 オブジェクト追 跡 Google の機械学習テクノロジーを利用しアプリをパ ワーアップする ML Kit
  27. 27. Cloud OnAir User Identity Platform Cloud Storage ML KitCloud Functions Cloud Firestore 通知 Cloud Functions サインイン アップ ロード API Gateway 確認 既存バックエンドへ の送信 用意される機能とフルマネージドバックエンドを使用して、リリースまでの時間を短縮 Firebase で高品質のアプリを迅速に開発できる Vision API
  28. 28. Cloud OnAir 開発観点で Cloud Firestore とは ライブ同期、オフライン サポートを提供するモバイル / ウェブ SDK データベースへのフルアクセス権を備えた サーバー SDK IAM と Identity Platform による認証機能が組み込まれている Cloud Functions、Cloud Storage、Firebase SDK との密接な統合 強い整合性と自動マルチリージョンデータレプリケーション グローバルスケールな モバイル / ウェブアプリのデータの 保存、同期、クエリを簡素化する NoSQL ドキュメントデータベース Cloud Firestore
  29. 29. Cloud OnAir ドキュメントとデータコレクション restaurants rest_bill rest_carol rest_kiran rest_pam rest_ron menu_items ribs brisket menu_items taco menudo menu_items pizza linguini
  30. 30. Cloud OnAir ドキュメントの注意点 1 MB のサイズ 秒間 1 ドキュメント の書き込み速度 rest_ichimon name: "ICHIMON" cuisine:"Izakaya" rating: 4.4 address: {street: "345 Spear St.", city: "San Francisco", zip: "94105} flags: ["groups", "alcohol", "reservations"] menu: {ribs_1: {name: "grilled beef ribs", price: 14.99, description: "..."} …} Firestore ではデータをフェッチする最小単位はドキュメント
  31. 31. Cloud OnAir コレクション vs コレクショングループ restaurants rest_izzy rest_carol rest_kiran rest_pam rest_ron menu_items tempura takoyaki menu_items taco menudo menu_items pizza linguini restaurants rest_bill rest_carol rest_pamrest_kiran rest_raaj コレクション サブ コレクション vs コレクショングループを利用したら サブコレクションを横断してクエリ可能 例:"recommended" == true の全ての メニューを返す
  32. 32. Cloud OnAir データ構造の選択 1. ドキュメントの制限 2. コレクション vs. サブ コレクション 3. クエリのプラン
  33. 33. Cloud OnAir 全てのクエリはインデックス経由で実行されている rest_bill name: "Bill's BBQ" cuisine:"Barbecue" city: "San Francisco" rating: 4.4 rest_carol name: "Carol's Casa" cuisine:"Mexican" city: "Dallas" rating: 4.5 rest_kiran name: "Kiran's Korma" cuisine:"Indian" city: "Chicago" rating: 4.4 rest_pam name: "Pam's Pasta" cuisine:"Italian" city: "Dallas" rating: 4.4 rest_ron name: "Roy's Ribs" cuisine:"Barbecue" city: "San Francisco" rating: 3.9 rest_todd name: "Todd's Tacos" cuisine:"Mexican" city: "San Francisco" rating: 4.6 city document_id "Chicago" rest_kiran "Dallas" rest_carol "Dallas" rest_pam "San Francisco" rest_bill "San Francisco" rest_ron "San Francisco" rest_todd let restRef = db.collection('Restaurant'); let query = restRef.where('City', '==', ‘Chicago’).get(); デフォルトでは全ての列に単一フィールドの インデックスがついている。
  34. 34. Cloud OnAir 東京にある Top 10 の イタリアのお店をクエリ クエリのパフォーマンスは結果セットのサイズに依存する
  35. 35. Cloud OnAir 複合クエリの実行 let restRef = db.collection('Restaurant'); let query = restRef .where('City', '==', ‘Chicago’) .where(‘cuisine’, '==', ‘Barbecue’).get; 複合クエリを実行する場合には、関連するフィールドをすべて含まれる 複合インデックスを作成する
  36. 36. Cloud OnAir クエリとインデックス 1. クエリのパフォーマンスは結果の サイズに依存する 2. 単一フィールド インデックスは自 動的に作成される 3. 対応のインデックスが存在しない 場合はエラーになる
  37. 37. Cloud OnAir Cloud OnAir 架空のストーリーと ユースケース、デモ
  38. 38. Cloud OnAir ストーリー 【現状】 ● 高負荷に対する動的スケールの実現が難しいシステムを運用中 【急なビジネスチャンスの到来】 ● 自社商品に対する需要増加によるEC の売上増加 ● しかし、高負荷に耐えることが難しいため、特定商品に対するアクセスが 増加すると既存EC までダウンして共倒れしてしまう可能性がある ● とはいえ、モダナイゼーションを進める猶予もない ● スピード感が大事(将来を見据えたDB 設計は難しい)
  39. 39. Cloud OnAir 現状を図にすると User LB APP APP APP APP APPAPP CDN
  40. 40. Cloud OnAir 特定の処理や商品ページに負荷がかかると… User LB APP APP APP APP APPAPP ① アプリケーションが処理しきれず レスポンスを返せない ② DB 高負荷による処理の失敗 CDN
  41. 41. Cloud OnAir 特定パスの処理で、クラウドのスケール性を活用 User LB APP APP APP APP APPAPP CDN Cloud Run (APP) バッチ処理などで取り込み Cloud Firestore (DB) VPC 内部通信も可 /products/12345
  42. 42. Cloud OnAir データストア後に後続のタスクがある場合は イベント連携させることで、後続の Cloud Run に繋げる (処理によっては Cloud Functions で完結可能) Cloud Run Cloud Firestore Cloud Functions Cloud Pub/Sub Cloud Run 登録 Event Trigger 登録 Push
  43. 43. Cloud OnAir Identity Platform デモ User LB キャンペーン サイト 申し込み 申請情報の登録 メール送信処理(ダミー) 認証管理 目的:負荷の高くなる処理を既存システムから切り離す Cloud Run () Cloud Firestore Cloud Functions Cloud Pub/Sub Cloud Run EC /products
  44. 44. Cloud OnAir さらなるアジャイル開発のために ● バックエンドシステムはインフラ管理不要の Cloud Run を採用 ● Cloud Firestore を活用し、迅速なアプリ開発 ● Firebase の機能により、より高品質なアプリに改善 ● Cloud Run x Cloud Firestore の Google フルマネージドな環境を利用し、 スケール性が必要な処理も容易に実現 ● 開発タスクのみにフォーカスし続けることを実現

×