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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Naoki Ainoya
June 23, 2021
Technology
2.8k
0
Share
Looker BEACON 2021 / How we implemented Scalebase Analytics with Looker
Looker BEACON 2021 / Looker組み込みアナリティクスによるScalebase分析機能の展開
Naoki Ainoya
June 23, 2021
More Decks by Naoki Ainoya
See All by Naoki Ainoya
Salesforce Application Development with GitHub Actions and sfdx-cli
ainoya
1
3.9k
Scalebase Analytics powered by Looker
ainoya
0
2.5k
SPIFFE in Action
ainoya
4
1.7k
How Developer Support Works
ainoya
10
2.7k
リクルートマーケティングパートナーズでのDeployGate活用事例
ainoya
2
4.5k
[RMPxQuipper meetup #3]開発のための開発~スマホアプリ向けe2eテストの検証導入事例を通じて~
ainoya
1
2.4k
How to play Scala on dockerized infrastructure
ainoya
4
3.2k
prevs.io開発の裏側とコンテナ仮想化時代のAPI運用
ainoya
4
2.5k
ビルドパイプラインツールをGoで作った話
ainoya
3
2.7k
Other Decks in Technology
See All in Technology
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
190
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
0
100
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
310
[みん強]AIの価値を最大化するデータ基盤戦略:Self-Service型Data Meshへの転換とAgentic AI Meshに向けた取り組み with Snowflake他
y_matsubara
1
180
組織の中で自分を経営する技術
shoota
0
150
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
15
13k
開発にAIを組織として取り入れる一歩目とその後
yujishibuya
0
220
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
0
420
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
200
AIが変えた"品質の守り方"
kkakizaki
9
2.7k
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
180
データ基盤構築・運用の現場から 〜 Snowflake Intelligence 導入で変わった、データ活用の未来 〜
wonohe
0
180
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Site-Speed That Sticks
csswizardry
13
1.2k
Automating Front-end Workflow
addyosmani
1370
210k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
360
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
30 Presentation Tips
portentint
PRO
1
300
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Discover your Explorer Soul
emna__ayadi
2
1.1k
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