実用的なデータ分析基盤について(個人的に思うカジュアルトーク)
by
K.Mitsuhashi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© Chatwork 実用的なデータ分析基盤に ついて(個人的に思うカ ジュアルトーク) CTO室 次世代データ基盤プロジェクト データエンジニア 三ツ橋和宏 2022年11月08日
Slide 2
Slide 2 text
発表者について 2 ○業務経験 前職では長年に渡ってアドテクノロジーのデータ処理を担当。 オンプレHadoop, EMR, Redshift, Spark, BigQuery, Beam...etc ○住まい 埼玉県比企郡。森、山、田んぼ緑多い。 近くに吉見百穴という古代の遺跡あり。 ○趣味 週末ランニング。
Slide 3
Slide 3 text
Chatworkとは 効率的に情報共有できる グループチャット 仕事の見える化ができる タスク管理 見落としがなくなる ファイル管理 いつでも会議ができる ビデオ/音声通話 3
Slide 4
Slide 4 text
Chatworkは日本最大級のビジネスチャットサービス 4 3月 リリース 30万社 突破! 20万社 突破! 導入社数37.6万社を突破! (2022年09月末日時点) 10万社 突破!
Slide 5
Slide 5 text
● 主要な競合は2社あるが、各社の中心となるターゲット層は異なっている ● ビジネスチャットの市場浸透率が低いため、各社がそれぞれの領域で新規に市場開拓を進めている状況 業界におけるポジショニング 企業規模 大 企業規模 小 ITスキル 低 ITスキル 高 B社 A社 ターゲット層: 5
Slide 6
Slide 6 text
6 ● スーパーアプリ = プラットフォーム化し、あらゆるビジネスの起点になるアプリ ● ビジネスチャットは、他SaaSと比較して圧倒的に滞在時間が長く、プラットフォーム価値が高い ● Chatworkはオープンプラットフォームとして、様々なサービスやユーザー同士の連携が容易 Chatworkはビジネス版スーパーアプリへ * 赤字は2022年5月13日時点での提供サービス HR(ヒト) ファイナンス(カネ) CRM/SFA ドキュメント管理 Web会議 カレンダー タスク管理 プロジェクト管理 エンゲージメント 人事評価 採用 クラウド ソーシング 勤怠管理 労務管理 資金調達 (Chatwork 早期入金) (Chatwork 先払い) 助成金 (Chatwork 助成金診断) 決済 請求管理 契約管理 受発注管理 会計 コラボレーション(情報) 電話代行 (Chatwork 電話代行) ストレージ 長期ビジョン
Slide 7
Slide 7 text
実用的とは? 7 SECTION TITLE 1 セクションタイトル
Slide 8
Slide 8 text
さて、本題に入りまして、 8 実用的とは?(個人的に思うところ) ● さまざまな要求に対して素早く対応できる ○ 品質を高く(技術的負債を少なく) 保つ ○ チームの開発モチベーションを高く保つ =>結果、使い勝手がよく、 プロダクトに貢献できるデータ分析基盤が実現すること
Slide 9
Slide 9 text
さまざな要求へ素早く対応できる 9 しばしば起きる要求 ● 〜の値が突然おかしくなった、調べてもらいたい。 ● 〜からデータの形式が変わります ● 〜からデータ量が倍増する予定です ● 〜の権限が欲しい「なる早で!」 のような、要求にサッと答えられる状態
Slide 10
Slide 10 text
品質を高く(技術的負債を少なく) 保つ 10 よくありガチ。に流されない仕組みにしていく ● 「今は品質を犠牲にしてでも、素早く新機能を出したい」 ○ ...犠牲にされた品質が手直しされるチャンスは永遠に来ない => 品質を犠牲にしないで素早く出せる仕組みにしていく ● 「〜までに機能が欲しい、倍の人手で半分の期間で作ってくれ」 ○ ...半分の期間で出来ない上に、品質も低いモノが出来上がる => 人手を増やさなくても短期間で作れる仕組みにしていく (裏付け) 「質とスピードはトレードオフではない」=t-wada氏、 「LeanとDevOpsの科学」でも調査から同じ結論。
Slide 11
Slide 11 text
チームの開発モチベーションを高く保つ 11 モチベーションが高い状態 ● リリース後不具合が少ない(=事前に問題に対処できている) ○ 足止め感なくスムーズに開発が進む ● 建設的な議論が活発に起こる(=心理的安全性が高い、自己組織化) ○ 重箱のスミをつつくような感じではなく 技術的な解決 システム運用アンチパターンを無くす(少なくしていく)、 積極的に情報共有して、情報格差を作らない(ストック型のシステムを活用)
Slide 12
Slide 12 text
「これまで」と「これから」 12 SECTION TITLE 2 セクションタイトル
Slide 13
Slide 13 text
これまで 13 13 ● データソースに応じて個別に ETL実装 ● 重い処理では結果書き出しに数時間かかる処理 も出てきた ● 属人化された(特定の人しかわからない )ETL データ取得 多様な可視化要望 解消しないと支障がある問題 (クリティカルボトルネック ) 解消できなくとも運用はできる 解消に向けて収束できるボトルネック 解消できるボトルネック 多様な データソース データ分析 データソース(データ連携)が 増える 処理のデータ量が 加速度的に増える 分析・可視要望が 加速度的に増える 都度の個別対応 データ取得 ● コンピュートリソース不足 ● データを貯め続けられない (ストレージ不足) ● 情報保護のために、多数の中間テーブルが必 要 ● リソース不足回避のための実装が必要 リソース不足が顕著 DWH(処理能力) ● バッチ処理が終わらず、データが見れない ● エンジニア不足による分析実装の遅延 ● クエリ実行時間が不安定 データ同期、DWH制 約のダブルパンチ 分析・可視化対応
Slide 14
Slide 14 text
これから 14 ● MDS(モダンデータスタック )を活用した開発で実用的なデータ分析基盤の形へ刷新 データ取得 多様な データソース 多様な可視化要望 データ分析 ● データソースに応じて個別に ETL実装 ● 重い処理では結果書き出しに数時間かかる処理 も出てきた ● 属人化された(特定の人しかわからない )ETL 解消しないと支障がある問題 (クリティカルボトルネック ) 解消できなくとも運用はできる 解消に向けて収束できるボトルネック 解消できるボトルネック 個別対応不要 (周辺エコシステム利用) データ取得 ● コンピュートリソース不足 ● データを貯め続けられない (ストレージ不足) ● 情報保護のために、多数の中間テーブルが必 要 ● リソース不足回避のための実装が必要 リソース不足が解消 DWH(処理能力) ● バッチ処理が終わらず、データが見れない ● エンジニア不足による分析実装の遅延 ● クエリ実行時間が不安定 DWH起因の制約 なくなる 分析・可視化対応
Slide 15
Slide 15 text
MDS(モダンデータスタック)のポイント 15 ● MDS活用することで実用性が確保できるように。 ○ 品質を高く(技術的負債を少なく) 保つ ○ チームの開発モチベーションを高く保つ MDSツール ● Fivetran:Salesforce, Market...等からのデータ取り込み ● Snowflake:DWH ● dbt:データモデリング(=SQLフレームワーク) ● Hightouch:Salesforce, Market...等へのデータ書き出し
Slide 16
Slide 16 text
DevOps(直近で目指すカタチ) 16 モデル 分析DWH DB モデル CI 開発(ローカル、 devcontainer) deploy Iac deploy deploy マイグレーション ユーザ 管理 同期 Cloud
Slide 17
Slide 17 text
DevOpsのポイント 17 ● 自動化により、↓システム運用アンチパターンを排除 ○ パターナリスト症候群 ■ ゲートキーパー:ある人が権力を持ってしまう ○ アラート疲れ ■ 業務時間外に緊急対応が必要になってしまう 参照:「システム運用アンチパターン」
Slide 18
Slide 18 text
加えて、チーム内で好評な取り組み(ふりかえり会のKPTより) 18 ● 話合う機会の確保 ○ 時間が限られた業務委託者中心だけど、 週一定例、1on1、リリース後の振り返り会を必ず実施する ● こまめにdocs作成 ○ ステークホルダーとのmtgや、実装前の設計でこまめにdocs化していく ● 少数精鋭でサクッと開発が進むスピード感 ○ 勘所が伝わる経験者が集っており、MDSの活用、運用アンチパターンの排 除も成功してスピード感ある開発が進む
Slide 19
Slide 19 text
まとめ。実用的なデータ分析基盤開発 19 ● さまざまな要求に対して素早く対応できる ○ 品質を高く(技術的負債を少なく) 保つ ○ チームの開発モチベーションを高く保つ これらを支援する解決手段 ○ MDS(モダンデータスタック) ■ 品質を高く(技術的負債を少なく) 保つ ○ DevOps ■ IaC化、システム運用アンチパターンの排除により開発がスムーズに進む。 ○ 情報共有 ■ ストック型のツールで情報格差を生まないよう、こまめに共有していく。
Slide 20
Slide 20 text
実現に向けて、まだまだやるべき余地(技術・組織)は大きい... 20 ● マネジメント CTO(+関係各所) ● フルタイム 今のところ社員一人。技術選定、要件調整、スケジュール管理...etc ● 業務委託メンバー 3名(20h/月程度) ● 他部署からの応援 随時 データエンジニア募集中!! https://hrmos.co/pages/chatwork/jobs/120011
Slide 21
Slide 21 text
21 働くをもっと楽しく、創造的に