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
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
220
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
140
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
120
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
540
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
350
Featured
See All Featured
RailsConf 2023
tenderlove
29
900
Rails Girls Zürich Keynote
gr2m
94
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Speed Design
sergeychernyshev
24
610
A Modern Web Designer's Workflow
chriscoyier
693
190k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Agile that works and the tools we love
rasmusluckow
327
21k
Building an army of robots
kneath
302
43k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
How to Think Like a Performance Engineer
csswizardry
20
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