Slide 1

Slide 1 text

Bengo4.com, Inc. データ分析と私たち 2021.8.3 弁護士ドットコム株式会社 SRE室 小田島 拓

Slide 2

Slide 2 text

Bengo4.com, Inc. 2 専門家をもっと身近に 世界中の人達が「生きる知恵=知的情報」をより自由に活用できる社会を創り、 人々が幸せに暮らせる社会を創造するため、「 専門家をもっと身近に 」を理念として、 人々と専門家をつなぐポータルサイト「弁護士ドットコム」「税理士ドットコム」「ビジネスロイヤーズ」 Web完結型クラウド契約サービス「クラウドサイン」を提供しています 経営理念 

Slide 3

Slide 3 text

Bengo4.com, Inc. 3 データ分析とどのように関わっていますか?

Slide 4

Slide 4 text

Bengo4.com, Inc. 4 データ分析とどのように関わっていますか? 規模に依って基盤や組織、関わり方が変わるはず 当社の事例についてお話します

Slide 5

Slide 5 text

Bengo4.com, Inc. 5 400 300 200 100 0 2010 フェイズ① ~分析基盤のおこり~ 2010年頃 社員10人程 フェイズ② ~redash導入~ 2017年頃 社員100~150人程 フェイズ③ ~基盤再構築~ 2019年以降 社員200~300人程 年 社員数(人) 分析基盤の歴史 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

Slide 6

Slide 6 text

Bengo4.com, Inc. 6 400 300 200 100 0 2010 フェイズ① ~分析基盤のおこり~ 2010年頃 社員10人程 フェイズ② ~redash導入~ 2017年頃 社員100~150人程 フェイズ③ ~基盤再構築~ 2019年以降 社員200~300人程 年 社員数(人) 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

Slide 7

Slide 7 text

Bengo4.com, Inc. フェイズ① 規模感と環境の話 ● 2010年頃 / 社員数10人程度 ● 個人開発のBIツールが爆誕 ○ Yiiの学習用に作成したがいつのまにか社内公式ツールに ○ 有料会員数等の知りたい情報を表示する管理画面を作成した ○ 利用者増加に伴い機能に不満が出てきた 7

Slide 8

Slide 8 text

Bengo4.com, Inc. フェイズ① 規模感と環境の話 ● 2010年頃 / 社員数10人程度 ● 個人開発のBIツールが爆誕 ○ Yiiの学習用に作成したがいつのまにか社内公式ツールに ○ 有料会員数等の知りたい情報を表示する管理画面を作成した ○ 利用者増加に伴い機能に不満が出てきた 8 当該ツールの ● slackの検索結果97件 ● esaの記事19件

Slide 9

Slide 9 text

Bengo4.com, Inc. フェイズ① 規模感と環境の話 ● 2010年頃 / 社員数10人程度 ● 個人開発のBIツールが爆誕 ○ この頃Yiiに載せ替える動きがあり、学習用に作成した 9 ※YiiはPHPフレームワークです

Slide 10

Slide 10 text

Bengo4.com, Inc. フェイズ① 規模感と環境の話 ● 2010年頃 / 社員数10人程度 ● 個人開発のBIツールが爆誕 ○ この頃Yiiに載せ替える動きがあり、学習用に作成した ■ が、いつのまにか社内公式ツールに ○ 有料会員数等の知りたい情報を表示する管理画面を作成した ○ 利用者増加に伴い機能に不満が出てきた 10

Slide 11

Slide 11 text

Bengo4.com, Inc. フェイズ① 規模感と環境の話 ● 2010年頃 / 社員数10人程度 ● 個人開発のBIツールが爆誕 ○ この頃Yiiに載せ替える動きがあり、学習用に作成した ■ が、いつのまにか社内公式ツールに ○ 有料会員数等の知りたい情報を表示する管理画面を作成した ○ 利用者増加に伴い機能に不満が出てきた ○ 利用者増加に伴い機能に不満が出てきた 11 クエリのGit管理ができ作成意図が分かる仕様だったが 自由にクエリを書けず分析しにくい環境だったらしい

Slide 12

Slide 12 text

Bengo4.com, Inc. フェイズ① 組織と基盤の話 ● 組織的には・・・ ○ SREだけで管理運用していた ○ ユーザーがSREに依頼してデータを抽出 ○ ユーザーが少なく運用上問題なかった ● 基盤的には・・・ ○ (恐らく)EC2インスタンスでホスティングしているだけ ○ 本番用DBに繋いでおり、稀に重いクエリが流れる 12

Slide 13

Slide 13 text

Bengo4.com, Inc. フェイズ① 組織と基盤の話 ● 組織的には・・・ ○ エンジニアが管理運用していた ○ エンジニアに依頼してデータを抽出 ○ 依頼者が少なく運用上問題なかった ● 基盤的には・・・ ○ (恐らく)EC2インスタンスでホスティングしているだけ ○ 本番用DBに繋いでおり、稀に重いクエリが流れる 13

Slide 14

Slide 14 text

Bengo4.com, Inc. フェイズ① 組織と基盤の話 ● 組織的には・・・ ○ エンジニアが管理運用していた ○ エンジニアに依頼してデータを抽出 ○ 依頼者が少なく運用上問題なかった ● 基盤的には・・・ ○ (恐らく)EC2インスタンスでホスティングしているだけ ○ 本番用DBに繋いでおり、稀に重いクエリが流れる 14

Slide 15

Slide 15 text

Bengo4.com, Inc. フェイズ① 組織と基盤の話 ● 組織的には・・・ ○ エンジニアが管理運用していた ○ エンジニアに依頼してデータを抽出 ○ 依頼者が少なく運用上問題なかった ● 基盤的には・・・ ○ (恐らく)EC2インスタンスでホスティングしているだけ ○ 本番用DBに繋いでおり、稀に重いクエリが流れる 15

Slide 16

Slide 16 text

Bengo4.com, Inc. フェイズ① まとめ ● Yiiとりあえずやってみよう!から始まった ● とりあえずデータ見て分析してみた(本番データで) ● 基盤、組織共にあまり考慮されていなかった(と思われる) ○ 機能の問題、構成の問題からredashの導入を検討 16 人数が少ないので必要な コミュニケーションは取れていた

Slide 17

Slide 17 text

Bengo4.com, Inc. フェイズ① まとめ ● Yiiとりあえずやってみよう!から始まった ● とりあえずデータ見て分析してみた(本番データで) ● 基盤、組織共にあまり考慮されていなかった(と思われる) ● 機能の問題、構成の問題からredashの導入を検討 17

Slide 18

Slide 18 text

Bengo4.com, Inc. 18 400 300 200 100 0 2010 フェイズ① ~分析基盤のおこり~ 2010年頃 社員10人程 フェイズ② ~redash導入~ 2017年頃 社員100~150人程 フェイズ③ ~基盤再構築~ 2019年以降 社員200~300人程 年 社員数(人) 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

Slide 19

Slide 19 text

Bengo4.com, Inc. フェイズ② 規模感と環境の話 19 ● 2017年頃 / 社員数100~150人程度 ● redashが導入された ○ 本番用DBから分析用DBを用意する仕組みも出来た ● データサイエンス室が発足 ○ 事業部へのヒアリング、ダッシュボード作成提供など

Slide 20

Slide 20 text

Bengo4.com, Inc. フェイズ② 規模感と環境の話 20 ● 2017年頃 / 社員数100~150人程度 ● redashが導入された ○ 本番用DBから分析用DBを用意する仕組みも出来た ● データサイエンス室が発足 ○ 事業部へのヒアリング、ダッシュボード作成提供など

Slide 21

Slide 21 text

Bengo4.com, Inc. フェイズ② 規模感と環境の話 21 ● 2017年頃 / 社員数100~150人程度 ● redashが導入された ○ 本番用DBから分析用DBを用意する仕組みも出来た ● データサイエンス室が発足 ○ 事業部へのヒアリング、ダッシュボード作成提供など redashの ● slackの検索結果約40,000件 ● esaの記事1,433件

Slide 22

Slide 22 text

Bengo4.com, Inc. フェイズ② 規模感と環境の話 22 ● 2017年頃 / 社員数100~150人程度 ● redashが導入された ○ 本番用DBから分析用DBを用意する仕組みも出来た ● データサイエンス室の誕生 ○ 事業部へのヒアリング、ダッシュボード作成提供など

Slide 23

Slide 23 text

Bengo4.com, Inc. フェイズ② 基盤の話 23 ● 分析用DBを用意する仕組みはできたが

Slide 24

Slide 24 text

Bengo4.com, Inc. フェイズ② 基盤の話 24 ● 分析用DBを用意する仕組みはできたが ○ 各事業部が好きなように分析DBへの経路を確保していた ○ 事業部毎にやっているので連携方式が統一されていない ○ 全体を把握している人はいなかった

Slide 25

Slide 25 text

Bengo4.com, Inc. フェイズ② 基盤の話 25

Slide 26

Slide 26 text

Bengo4.com, Inc. フェイズ② 基盤の話 26 分析用DB redash本体 BigQuery 分析用DBに データを入れる仕組み データソースは複数

Slide 27

Slide 27 text

Bengo4.com, Inc. フェイズ② 組織の話 27 各サービス事業部 各サービス事業部 各サービス事業部 データサイエンス室 分析/ダッシュボード作成依頼 ダッシュボード提供/ヒアリング ● データサイエンス室が事業部との橋渡しを行いダッシュボード作成提供等していた ● 基盤の管理はSRE・・・? ○ データ収集、蓄積基盤などの環境構築(BQへの転送の仕組み等) ○ S3でホスティングするBIツール開発運用 データの理解 検証に長けていた

Slide 28

Slide 28 text

Bengo4.com, Inc. フェイズ② まとめ ● 本番環境に影響を及ぼさない構成にはなった ○ 基盤の管理運用は誰がするのか不明な状態 ● 様々な人が関わるようになり分析は高度化した ○ 権限管理ができておらず、誰でも全てのデータが見れた ● 関係部署間で十分なコミュニケーションを行えていなかった 28

Slide 29

Slide 29 text

Bengo4.com, Inc. フェイズ② まとめ ● 本番環境に影響を及ぼさない構成にはなった ○ 基盤の管理運用は誰がするのか不明な状態 ● 様々な人が関わるようになり分析は高度化した ○ 権限管理ができておらず、誰でも全てのデータが見れた ● 関係部署間で十分なコミュニケーションを行えていなかった ● 技術的負債を片付けつつ基盤の再構築を目指すことにした 29

Slide 30

Slide 30 text

Bengo4.com, Inc. 30 400 300 200 100 0 2010 フェイズ① ~分析基盤のおこり~ 2010年頃 社員10人程 フェイズ② ~redash導入~ 2017年頃 社員100~150人程 フェイズ③ ~基盤再構築~ 2019年以降 社員200~300人程 年 社員数(人) 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

Slide 31

Slide 31 text

Bengo4.com, Inc. フェイズ③ 規模感と環境の話 31 ● 2019年以降 / 社員数200~300人程度

Slide 32

Slide 32 text

Bengo4.com, Inc. フェイズ③ 規模感と環境の話 32 ● 2019年以降 / 社員数200~300人程度 ● 事業部とSREの会議体を持つようになった

Slide 33

Slide 33 text

Bengo4.com, Inc. フェイズ③ 規模感と環境の話 33 ● 2019年以降 / 社員数200~300人程度 ● 事業部とSREの会議体を持つようになった ○ 技術的負債を片付けた ○ 基盤再構築を開始した

Slide 34

Slide 34 text

Bengo4.com, Inc. フェイズ③ 負債を片付けた話① 34 ● redashをEC2からECSに移行、v5からv8へ ○ 導入段階からほぼバージョンアップされていなかった・・・? ○ よく落ちるEC2からECS Fargateに移行して安定稼働するようにした

Slide 35

Slide 35 text

Bengo4.com, Inc. フェイズ③ 負債を片付けた話② 35 ● DataSunrise(DBプロキシ)を採用し、カオスな経路をシンプルにした

Slide 36

Slide 36 text

Bengo4.com, Inc. フェイズ③ 負債を片付けた話② 36 ● DataSunrise(DBプロキシ)を採用し、カオスな経路をシンプルにした

Slide 37

Slide 37 text

Bengo4.com, Inc. フェイズ③ 負債を片付けた話② 37 ● DataSunrise(DBプロキシ)を採用し、カオスな経路をシンプルにした trocco導入前の環境

Slide 38

Slide 38 text

Bengo4.com, Inc. フェイズ③ 負債を片付けた話 38 ● 分析基盤に秩序を取り戻した話 ● 社内のredashをEC2からECSに移行してv5からv8にした話 ○ 詳細は https://qiita.com/t_odash/ へ

Slide 39

Slide 39 text

Bengo4.com, Inc. フェイズ③ 基盤再構築の話 39 データウェアハウス に入れる段階で マスキング

Slide 40

Slide 40 text

Bengo4.com, Inc. フェイズ③ 組織の話 40 各サービス事業部 各サービス事業部 各サービス事業部 SRE室 (全社横軸組織) ● データに関わる人を集めた会議体 ● 週一開催で情報共有

Slide 41

Slide 41 text

Bengo4.com, Inc. フェイズ③ 組織の話 41 ● データに関わる人を集めた会議体 ● 週一開催で情報共有 ○ 新たな依頼を受ける場 ○ 問題提起、相談、解決の場 ○ テーマは問わない 各サービス事業部 各サービス事業部 各サービス事業部 SRE室 (全社横軸組織)

Slide 42

Slide 42 text

Bengo4.com, Inc. フェイズ③ 組織の話 42 ● redash_usersチャンネルの発足 ● ライトな依頼、質問などの場 ● どんな人が関わっているのか把握できる

Slide 43

Slide 43 text

Bengo4.com, Inc. フェイズ③ 分析基盤の権限の話 43 Admin Creator Viewer データレイク CRUD R データウェアハウス CRUD CRUD R データマート CRUD CRUD R ※CRUD(Create、Read、Update、Delete) ● SREメンバーのみAdmin権限 ● データウェアハウス/マートを作成するメンバーをサービス毎に選定しCreatorを付与

Slide 44

Slide 44 text

Bengo4.com, Inc. フェイズ③ まとめ ● 事業部とSREの会議体を持つようになった ● 負債を片付け基盤を再構築した ○ データレイク、データウェアハウス、データマートの構成 ● 三層構造の構築に伴い権限設計も行った 44 反省を踏まえ コミュニケーション機会 を増加

Slide 45

Slide 45 text

Bengo4.com, Inc. フェイズ③ まとめ ● 事業部とSREの会議体を持つようになった ● 負債を片付け基盤を再構築した ○ データレイク、データウェアハウス、データマートの構成 ● 三層構造の構築に伴い権限設計も行った ○ 誰をどこの権限に割り振るか決め切れていない面もある ○ 試行錯誤中・・・! 45

Slide 46

Slide 46 text

Bengo4.com, Inc. 私たちと一緒に実現しませんか “ 専門家をもっと身近に ” [email protected] We Are Hiring! 46