Data Engineering Study第3回では分析基盤をうまく組織に浸透させる方法を学びました。今回は、そうしたデータ分析基盤を構築するデータエンジニア組織にフォーカスし、組織の立ち上げ方や拡大の仕方を学べる勉強会にしていきます。

過去のイベントレポートはこちら

講演にはClassi株式会社、弁護士ドットコム株式会社、LINE株式会社の方をお招きし、データエンジニア組織の作り方企業規模別を100人、300人、2~3,000人規模のそれぞれに分け、組織作りの目的や組織作りの背景など各社の事例をお話いただきます。

なお、当日の発表内容はこちらからご覧いただけます。

事例講演「Classiのデータ組織の歩み」

伊藤 徹郎 氏
Classi株式会社 データAI部 部長

大学卒業後、大手金融会社に入社し、営業やデータベースマーケティングに従事。
その後は、コンサルと事業会社の双方の立場から、様々なデータ分析やサービスグロースに携わる。現在は国内最大級の学習支援プラットフォームを提供するEdTech企業「Classi(クラッシー)」の開発本部長とデータAI部部長を兼任している。
著書に「データサイエンティスト養成読本 ビジネス活用編」「AI・データ分析プロジェクトのすべて」「実践的データ基盤への処方箋」などがある。
Twitterのアカウントはこちら

はじめにClassi株式会の概要、ミッション・ビジョン・バリュー、展開サービスについてお話しいただきました。

データ組織の紹介

伊藤 徹郎 氏:「我々の会社はマトリクス組織という体制をとっています。縦軸が職能組織で、さまざまな専門職がそれぞれ部に所属しています。横軸は各機能を担当するチームで構成されており、各専門知識をもった職能組織からメンバーがアサインされているという図になっています。

データチームとしては、各機能チームにメンバーを派遣しつつ、横断チームとして基盤チームをつくり、全社のデータ基盤を整備運用する体制を取っています。」

データ組織の職能と役割

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

伊藤 徹郎 氏:「100人規模の企業の事例ということでご紹介いただきましたが、現在全社で200名弱の規模になっており、エンジニアやデータサイエンティストがいる開発本部には80人程度が所属しています。データ系の職種としては、データサイエンティストとデータエンジニア、Pythonエンジニアの3職種があります。

データサイエンティストは基本的にはモデルの開発や運用分析ってところを担っています。あとはデータ活用推進として全社のデータの活用を推進する役割を持っています。チームに所属している場合はダッシュボードの構築・運用をして、チームの機能やサービス改善に寄与しています。

データエンジニアは4人で、私も兼務で入っております。メインでデータ基盤の開発・運用の役割があり、データ活用推進も担当しています。データ基盤と切っても切り離せないクラウドのセキュリティや、それぞれのAdminの管理も一部担っています。

Pythonエンジニアは機械学習エンジニアに相当します。MLのプロダクトの開発・運用の他、データ活用推進も行っています。データ活用推進はすべての役割で行っています。一部、マシンラーニングやコンテナアプリケーションのセキュリティも担当しています。」

データ基盤の構成図

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

伊藤 徹郎 氏:「当社のClassiというサービスは AWS の基盤の上で動いており、そこにデータが日々蓄積されています。そこに溜まっているRTSのデータベースからブルーのパイプラインを通してS3の方にデータを持ってきています。

分析基盤は Google Cloud platform のBigQueryに構築をしているので、そこにデータを流しています。データレイク・データウェアハウス・データマートの三層構造でパイプラインを通してデータを生成して最終的なビジネスユーザーに届けています。

データマートを参照しているのが BI ツールやRedashで、ディレクターやエンジニアなどの非データ系の職種が使える構成になっています。詳しく見たい方はこちらの記事を参照してみてください。」

紹介記事:Classiのデータ分析基盤であるソクラテスの紹介

扱っているデータの種類

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

伊藤 徹郎 氏:「提供サービスのデータベースのデータでは通常のデータやテキストデータ、数値データを扱っています。また、アクセスログとしてGoogle AnnalyticsやFirebase Analyticsでデータも収集しています。その他、アプリケーションログのデータとしてフレームワークが入っているログも一部扱っています。

3rd Partyのデータとしては、SalesforceやHubspotなどの外部サービスのデータも収集して分析に使っています。Auditデータはクラウドサービスの監査ログやTableauやRedashなど社内で使っているデータの監視をしています。」

Classiのデータ組織の歴史

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

伊藤 徹郎 氏:「2018年6月に前身となるAI室が4人の組織が誕生しました。最初はデータエンジニアはいませんでしたが、AI室が誕生した翌月に一人目のデータエンジニアが入社し、最初のデータ基盤のプロトタイプの開発・運用を開始しました。第一世代のマルチクラウド構成は先ほどご紹介したものと変わらないのですが、技術スタッフの構成が入れ替わっています。

最初はEmbulkとDigdagといったパイプラインからBigQueryに流していました。データ基盤を作るのと同時に、BIをビジネスユーザーや非データ系の人材に対してデータの活用を進めるために、PJ Cockpit(プロジェクト コクピット)でデータを操作し、サービス改善をするというデータ活用推進を行うなど、データの基盤の開発と活用推進を同時に進めていました。

その翌年にデータAI部になり、徐々にデータエンジニアのメンバーの採用が始まり、二人目のデータエンジニアが入社したタイミングでCloud Composer(Airflow)を使ったパイプラインにアーキテクチャを変更しました。より良くするために、AWS Glueを利用したETL処理に移行しました。

去年の9月にはさらにデータエンジニアが2名追加され、今はチーム開発体制という形に徐々に移行しています。TerraformによってIaC化やCI/CDを整備し、開発体制を整えています。

また、完全なスクラムではないのですが、スクラム開発のようなことがやりたいということで2週間のスプリントを設定し、データ基盤を開発運用しているというのが現状のデータ組織です。」 

Classiのデータ活用戦略

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

伊藤 徹郎 氏:「データやテクノロジーを活用する目的は、我々のビジョンを達成するためであると解釈をしています。今期の目標にもデータに基づいた意思決定ができるようデータ活用をするということが組織の目標にも入っています。

非データ系の人材に対してもデータの活用推進をやっており、民主化の戦略をとっています。基本的にデータのエンジニアとかデータサイエンティストデータ基盤の整備・活用していますが、データマークより先の部分は非データ系のメンバーも自由に扱えるようにしています。」

伊藤 徹郎 氏:「ここの活用をチームのKPIとして、利用頻度をあげていくのを組織の目標に置いています。組織の責務分割は分けられるものではないですが、このようにわけています。」

データ基盤チームが今やっていること

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

伊藤 徹郎 氏:「データエンジニアリングチームで今やっていることは、第3世代としてデータ基盤開発運用していますが、まだまだ色々と粗があったり品質などをメトリクスとしてSLOやSLIを定義し、それらを収集・計測しています。

エラーバジェットがどれくらいか、などの基準を設けて運用するというところまではいっていませんが、アラートを検知することですぐにエラー対応をするなど積極的にプラクティス化をしています。データ基盤の品質向上のためには、ダッシュボードを見ながらメトリクスとして取るならどのような処理がいいかなどを日々話しています。

データの民主化にあたってはTableau・Redash・ソクラテスの3つの利用状況をKPIとして持っており、効果検証をしながら活性のための施策を売っています。施策としては、SQL勉強会やダッシュボード勉強会を実施するなど、非データ系メンバーに向けて勉強用のコンテンツの作成をして自由に使えるようにしています。

このあたりの詳細は『SQL勉強会を通して痛感したデータ民主化への長い道のり』というメンバーが書いたブログを読んでいただければと思います。」

紹介記事:『SQL勉強会を通して痛感したデータ民主化への長い道のり

伊藤 徹郎 氏:「また、今期から始めた面白い取り組みとして、社員同士で感謝をポイントにして送りあえるUniposを使っています。ソクラテス(データ基盤)を擬人化し、データ活用をしている人に対してUniposポイントを送ってデータ活用を促進をしています。メタデータの環境整備の推進として、Platoと名付けた内製のメタデータ管理ツールを使っています。

今運用しているデータ基盤の全てのデータテーブルを取得し、テーブルの役割や使い方のメモを見られるようにしています。開発・運用はデータ組織でやっていますが、ダッシュボードの中身を非データ系のメンバーと一緒にハンズオン形式で作っていくということをやっています。ダッシュボードを作りながらメタデータを作るという取り組みを行い、情報を常にアップデートしています。

組織全体としてはR&D(研究開発)もやっており、大学や研究機関と一緒にさまざまなテーマを持って研究もしております。

クラウドセキュリティへの取り組みも行っております。脆弱性を可視化し、セキュリティコマンドセンターを活用し、セキュリティを担保しながら新しい機能開発やクラウドサービスの活用を推進しています。」

データ基盤チームがこれからやっていきたいこと

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

伊藤 徹郎 氏:「データ基盤チームがこれからやっていきたいことは、まずは、より安定したデータ基盤の運用と品質向上、ディベロップ環境・ステージング環境とテストの実施です。その他、ストリームデータパイプラインの構築やセキュアなデータを扱えるパイプラインの構築、より活用されるためのデータマートのためのDWHの開発を考えています。

また、どのような状態のデータが正しいのかを定義し、それらをマネジメントし、データの品質も向上させたいです。世代が変わるごとにアーキテクチャを変えているので、データ基盤のリアーキテクチャも考えています。My SysとのML Pipelineや非構造化データを扱うパイプラインの検討も視野に入れています。

そのほか、データエンジニアの採用をチームで実施しています。データエンジニアという職種はまだ新しく待っているだけでは採用できないので、積極的に技術スタックを発信するなど採用活動にも力をいれております。」

事例講演2 弁護士ドットコム 小田島 拓氏「データ分析と私たち」

小田島 拓氏

弁護士ドットコム株式会社 SRE室

国内最大級の弁護士検索サイトである弁護士ドットコム株式会社に従事。5~6人で構成されるSRE室に所属し、一般的なSREの業務とデータ分析などを担当している。

Qiitaのアカウントはこちら

はじめに、小田島様の自己紹介や弁護士ドットコムが展開しているサービスの紹介をしていただきました。

フェイズ①

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

小田島 拓氏:「会社の規模が大きくなっていくにつれて基盤や組織、関わり方が変わってきます。それを踏まえ、当社の分析基盤の歴史を紹介していきます。

フェイズ1とした2010年頃、社員がまだ10名ほどしかいなかった頃に分析基盤と呼べるものが誕生しました。当初はBIツールとして作ってはいなかったようで、弁護士ドットコムのサイトをYiiに乗せかえるために学習をしようという目的で作ったとのことです。それがいつの間にか社内の公式ツールになっており、有料会員数など知りたい情報を表示する管理画面として使われていました。

しかし、そもそもBIツールではなかったので、別のツールを使うことを検討し始めたと聞いています。この頃使用していたツールは基本的にエンジニアが触っていたものでした。運用としては問題なかったのですが、EC2インスタンスにホスティングしているものだったり本番用のデータベースにつないでいたりと問題がありました。」

小田島 拓氏:「Redashが導入されたのがフェイズ2としている2017年頃です。社員100名程度になっていました。Redashが導入され、Redashを参照するためのデータべース(分析用データベース)が用意されました。Redashは現在も使っております。

組織としては、データサイエンス室が誕生し、事業部にヒアリングをして必要なダッシュボードを提供するという業務をしていたといいます。」

フェイズ②

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

小田島 拓氏:「分析データベースを準備する仕組みができたものの、各事業部が好きなように分析データベースへの経路をを作ってしまっていました。そのため、事業部間でのデータの扱いは統一されておらず、また、全体を把握している人もいませんでした。

その頃私が入社し、誰がどこで何をやっているのか、どのようにデータが流れているのかを約1ヶ月かけ作図をしました。」

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

小田島 拓氏:「組織の面では、当時のSRE室ではデータを入れるための開発を行っていたりダッシュボードの作成を行ったりしていました。また、データ収集や蓄積基盤などの環境構築やS3でホスティングするBIツールの開発・運用を行っていました。」

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

小田島 拓氏:「基盤の管理運営の責任の所在は不明瞭でした。分析は高度化しましたが、権限管理ができておらず、誰もが全てのデータを見れる状態は課題となっていました。

また、部署間のコミュニケーション不足もあり、問題が起こった際に誰に相談すればよいか、ということがわからないという状況に陥っていました。

そうした問題を踏まえ、技術的負債を片付けながら基盤の再構築を目指すことにしました。そして、基盤はSREが持つということを決めました。」

フェイズ③

小田島 拓氏:「フェイズ③としている2019年以降には社員数は200~300人程度になりました。この頃は事業部とSREの会議を設け、技術的負債を片付け、基盤の再構築をはじめました。導入段階からバージョンアップされていなかったRedashをv5からv8へ変更し、EC2からECS Fargateに移行し、安定して稼働するようにしました。

また、Data Sunrise(DBプロキシ)を採用し、シンプルな構成に直しました。

このあたりの話を詳しく書いている記事があるので、興味のある方はお読みください。」

紹介記事:『分析基盤に秩序を取り戻した話』、『社内のRedashをEC2からECSに移行してv5からv8にした話

つづいて、新しく作った基盤についてご紹介いただきました。

小田島 拓氏:「プロダクションのデータベースのスナップショットをもらい、trocco転送用データベースインスタンスの立ち上げをしました。裏側の処理はコードビルドでやっています。インスタンスからtroccoの転送機能を経由し、BigQueryにデータを送っています。

BigQueryでは、データレイク、データウェアハウス、データマートの三層構造を取っています。」

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

小田島 拓氏:「組織というよりは会議体になりますが、各事業部から数名データに関わる人を集め、SRE室と情報共有を行っています。どのような製品を検討しているのかや作業の進捗共有、新基盤のレビューなどデータに関する話を集約して議論をしたりコミュニケーションが取れたりするようにしています。

また、Redashを見ている人と会議の参加者が参加が見るSlackチャンネルを作り、ライトな依頼・質問ができる場を設けています。どのような人が関わっているかをお互いに把握でき、誰に相談すべきかが明確になっているのは良い点だと思っています。」

事例講演3 LINE 副田 俊介氏「LINEのデータ分析組織の紹介」

副田 俊介氏

LINE株式会社 Data Platform室に所属。

2016年10月に、広告事業のプロダクトマネージャーとして株式会社LINEに参画。2019年末からはデータ分析を中心に担当し、現在ではLINEのビックデータプラットフォームの開発や運営をしているData Platform室でプロダクトマネージメントやテクニカルサポートを行っている。

Twitterのアカウントはこちら

はじめにLINEの概要をお話しいただきました。

副田 俊介氏:「LINEのメインであるコミュニケーションアプリは2011年の6月にサービスを開始して以来、世界230カ国以上の国と地域で利用されています。現在、コミュニケーションアプリを入り口としてオンラインオフライン問わず、人や情報、サービスにいろんなものが繋がり全てがこれで完結するようなスマートポータルの実現を目指して取り組みを行っています。

ユーザー数は LINE社では日本、台湾、タイ、インドネシアの4ヶ国を主要国と定義しています。それ以外にも他の国での LINE アプリの月間アクティブユーザーが約1.69億人です。LINEアプリ以外にもアプリ・サービスはありますが、LINEは皆さんに毎日使っていただいているということもあり、かなりのデータが集まっています。

そのようなデータプラットフォームを運用しているのが主な仕事です。」

Architecture&Scale

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

副田 俊介氏:「LINEでは、ユーザーやサービスから発生するデータを、IUと呼び集約しています。IUはInformation Universeの略で、オンプレミスにあるサーバー上でOSSや商用ソフト、独自開発のシステムを組み合わせて実現しています。

IUに蓄積されたデータを利用して、機械学習を行ったりレポートの作成・閲覧を行ったり、その他のシステムとの連携をしたりしています。」

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

副田 俊介氏:「これが我々のデータプラットフォームで使用しているソフトウェアです。

黒色のものがOSSや商用プロダクト、緑色がLINE独自で開発しているものです。ご覧のように、大半のものがOSSとなっています。

各種ソフトウェア単品で使いにくいところもあったりしますので、それらをうまく連携させたり必要に応じてOSSにコントリビュートさせたりしながら、エンジニアではない人でも気軽にデータを触ってもらえるようにアーキテクチャを作っています。

数え方次第ではありますが、100行かないぐらいのサービスをUIが連携しています。1日あたり400 TB超程度のデータの流入があり、それを5000台以上のサーバーで裁いています。ここに、約270PBのデータが蓄積されています。

IUのDAUが大体700人いますが、現在増え続けて、全ての規模が成長するプラットホームになっています。」

History

データ分析・活用の体制についてお話しいただきました。

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

副田 俊介氏:「私が入社した2016年の10月の少し前、3月のタイミングで全社横断でのデータ分析や高度なデータ活用を行うData Labsという組織を発足しました。それまでもある程度の規模を持った、データの収集・分析体制が開発組織に付随する形で存在していました。ただこのタイミングでコード化することを目標にし、全社専門の組織ができました。

このData Labsというのは 、分析データの収集・レポートの作成やレコメンデーションロジックの作成など、End to Endでデータ活用法をやってる組織でした。この組織自体は色々と成果は出せていたのですが、LINE全社の中でデータの事業活用の重要性は次第に高まっていきます。そういった中で一つの組織が全てのデータ活用をサポートする体制に限界が見えてきました。そこをスケールさせる必要がある、というのが課題として出てきました。

2018年の5月にData Labsのデータ分析基盤を他のサービスに開放するという取り組みを始めました。この取り組みをデータオープンと呼んでいるのですが、事業側でもデータ活用をしやすくなることを狙ってこのようなことを始めました。

この時、少し組織の調整がありました。Data Labsは全てのデータ関連の業務を行うように設計されていました。しかし、サービス側でもデータ分析基盤を利用し始めたので、より一般のエンジニアや企画職の人でもデータ基盤を活用していきたいという要望が上がってきました。」

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

副田 俊介氏:「それまではデータの管理者がデータの利用者でしたが、今度は他のサービスの人も利用するという状況になりました。そうした状況に対応するために、2019年の3月にLINE アプリの基幹開発をしているエンジニアで特にデータ周りを触っているエンジニア組織とData Labsを合併・再編しました。

その結果、データの利活用のための仕組みを開発・整備・運用している青色の部分、データを使って価値を出す緑色に分けることになりました。」

Organization

データエンジニアリングの組織の話を中心に、現在の組織体制について詳細をお話しいただきました。

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

副田 俊介氏:「先程お見せした組織図はこのような構造になってます。全社組織としてデータエンジニアリングセンターとデータサイエンスセンターと二つあり、それぞれの下にデータプラットフォーム室、データマネージメント室、 マシンラーニング室、データサイエンス室と4つあります。

私が所属するデータプラットフォーム室はデータ基盤周りのエンジニアリングが担当です。 LINEのスケールでのデータを使うための基盤の開発と高度なデータ量を実現するためのプラットフォーム機能の開発も行なっています。

データマネージメント室はデータの活用を促進するための取り組みやデータを利用するためのルール整備などを行っている組織です。

マシンラーニング室は機械学習に関する様々な開発を行っています。ここでの機械学習というのは、例えば「あたなにおすすめのLINE Stickerはこれです」といったようなレコメンデーションシステムの開発がメインです。そのほか、機械学習のためのアルゴリズムの改善・データ整備、機械学習のためのシステムの開発・運用、サービス側に機械学習の成果を提供するためのシステム運用を行っています。

データサイエンス室はデータ分析による課題解決をミッションにした組織です。統計的なレポートの作成やABテストの設計、データモデルの作成が主な業務です。高度な統計の知識と事業への理解があるメンバーが集まっている組織です。データプラットフォーム室で持っている役割は、下記の5つです。」

  • データプラットフォーム(データプラットフォームの各システムの開発・運用)
  • Web&APIプラットフォーム(データプラットフォームをユーザーに使ってもらうための仕組みの整備)
  • データETL(収集したデータの加工と分や機械学習のための変換)
  • プロダクトマーケティング(プラットフォーム開発ための調査・整理)
  • テクニカルコンサルテーション(ユーザーからの技術的な要望の整理・調査・解決策の提示)

他組織とのかかわり

副田 俊介氏:「サービスの企画や開発のメンバーとの関わりでは、彼らが自分でデータの管理・分析・活用ができる体制に移行しているところです。また、独自のデータエンジニアリング組織を構築しているサービスもあります。

ユーザーのデータを扱っているため、情報セキュリティセンターの組織と密接に連携しながら、設計・運用などデータの管理を行っています。」

LINEのデータ組織の特色

出典:「企業規模別に見る、データエンジニア組織の作り方」Data Engineering Study #9、https://www.youtube.com/live/RUtCXmjTYbMより

副田 俊介氏:「まとめとして、LINEnoデータ組織の特色としては2点あります。サービスへのユーザー数が多いため、大規模のユーザーから来るデータを扱うべくオンプレミスでデータプラットフォームを構築しており、データプラットフォームのエンジニアリング体制を構築しています。

また、サービスの数が多くあるため、サービス側でのデータの活用を推進する取り組みを行っており、そのための機能開発も行っています。」

過去のData Engineering Studyのアーカイブ動画

Data Engineering Studyは月に1回程度のペースで、データエンジニア・データアナリストを中心としたデータに関わるすべての人に向けた勉強会を実施しております。

当日ライブ配信では、リアルタイムでいただいた質疑応答をしながらワイワイ楽しんでデータについて学んでおります。

過去のアーカイブもYoutube上にございますので、ぜひご覧ください。

https://www.youtube.com/@dataengineeringstudy6866/featured

trocco® ライター

trocco®ブログの記事ライター データマネジメント関連、trocco®の活用記事などを広めていきます!