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.1k
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
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
160
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
強いチームと開発生産性
onk
PRO
35
11k
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
300
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
180
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
136
6.6k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Six Lessons from altMBA
skipperchong
27
3.5k
Optimizing for Happiness
mojombo
376
70k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
RailsConf 2023
tenderlove
29
900
What's new in Ruby 2.0
geeforr
343
31k
GitHub's CSS Performance
jonrohan
1030
460k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
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