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.5k
GCPだけではなく Googleのプロダクトを活用し、 新サービスを作らずに創る
chidakiyo
0
1.5k
Other Decks in Technology
See All in Technology
ペアーズにおけるData Catalog導入の取り組み
hisamouna
0
250
新卒1年目のフロントエンド開発での取り組み/New grad front-end efforts
kaonavi
0
140
こんなデータマートは嫌だ。どんな? / waiwai-data-meetup-202504
shuntak
2
490
小さく始めるDevOps 内製化支援から見えたDevOpsの始め方 / 20250317 Ken Takayanagi
shift_evolve
1
120
20250326_管理ツールの権限管理で改善したこと
sasata299
1
600
ソフトウェアプロジェクトの成功率が上がらない原因-「社会価値を考える」ということ-
ytanaka5569
0
140
OPENLOGI Company Profile for engineer
hr01
1
23k
Amazon Q Developer 他⽣成AIと⽐較してみた
takano0131
1
140
試験は暗記より理解 〜効果的な試験勉強とその後への活かし方〜
fukazawashun
0
150
TopAppBar Composableをカスタムする
hunachi
0
170
Symfony in 2025: Scaling to 0
fabpot
2
270
生成AI時代のセキュアCI/CDとソース管理
yuriemori
0
100
Featured
See All Featured
Building Adaptive Systems
keathley
41
2.5k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
12
630
Git: the NoSQL Database
bkeepers
PRO
430
65k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
How to Ace a Technical Interview
jacobian
276
23k
A Tale of Four Properties
chriscoyier
158
23k
Why Our Code Smells
bkeepers
PRO
336
57k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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