Upload
google-cloud-platform-japan
View
262
Download
3
Embed Size (px)
Citation preview
Cloud Onr
Cloud OnAir
Cloud OnAir
2018 年 3 月 15 日 放送 e-Learning 補助資料
アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。
Cloud OnAir
(再掲)構築 ~ 計測 ~ 学習のフィードバックループ
アイディア
製品データ
構築
計測
学習
構築 ~ 計測 ~ 学習のフィードバック
ループを短くすることで、
ユーザのフィードバックを得ながら、
本当に必要なものを高速に開発できる
Cloud OnAir
想定シナリオ
ログ収集
Logging
アプリサーバ
App Engine
DWHBigQuery
CloudDatalab
Data Studio
GoogleSheets
Webサイトのアクセス数を増加させる施
策を検討中。
2案について、フィードバックをもとに最終
決定を行う。
GCPにおける構築 ~ 計測 ~ 学習の
フィードバックループを、サンプルアプリ
を通じて学習しましょう!
Cloud OnAir
Step 1. 構築 〜 アプリケーションをデプロイする 〜
1. アプリケーションを開発
2. ローカル環境で動作確認
3. version1 をデプロイ
4. アプリケーションを修正
5. version 2をデプロイ
ログ収集
Logging
アプリサーバ
App Engine
Cloud OnAir
Step 2. 計測 〜 計測データをデータ分析基盤に収集する 〜
1. アクセスをversion1, 2に振り分ける
2. (ログを収集する)
3. Stackdriverでログを確認
4. BigQueryにログをexportログ収集
Logging
アプリサーバ
App Engine
DWHBigQuery
Cloud OnAir
Step 3. 学習 〜 データから学びを得る 〜
1. BigQuery でログを解析
2. Data Studio でログを解析
3. version 2 を全体にリリース
ログ収集
Logging
アプリサーバ
App Engine
DWHBigQuery
CloudDatalab
Data Studio
GoogleSheets
Cloud OnAir
Step 1. アプリver.1 の作成手順 その1
11
● Cloud Shellを起動
コンソール画面の右上にあるアイコンをクリックし、Cloud Shellを起動する。
ブラウザの下部に、コンソール画面が表示される
Cloud OnAir
Step 1. アプリver.1 の作成手順 その2
12
● main.py を作成
# encoding: utf-8
import webapp2
class MainPage(webapp2.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/plain' self.response.write(u"Ver. 1")
app = webapp2.WSGIApplication([ ('/', MainPage),], debug=True)
Cloud OnAir
Step 1. アプリver.1 の作成手順 その3
13
● app.yaml を作成
runtime: python27api_version: 1threadsafe: true
handlers:- url: /.* script: main.app
Cloud OnAir
Step 1. アプリver.1 の作成手順 その4
$ dev_appserver.py .
● 以下のコマンドを実行し、Cloud Shell内でアプリを起動
● 「ポート上でプレビュー 8080」をクリックし、アプリを確認
Cloud Shellの右上にある「ポート上でプレビュー 8080」をクリックし、アプリをプレビュー。
ブラウザで、アプリがプレビューされる
Cloud OnAir
Step 1. アプリver.1 の作成手順 その5
$ gcloud app deploy --version v1
● 以下のコマンドを実行し、アプリver. 1をデプロイ
--version : デプロイしたアプリのバージョン名を指定
※ 初回デプロイ時は、リージョンを選択する必要あり。
東京リージョン(asia-northeast1)を推奨。
Cloud OnAir
Step 1. アプリver.1 の作成手順 その6
● Cloud Consoleから、デプロイしたアプリを確認
○ 「App Engine」→「バージョン」を選択
○ v1を選択
Cloud OnAir
Step 1. アプリver.2 の作成手順 その1
17
● main.py を修正
# encoding: utf-8
import webapp2
class MainPage(webapp2.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/plain' self.response.write(u"Ver. 2")
app = webapp2.WSGIApplication([ ('/', MainPage),], debug=True)
# 修正箇所
Cloud OnAir
Step 1. アプリver.2 の作成手順 その2
$ gcloud app deploy --version v2 --no-promote
● 以下のコマンドを実行し、アプリver. 2をデプロイ
--no-promote : デプロイしたアプリにトラフィックを割り当てない
--version : デプロイしたアプリのバージョン名を指定
Cloud OnAir
Step 2. トラフィックの分割
● トラフィックを分割
○ 「トラフィックを分割」を選択
○ トラフィック分割の基準を”ランダム”に指定
○ トラフィック割り当てを”20%”に指定
○ 「保存」を選択
Cloud OnAir
Step 2. BigQueryにログをエクスポート
● Loggingにて、BigQueryにログをエクスポートする設定を追加
○ 「エクスポートを作成」を選択
○ “新しいBigQueryデータセットを作成”を選択し、名前を入力
Cloud OnAir
Step 3. BigQueryでログを解析
SELECT resource.labels.version_id, COUNT(resource.labels.version_id) AS totalFROM [<ProjectID>:CloudOnAir.appengine_googleapis_com_request_log_20180308]GROUP BY resource.labels.version_id
● BigQueryでログを解析
○ “CloudOnAir”データセット -> “appengine_googleapis_***”テーブルを選択
○ 「Query Editor」で以下のクエリを実行
Cloud OnAir
Step 3. Data Studioでログを解析 その1
● Data Studioを表示
https://datastudio.google.com/
「新しいレポートの開始」をクリック
Cloud OnAir
Step 3. Data Studioでログを解析 その3
1. BigQueryを選択
2. (初めての場合のみ)承認ボタンをクリックしてアクセス権を許可する
Cloud OnAir