Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GCPでNoAdmした話
Search
chidakiyo
November 29, 2017
Technology
4
1.2k
GCPでNoAdmした話
chidakiyo
November 29, 2017
Tweet
Share
More Decks by chidakiyo
See All by chidakiyo
Cloud Buildを気軽なコンテナ実行環境として利用する / gcpug-cloud-build-day
chidakiyo
4
1.6k
GCPだけではなく Googleのプロダクトを活用し、 新サービスを作らずに創る
chidakiyo
0
1.6k
Other Decks in Technology
See All in Technology
ファッションコーディネートアプリ「WEAR」における、Vertex AI Vector Searchを利用したレコメンド機能の開発・運用で得られたノウハウの紹介
zozotech
PRO
0
300
結局QUICで通信は速くなるの?
kota_yata
3
2.2k
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
1.3k
Instant Apps Eulogy
cyrilmottier
1
110
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
980
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
740
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
3
700
猫でもわかるQ_CLI(CDK開発編)+ちょっとだけKiro
kentapapa
0
3.5k
ユーザー課題を愛し抜く――AI時代のPdM価値
kakehashi
PRO
1
120
ZOZOTOWNの大規模マーケティングメール配信を支えるアーキテクチャ
zozotech
PRO
0
310
開発 × 生成AI × コミュニケーション:GENDAの開発現場で感じたコミュニケーションの変化 / GENDA Tech Talk #1
genda
0
220
全員が手を動かす組織へ - 生成AIが変えるTVerの開発現場 / everyone-codes-genai-transforms-tver-development
tohae
0
180
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
800
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Unsuck your backbone
ammeep
671
58k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
For a Future-Friendly Web
brad_frost
179
9.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
450
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Transcript
copyright Fringe81 Co.,Ltd. 2017/11/28 author @chidakiyo GCPでNoAdmした話 酔いどれGCPUG
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 beta datastore
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