copyright Fringe81 Co.,Ltd.2017/11/28 author @chidakiyoGCPでNoAdmした話酔いどれGCPUG
View Slide
copyright Fringe81 Co.,Ltd.まずは自己紹介
copyright Fringe81 Co.,Ltd.自己紹介● @chidakiyo● Fringe81という会社で働いています。● 普段はR&Dをしていたり、新規事業のプロト作ったりしている人です。● 筋トレ好きです。● Appengine 昔から触ってました。よいどれ
copyright Fringe81 Co.,Ltd.NoAdmとは?● 管理系の画面を「開発せずに作る」● アプリケーションの運用に必要なダッシュボードなどの機能をアプリケーション側で作り込まず、かつ、フルマネージドに実現したいという思いつきからの造語です。
copyright Fringe81 Co.,Ltd.今日話すこと/話さないこと● NoAdmを実現した流れを話します● あまり細かい技術の話はしません
copyright Fringe81 Co.,Ltd.[前提情報] Uniposというサービスをやってます
copyright Fringe81 Co.,Ltd.[前提情報] Uniposの構成
copyright Fringe81 Co.,Ltd.運用にあたってこんなオーダーが...1. Datastore内のデータで顧客へのレポートを作りたい2. カスタマーサクセスチームの非エンジニアでも手軽に利用状況などを分析したい
copyright Fringe81 Co.,Ltd.ちなみに、Datastoreって、● エンティティのJoinができない● 集約関数がない(sum, count, etc.)● 全文検索できない「うーん、SQLで書きたい・・・」みたいな気持ちに
copyright Fringe81 Co.,Ltd.考えたこと● DatastoreのデータをBigQueryに同期することで、SQLをつかって色々見れそう!
copyright Fringe81 Co.,Ltd.ではやってみることにした
copyright Fringe81 Co.,Ltd.DatastoreをBigQueryに同期するステップ1. DatastoreをGCSへバックアップする2. バックアップファイルをBQに投入する
copyright Fringe81 Co.,Ltd.1) DatastoreをGCSへバックアップする● 自作の chidakiyo/datastore-backup を利用して各kindをGCS上にバックアップQiitaも書いてます : https://qiita.com/chidakiyo/items/bb2e49c6f99b7210fa0f
copyright Fringe81 Co.,Ltd.2) バックアップファイルをBQに投入する● favclip/ds2bqを利用● GCSに書き込まれたバックアップのOCN(Object Change Notification)をトリガにds2bqでバックアップファイルをBQに投入
copyright Fringe81 Co.,Ltd.これでSQLを利用し、データへ柔軟にアクセスできるようになった!
copyright Fringe81 Co.,Ltd.SQLを実行できることで実現できたコト● 日毎の企業別の投稿数の推移● 日毎の貰ったポイント、送ったポイント● アカウントごとの投稿数/送った貰ったポイント● などなど、、、SQLで好きなように分析できる!かなりいい感じ!
copyright Fringe81 Co.,Ltd.悲しいお知らせ
copyright Fringe81 Co.,Ltd.昨日判明した衝撃の事実・・・● 今日紹介したDatastoreのバックアップ手法は古代の手法となりつつあるようで、トレンディーなエンジニアのみなさまにおかれましては、gcloud betadatastore exportのご利用を検討してみてください!(涙● 昨日、GCPUGのSlackで気づきました・・・参考 : https://cloud.google.com/datastore/docs/export-import-entities
copyright Fringe81 Co.,Ltd.ここからNoAdm的な話
copyright Fringe81 Co.,Ltd.SRE本でいう Toil を撲滅する● 顧客向けのレポート作成のためにExcelポチポチ● 利用状況の分析のための情報をDatastoreからのデータ取得ポチポチToilとは「苦労」や「長く続く骨折り仕事」のような意味があり、SRE本では、手作業である、繰り返される、自動化可能である、戦術的である、長期的な価値を持たない、サービスの成長に対し O(n)である、の1つ以上に当てはまれば Toilである可能性が高いと書かれています。
copyright Fringe81 Co.,Ltd.SRE本でいう Toil を撲滅する● 顧客向けのレポート作成のためにExcelポチポチ● 利用状況の分析のための情報をDatastoreからのデータ取得ポチポチこんな苦労は撲滅!!
copyright Fringe81 Co.,Ltd.NoAdmとして実現したこと(1)● 顧客向けのレポートはDatastudioで
copyright Fringe81 Co.,Ltd.NoAdmとして実現したこと(1)● 構成
copyright Fringe81 Co.,Ltd.NoAdmとして実現したこと(1)● Datastudioを新規作成する
copyright Fringe81 Co.,Ltd.NoAdmとして実現したこと(1)● BigQueryのテーブルを選択して接続を作成する
copyright Fringe81 Co.,Ltd.NoAdmとして実現したこと(1)● グラフを配置するとすぐに見える!
copyright Fringe81 Co.,Ltd.やばい、簡単!!
copyright Fringe81 Co.,Ltd.Datastudio、何と接続できる?● BQだけではなく、色々なデータに簡単に接続できる(CloudSQL, AdWords, MySQL, PostgreSQL,GoogleSpreadSheet, etc..)● コミュニティコネクタと言うものがありさらにいろいろなデータソースに接続できます
copyright Fringe81 Co.,Ltd.Datastudioを利用して嬉しいこと● 顧客ごとに見たい指標をカスタマイズしたレポートの提供が容易にできる● サーバコスト不要● SQL書けなくてもグラフが作れる● G Suiteの権限で共有ができるので管理しやすい
copyright Fringe81 Co.,Ltd.Datastudioでハマった/困ったこと● データソースの編集権限がシェアできないので、複数人での編集が出来ない。
copyright Fringe81 Co.,Ltd.NoAdmとして実現したこと(2)● アプリケーションの毎日確認したい情報のグラフをSlackに通知。
copyright Fringe81 Co.,Ltd.NoAdmとして実現したこと(2)● 構成
copyright Fringe81 Co.,Ltd.NoAdmとして実現したこと(2)細かい内容は今年のAdvent Calendarで。
copyright Fringe81 Co.,Ltd.Slackへのグラフ通知で嬉しいこと● グラフが毎朝決まった形でSlackに投稿され、Slack上ですぐに議論が始められる● コミュニケーションツール上にレポートされるので、チーム内の意識のすり合わせの時間が減らせる
copyright Fringe81 Co.,Ltd.GASのSlack通知でハマったこと/困ったこと● GASのリソース使いすぎるとCPU時間が長すぎますメールがGoogleから来て、止められることがある。● GASの処理は6分以内に終わらせる必要がある。
copyright Fringe81 Co.,Ltd.実現するためにその他にやったこと。● 非エンジニアがSQLを実行するのが容易な環境をつくり、非エンジニアもSQLを書けるように。(社内で非エンジニア向けSQL教室を毎日行った)
copyright Fringe81 Co.,Ltd.実現して個人的に嬉しいこと● 「こんな情報が欲しいのでデータベースから情報取得してもらえますか?」とお願いされることがないので、早く家に帰って筋トレができるw
copyright Fringe81 Co.,Ltd.BQ連携構成で良かった点● Datastoreのバックアップを起点にNoAdm側は構成されているため、疎結合でアプリケーション側に影響を与えない● アプリケーション側への影響が少ないため、運用の便利ツールを比較的容易に作りやすい● 初期の開発の工数を減らすことができた
copyright Fringe81 Co.,Ltd.さいごに● GCPはいろいろ便利に使えるツールがたくさんあるので便利に使ってラクしましょう!
copyright Fringe81 Co.,Ltd.一緒にGCPの話でわいわいできる仲間を募集しています!
copyright Fringe81 Co.,Ltd.一緒にGCPの話でわいわいできる仲間を募集しています!筋トレ好きな人も!
copyright Fringe81 Co.,Ltd.ご清聴ありがとうございました。
copyright Fringe81 Co.,Ltd.参考:[まだBIツールで消耗してるの? ~ サーバレス・KPI分析ダッシュボードをGAS + Slackで]http://blog.yamotty.com/entry/20161114/1479079800[BigQueryを簡単にグラフにするGoogle Apps Script]http://toreta.blog.jp/archives/20649904.html