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
Looker BEACON 2021 / How we implemented Scaleba...
Search
Naoki Ainoya
June 23, 2021
Technology
0
2.8k
Looker BEACON 2021 / How we implemented Scalebase Analytics with Looker
Looker BEACON 2021 / Looker組み込みアナリティクスによるScalebase分析機能の展開
Naoki Ainoya
June 23, 2021
Tweet
Share
More Decks by Naoki Ainoya
See All by Naoki Ainoya
Salesforce Application Development with GitHub Actions and sfdx-cli
ainoya
1
3.7k
Scalebase Analytics powered by Looker
ainoya
0
2.2k
SPIFFE in Action
ainoya
4
1.4k
How Developer Support Works
ainoya
10
2.5k
リクルートマーケティングパートナーズでのDeployGate活用事例
ainoya
2
4.4k
[RMPxQuipper meetup #3]開発のための開発~スマホアプリ向けe2eテストの検証導入事例を通じて~
ainoya
1
2.2k
How to play Scala on dockerized infrastructure
ainoya
4
2.9k
prevs.io開発の裏側とコンテナ仮想化時代のAPI運用
ainoya
4
2.4k
ビルドパイプラインツールをGoで作った話
ainoya
3
2.4k
Other Decks in Technology
See All in Technology
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
260
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
.NET 9 のパフォーマンス改善
nenonaninu
0
930
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
12
11k
5分でわかるDuckDB
chanyou0311
10
3.2k
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
450
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
120
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
360
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Being A Developer After 40
akosma
87
590k
Speed Design
sergeychernyshev
25
670
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
4 Signs Your Business is Dying
shpigford
181
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Building an army of robots
kneath
302
44k
Gamification - CAS2011
davidbonilla
80
5.1k
Adopting Sorbet at Scale
ufuk
73
9.1k
What's in a price? How to price your products and services
michaelherold
243
12k
A Philosophy of Restraint
colly
203
16k
Transcript
Looker組み込みアナリティクスによる Scalebase分析機能の展開 BEACON Japan 2021 Naoki Ainoya / Alp, Inc.
自己紹介 • Naoki Ainoya • SRE @ Alp, Inc. •
Scalebaseの開発・運用
本日お話すること Scalebaseに分析機能を実装するにあたり… • Looker選定に至った背景 • 組み込みAnalyticsの実装方式と構成 • 実運用・開発フロー • 導入後の成果・反響
サブスクリプションビジネス効率化・収益 最大化プラットフォーム
Scalebaseが対象とするビジネスモデル
契約・請求・分析のオペレーションを一気通貫で管理 SFAや会計システムと連携し、シームレスなオペレーションを実現
契約・請求・分析のオペレーションを一気通貫で管理 SFAや会計システムと連携し、シームレスなオペレーションを実現
Scalebaseの分析機能 • Scalebase内のデータを リアルタイムに可視化する 分析ダッシュボードを提供 • Looker組み込みアナリティクス (Embed SSO)で Scalebaseサービス内に埋め込み
顧客に展開
Lookerを採用した理由 サービスに組み込み可能なBIソリューションをいくつか検証し、Lookerを採用 検討時の要件: • 人・時間のリソースが限られている状況で、素早く立ち上げること • 急激なサービスの成長にも耐えられる作りになっていること
Lookerを採用した理由 検討時の要件: • 人・時間のリソースが限られている状況で、MVP(Minimum Viable Product)を素早 く立ち上げ、改善できること • Developer Experienceが重要
→LookMLの高い表現力・開発のしやすさ 定義のGit管理ができ、変更管理・レビュー・リリース管理がしやすい →Embed SSOによる組み込みとダッシュボード開発の容易さ
Lookerを採用した理由 検討時の要件: • 急激なサービスの成長にも耐えられる作りになっていること →Looker自体がパフォーマンスのボトルネックになりづらいアーキテクチャ →負荷に応じてデータウェアハウスのアーキテクチャを将来変更して捌ける (小さく始められ、かつ処理が重くなってもこちらで対応でき、手詰まりとならない)
他BIツールの検討時に問題になったこと • 自社サービスへの組み込み方法 • ユーザーアカウントのプロビジョニング方法
組み込みのしやすさ • シンプルな機構で実装が容易だった
組み込みのしやすさ ①組み込みURL生成リクエスト
組み込みのしやすさ ①ダッシュボードURL 生成リクエスト ②サーバサイドでダッシュボードURL生成、API キーで署名 (事前にLookerからAPIキーを取得)
組み込みのしやすさ ②サーバサイドでダッシュボードURL生成、API キーで署名 (事前にLookerからAPIキーを取得) • URL生成時に、Lookerへのアクセス権限やLookerダッ シュボードで使用するユーザ属性(ユーザIDなど)をパラ メータとして付与して生成 • 生成URLをAPIキーで署名するため
第三者が不正に生成・改ざんすることは困難 • APIキーは事前に取得して使用するため、URL生成の 都度Lookerに問い合わせる必要が無いので楽
組み込みのしやすさ ①ダッシュボードURL 生成リクエスト ②サーバサイドでダッシュボードURL生成、API キーで署名 (事前にLookerからAPIキーを取得) ③生成されたURLでLooker ダッシュボードをiframe呼び 出し
ユーザアカウントのプロビジョニング方法 • アカウントの発行 • BIサービス側と自社サービス側のアカウントの同期
ユーザアカウントのプロビジョニング方法 ③生成されたURLでLooker ダッシュボードをiframe呼び 出し このとき、Looker側にユーザーアカウントが 自動作成される ScalebaseサーバからLookerに対して都度ア カウント発行処理等は必要無い
ユーザアカウントのプロビジョニング方法 ③生成されたURLでLooker ダッシュボードをiframe呼び 出し このとき、Looker側にユーザーアカウントが 自動作成される ScalebaseサーバからLookerに対して都度ア カウント発行処理等は必要無い 事前のアカウント 払い出し処理が不要
まとめ:Lookerを組込み分析で使用するメリット • スケーラビリティのあるアーキテクチャ • LookMLによるダッシュボード、データモデルのメンテナンス容易性 • 組込み実装のしやすさ • ユーザアカウントのプロビジョニングが楽 その結果・・・
結果として:リリースまでのタイムライン おかげさまで機能検討開始からリリースまで半年程度で完了 • PRD・要件定義: 1~2ヶ月 • BIソリューション選定: 1~2ヶ月 • Looker社リードのもとPoC:
1ヶ月 • 実装: 2~3ヶ月 (Lookerのプロフェショナルサービス利用) PoC、実装はLookerチームの支援でスピード感持って進められた。感謝!
メンバー構成 全員兼務あり、限られたメンバー構成で無理なく進行 • PM: 1名 • デザイン: 1名 • フロント:
1名 • バックエンド: 1名 • SRE: 1名
全体構成・開発フロー • Lookerと接続するデータインフラの構成 • LookMLダッシュボード・データモデルの開発フロー
全体構成 • データ基盤無い状態から最小構成で始める • データ規模に応じアーキテクチャを変更して いく方針 • LookerからAurora MySQLを直接参照する 構成
◦ リアルタイム性を重視
重い集計の逃し方 • MySQLでは重すぎる処理が出てきたら、S3 とAthenaで集計する処理で補助
重い集計の逃し方 • LookerのPersistent Derived Table(PDT)機 能を使って重い集計処理は一時テーブルに キャッシュ可能 • 簡単なETLならLookerだけで実現可能
データ規模に応じたなめらかな拡張 • データ規模に応じアーキテクチャを変更 • LookerからMySQLへの参照をやめる • AWS Athena + Federated
Queryによって データ同期の遅延を損なうことなく切り替え • LookMLに大規模な変更をせずに無停止で 変更を実現
LookML開発フロー • Lookerのエディタ上で編集し、Lookerインスタンスに反映するフロー • 素早く開発できるようにする • かつ、安全なリリースを行えるようにする必要がある →Git連携を生かしてGitHub上でCI/CDを構築して開発・運用
LookML開発フロー • Looker本番・開発インスタンス用に2リポジトリ構成
LookML開発フロー • GitHub Actionsを活用して運用自動化、安全にリリース • gitリポジトリでダッシュボード定義を管理できる利点が活躍 ※Looker 7.20からデプロイ元ブランチを選択可能になったため、現在は1リポジトリで実現可能
補足: デザイン面 ダッシュボードのデザインをLooker上でどう表現するか • LookerのビルトインのVisualizationを利用する場合は、 見た目のカスタマイズある程度できるが、妥協は必要 • ただ、拡張の余地は多いにある
デザイン面: 独自Visualizationによる拡張 • Custom Visualizationを使用してタイル部分を自前で実装可能 • 実際にmultiple_valueのコードをフォークしてデザインを 少し変えて使用している
デザイン面: API・SDKによる拡張 • API/SDKを使用してiframe呼び出しをやめて完全に自前デザインにすることも可能 • 実際にフィルタ部分をiframe外で自前実装している iframe iframe外の実装
リリース後の反響 • 多くのフィードバックをいただいた • 可視化に対するニーズは多様 • 様々な可視化の切り口がある(経理担当者・事業企画者・経営者etc..) • まだまだこれからだが、要望に応える分析機能を提供していく ◦
入金状況・コホート・レイヤーケーキチャートなど続々と対応している • 一般的なSaaS開発と同様、顧客の声に耳を傾けひたすら改善あるのみ
まとめ • Looker採用によってScalebaseの分析機能を素早く立ち上げることができた • スタートアップにおいて人・時間の制約がある状況でも無理なく実現 • LookMLのおかげでダッシュボード定義もブラックボックス化しにくく運用面の不安 が少ない • Lookerが機能で対応していない設定部分もCIでの定義自動生成などである程度カ
バーしてしまえるのもConfiguration as Codeの良さ • Lookerは社内BIだけでなく、プロダクトで顧客向けの分析機能を提供したい場合に もおすすめです
We’re hiring! • データの力で サブスクリプションビジネスの 世界を変えましょう • https://thealp.co.jp • https://herp.careers/v1/alpinc