SlideShare a Scribd company logo
サイバーエージェント
 アドテクスタジオの
  次世代データ分析基盤紹介
@db tech showcase Tokyo 2016
2016 July 13th
CyberAgent, Inc. All Rights Reserved
Agenda
・自己紹介
・サイバーエージェント、アドテクスタジオについて
・共通基盤構想前の紹介
・共通基盤構想 Hadoop編
・共通基盤構想 Log編
・将来の展望
自己紹介
Fumihide Nario
2011年5月よりサイバーエージェントグループのSGE管轄にて
インフラやソーシャルゲームの開発を担当
2014年4月からアドテク本部にて
多数の広告プロダクトのサーバー、ミドルウェア、データベースなどの構築、運
用からデータ分析基盤などインフラ全般を担当
https://speakerdeck.com/fumihide
https://www.facebook.com/fumihide.nario
@FumihideNario
株式会社サイバーエージェント
株式会社サイバーエージェント
1998年の創業以来、インターネットを軸に事業を展開し
現在では代表的なサービスである「Ameba」をはじめ、
スマートフォン向けに多数のコミュニティサービスやゲームを提供しています。
株式会社サイバーエージェント
アドテクスタジオ
アドテクノロジーのスペシャリストが集う場所
アドテクスタジオとは、サイバーエージェントグループのアドテクノロジー分野に
おけるサービス開発を行うエンジニアの横断組織です。
当社ではアドテクノロジー分野におけるサービスを多数提供しています。
これまでは、各子会社を通じサービス開発をしていましたが、
開発効率の向上、各サービスの技術力および精度強化を目的に、
アドテクノロジーにかかわるサービスの開発部門の横断組織として、
「アドテクスタジオ」を設立しました。
開発体制を強化するほか、エンジニアの技術力向上をサポートする環境づくり
や、新たな制度の導入などを行っています。
https://adtech.cyberagent.io/ より抜粋
アドテクスタジオ
… and more
サイバージェントのアドテク事業
日本一やさしいアドテク教室 (https://www.cyberagent.co.jp/ir/personal/adtech/)より抜粋
アドテクスタジオのインフラ環境
弊社がデータセンターにて管理している
オンプレミス環境・プライベートクラウド環境
※プライベートクラウドにはOpenStackを採用
Amazon Web Services環境
※DirectConnectでデータセンターと接続
Google Cloud Platform環境
※VPNでデータセンターと接続
※Interconnectでの接続を予定
共通基盤構想前の環境
これまでの分析
各プロダクトで必要に応じて環境を構築して分析
・プログラムによる分析
・Hadoopを利用したMapReduce処理やSpark処理による分析
・Amazon Redshiftを利用した分析
・BigQueryを利用した分析
将来的にPBクラスのデータの分析基盤が
必要となるプロダクトが現れた(2015年)
しかも…2ヶ月にはリリース
Hadoop環境①
仕様を検討した結果HBaseが必要ということがわかり
急遽HBaseCon2015に参加したり
複数のディストリビューションを比較した結果
MapR Technologies社のMapR M7の導入を決めました。
以下はプレスリリースにも出していますが採用のポイントです。
各々を別システムとして持つ必要が無いため、データの移動も不要で運用性が高い。
業界スタンダードのNFSインターフェース やHBaseアプリケーション・インターフェースを備えるため、使
い易く、かつベンダーロックインされない。
NFSインターフェースを持ち、ランダムリード・ライト可能なMapRファイルシステムにより、データの出し
入れが容易となりNASとしても活用可能 。
MapRファイルシステムの優れたパフォーマンスによりハードウェアリソースが最小限で済み、コスト効
果が高い。
Hadoop環境②
MapR環境のハードウェア
H/W:HP社 SL4540 Gen8
HDD:6TB x 60Disks(Data領域)
1Serverあたり0.36PBのデータをストア可能
・Google BigQueryを利用した分析
各サーバーのログをFluentdを経由してBigQueryにロード
BigQuery
必要に応じたアドホック分析
・Streaming insertすることでほぼリアルタイムで確認が可能
・他のDWHからの移行ではなくBigQueryを利用する上で新規で作成
・基本的にスキーマに変更が少なくJOINも少ない
・Amazon Redshiftを利用した分析
各サーバーのログをFluentdを経由してRedshiftにロード
Redshift
多角度からの分析を定常的に行う環境で利用
・ログのスキーマ変更が多い、人が実際にSQLを実行する機会も多く、JOINも多様される
・小さいインスタンスタイプも含め100Node以上利用(2015年10月時点)
Matrix
・Redshiftの元になっているactian社のMatrixを採用し利用が進んでいます
各サーバーのログをMaprFSにストアしMatrixの各NodeにNFS Mountした上で並列ロード
Redshiftとの比較
・S3からのロードができない、JSONまわりの一部関数など一部Redshiftにしかない機能がある
・マネージドサービスではないので運用面はハードウェア含めて必要
・インスタンスタイプに縛られずハードウェアが選定できる
・元々Redshiftではコスト面からデータ量を減らしていたりししたが
 オンプレミスで用意することで必要なだけデータをロードできるようになった。
・インスタンス費用を気にして使わないときに停める必要がなくなった
・データもMapRFS側に保存することでS3のコストを削減
Matrix環境のハードウェア
H/W:Huawei社 FusionServer RH2288H V3
CPU:Xeon E5-2667 v3 x 2
SSD:1.6TB x 24Disks
Memory:16GB x 24(pcs)=384GB
Matrix環境
各プロダクトで必要に応じて環境を構築して分析
・プログラムによる分析
・Hadoopを利用したMapReduce処理やSpark処理による分析
・Amazon Redshiftを利用した分析
・BigQueryを利用した分析
+MapR(MapRFS, MapRDB etc)という選択肢が増えた
振り返ってみると・・・
+Matrixという選択肢が増えた
振り返ってみると・・・
ところが…自由に選択できる結果
・他のプロダクトのノウハウが活かせなくなり、管理・運用が複雑になっていた
・バージョンアップが手軽にできず、古いバージョンのまま動き続けていた
・それぞれのデータの形式が異なり、共通化が難しくなっていた
・1時間に1回や1日に1回しか利用しないサーバーを常に起動させていることにより
 リソースの無駄使いが発生していた
各プロダクトで自由に決められる選択肢が増えた!
共通基盤構想
Hadoop編
共通化プロジェクト始動
例えば
Hadoop環境の共通化前の状況
Distribution:Apache Hadoop,CDH,MapR
Resource Management:Yarn,MR1,Mesos
共通化する上で考えるポイント
・安定稼働できる(冗長化)
・物理コストが低い(ハードウェア、ライセンス)
・運用コストが低い(構築、運用)
・移行コストが低い(動作させる既存ジョブ)
・マルチテナントに対応できる(プロダクト単位で制限)
共通Hadoop環境構想
+
OpenStack sahara
・Openstack上でEMRのような
 データ処理サービスを実現できるコンポーネント
・Dashboard も提供されており
 Hadoop 環境を容易に構築することができる
・各種ベンダーの Hadoop 環境が plugin で提供されている
 CDH / MapR / Ambari / etc …
・共通 Hadoop 環境では最新の OpenStack Mitaka を採用
OpenStack sahara
ただし・・・・苦労する点も多い
・そもそも日本での事例がほぼ無いので情報が少ない
・各種ベンダーの plugin は最新の version に対応していない
・そもそも各種ベンダーのサポート対象外のものも・・・
・基本的な設定しかサポートされていない
 例えば MapR のセキュアクラスタや CDH の Kerberos 対応とか不可能
OpenStack sahara
このままだと sahara は使えない・・・・・ので
共通 Hadoop 環境で使えるようにするために、各種 plugin を独自にカスタマイズ
しています。
・MapR の Secure Cluster に対応
・CDH の最新 version に対応 (5.7.1) ※plugin は 5.5.0 までしかない
・CDH の Kerberos 対応などなど
共通Hadoop環境構想
OpenStackのSahara Pluginを利用しSpark実行環境を構築
データストアとしてHDFS用のClusterをオンプレミスで作り
連携する
+
構成理由
・OpenStackをすでに利用していることによるナレッジ
・マルチテナントが実現できる
・必要に応じて必要な台数だけ作り終わったら消すことができる
Spark実行環境、データストアHDFS用のディストリビューションについて
はCDHを採用しました。
ディストリビューション検討
考えるポイント
・安定稼働できる(冗長化)
・物理コストが低い(ハードウェア、ライセンス)
・運用コストが低い(構築、運用)
・移行コストが低い(動作させる既存ジョブ)
・マルチテナントに対応できる(プロダクト単位で制限)
MapR
・C/C++での実装のため動作が安定している
・冗長構成可能(ライセンス必要)
・Sahara Pluginも最新版で比較的容易にカスタム可能
・マルチテナントは標準のSecure ClusterとTicketで実現可能
・既存環境からの移行コストが高い(MapRのJARと衝突する)
CDH
・冗長構成可能(ライセンス不要)
・Sahara Pluginでカスタムして動かすのは難易度が高い
・マルチテナントはkerberos認証を利用して可能
・既存環境からの移行コストが低い
ディストリビューション検討
様々な既存の環境から共通環境へのスムーズな移行を優先した結果、CDHを採用
考えるポイント
・安定稼働できる(冗長化)
・物理コストが低い(ハードウェア、ライセンス)
・運用コストが低い(構築、運用)
・移行コストが低い(動作させる既存ジョブ)
・マルチテナントに対応できる(プロダクト単位で制限)
Spark実行環境用OpenStackスペック
H/W: Huawei X6800 (4U Chassis) x 12
Huawei XH620 x 96
CPU Xeon E5-2680 v3
12(Core) x 2(HT) x 2(CPU) x96(Node)=Total 4608Core
MEM DDR4 RDIMM
16G x 16(pcs) x 96(Node) =
    Total Memory 24.5TB
LOCAL DISK SSD
NETWORK 10G Network, Aggregation 40G Switch
Spark実行環境用OpenStack Flavor
インスタンスタイプ
6Core
(MEM 28.8GB SSD 50GB)
12Core
(MEM 57.6GB SSD 100GB)
24Core
(MEM 115.2GB SSD 200GB)
Command Line Tool
実際に利用する事を考えると手動でClusterの起動・停止や
都度Jarファイルを新しいClusterにもってきてspark-submit
なんて事はしたくないですよね?
Jarファイル等を置くClient用のサーバーはSaharaではなく
通常のOpenstackインスタンスとして構築(Dockerを利用)
Clusterの起動・停止については、python-saharaclientをラップし
hadoopまわりの設定を書き換える機能を追加した
独自のコマンドをgolangで作成しています。
例)
fennec list Cluster一覧表示
fennec create -i CLUSTER_NAME Cluster構築&Hadoop接続設定
fennec reconfigure -i CLUSTER_NAME Cluster情報をもとにHadoop接続再設定
fennec delete -i CLUSTER_NAME Clusterの削除
選択の自由度があがった結果として顕在化した問題点
他のプロダクトのノウハウが活かせなくなり、管理・運用が複雑になっていた
バージョンアップが手軽にできず、古いバージョンのまま動き続けていた
それぞれのデータの形式が異なり、共通化が難しくなっていた
1時間に1回や1日に1回しか利用しないサーバーを常に起動させていることにより
リソースの無駄使いが発生していた
選択の自由度があがった結果として顕在化した問題点
他のプロダクトのノウハウが活かせなくなり、管理・運用が複雑になっていた
バージョンアップが手軽にできず、古いバージョンのまま動き続けていた
それぞれのデータの形式が異なり、共通化が難しくなっていた
1時間に1回や1日に1回しか利用しないサーバーを常に起動させていることにより
リソースの無駄使いが発生していた
選択の自由度があがった結果として顕在化した問題点
他のプロダクトのノウハウが活かせなくなり、管理・運用が複雑になっていた
バージョンアップが手軽にできず、古いバージョンのまま動き続けていた
それぞれのデータの形式が異なり、共通化が難しくなっていた
1時間に1回や1日に1回しか利用しないサーバーを常に起動させていることにより
リソースの無駄使いが発生していた
選択の自由度があがった結果として顕在化した問題点
他のプロダクトのノウハウが活かせなくなり、管理・運用が複雑になっていた
バージョンアップが手軽にできず、古いバージョンのまま動き続けていた
それぞれのデータの形式が異なり、共通化が難しくなっていた
1時間に1回や1日に1回しか利用しないサーバーを常に起動させていることにより
リソースの無駄使いが発生していた
実際、問題は解決できたのか?
実はMapRからCDHに変更したことで、構築が終わっていない部分がありテスト段階なんです・・・。
今後各プロダクトのHadoop環境については、段階的にSahara環境への移行を進めていく予定です。
振り返り
共通基盤構想 Log編
それぞれのデータの形式が異なり、共通化が難しくなっていた
 サーバーのローカルに一度出力したログをfluentdで一定間隔で送り付ける方式が多数で
 インスタンスのダウン時にログが取り出せない問題
Log Format問題
そうだ、Log Streaming基盤を作ろう!
Log Streaming基盤構想
各システム
ログをkafkaに投げてもらい、データストア用の HDFS Clusterに格納する
将来の展望
Project Ganesha
各システム
次のフェーズでMatrixとの連携予定
Project Ganesha 今後の提供予定
サービス監視 個々の監視+サービスとしての監視
DataFlow データ並列処理モデル
MetaStore データの対応情報を管理
Schema Registry スキーマ管理
Docker環境
サイバーエージェント アドテクスタジオ
Tech Blog 始めました!
https://adtech.cyberagent.io/techblog/
一緒にアドテクスタジオを盛り上げてくれる方
絶賛募集中です
https://www.cyberagent.co.jp/recruit/

More Related Content

PDF
データサイエンスを支える基盤とそのテクノロジー@WebDBフォーラム2015 #webdbf2015
PDF
Google big query × Amazon redshift
PDF
How to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
PDF
MapR Hadoop M7 in CyberAgent AdTech Studio
PPTX
F.O.Xを支える技術
PDF
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)
PDF
データにまつわるWeb業界の仕事について
PDF
広告におけるビッグデータの分析事例
データサイエンスを支える基盤とそのテクノロジー@WebDBフォーラム2015 #webdbf2015
Google big query × Amazon redshift
How to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
MapR Hadoop M7 in CyberAgent AdTech Studio
F.O.Xを支える技術
Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)
データにまつわるWeb業界の仕事について
広告におけるビッグデータの分析事例

What's hot (20)

PDF
データファースト開発
PDF
AbemaTV Developer Conference 2016
PDF
10分でわかるサイバーエージェント広告部門のハイブリッドクラウド環境 公開用
PPTX
クラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくり
PPTX
ハイブリッドクラウドで変わるインフラストラクチャ設計
PDF
行ってみよう、やってみよう!
PDF
探検隊長が語るSoftLayerデザインパターン
PPTX
グリーにおけるAWS移行の必然性
PDF
[Observability conference 2022/3/11] NewsPicks のプロダクト開発エンジニアが実践するスキルとしての SRE
PDF
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
PDF
自治体Web service 021114
PDF
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
PDF
20160526 kintone hive Vol.3 Tokyo
PPTX
DataEngConf NYC’18 セッションサマリー #1
PDF
[社内合同勉強会]インフラ業務を開発エンジニアへ移譲して 移譲前-移譲後-そして今-
PDF
Developers Summit 2018 | IoTサービスを始める際に必要なこととは
PPTX
kintone をフル活用したIoT プロジェクトの話
PPTX
アナザーエデンを支える技術〜効率的なコンテンツ制作のための開発基盤〜
PPTX
kintone hive vol.3 大阪
PDF
ここまでできるkintone カスタマイズ事例紹介
データファースト開発
AbemaTV Developer Conference 2016
10分でわかるサイバーエージェント広告部門のハイブリッドクラウド環境 公開用
クラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくり
ハイブリッドクラウドで変わるインフラストラクチャ設計
行ってみよう、やってみよう!
探検隊長が語るSoftLayerデザインパターン
グリーにおけるAWS移行の必然性
[Observability conference 2022/3/11] NewsPicks のプロダクト開発エンジニアが実践するスキルとしての SRE
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
自治体Web service 021114
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20160526 kintone hive Vol.3 Tokyo
DataEngConf NYC’18 セッションサマリー #1
[社内合同勉強会]インフラ業務を開発エンジニアへ移譲して 移譲前-移譲後-そして今-
Developers Summit 2018 | IoTサービスを始める際に必要なこととは
kintone をフル活用したIoT プロジェクトの話
アナザーエデンを支える技術〜効率的なコンテンツ制作のための開発基盤〜
kintone hive vol.3 大阪
ここまでできるkintone カスタマイズ事例紹介
Ad

Similar to [db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイバーエージェント 成尾 文秀 (20)

PDF
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
PPTX
Hack/HHVMの最新事情とメイン言語に採用した理由
PDF
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
PDF
DevOpsが引き金となるインフラエンジニアの進撃
PPTX
IkaLog_FPGAStartup1
PPTX
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
PPTX
シラサギ紹介20170915
PPTX
OSC長岡
PPTX
Osc広島2017
PPTX
OSCnagoya2019(Shirasagi20190709)
PPTX
シラサギ紹介(OSC東京)
PDF
第2回すだちくん勉強会におけるIoT最新動向と題したプレゼン資料
PPTX
Shirasagi20190222(OSC TOKYO)
PPTX
OSC KYOTO 2018
PDF
さくらのIoT Platformを使ってみよう ~OSC大阪編~
PPTX
シラサギ紹介osc京都
PDF
ビッグデータ関連Oss動向調査とニーズ分析
PPTX
シラサギ紹介20170525
PDF
JPC2016: PUP-02: 今すぐできるソフトウェア資産を活かした Azure ビジネス展開 ~ ソフトウェア資産をお持ちの方も利用する方も ~
PPTX
シラサギ紹介20161119
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
Hack/HHVMの最新事情とメイン言語に採用した理由
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
DevOpsが引き金となるインフラエンジニアの進撃
IkaLog_FPGAStartup1
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
シラサギ紹介20170915
OSC長岡
Osc広島2017
OSCnagoya2019(Shirasagi20190709)
シラサギ紹介(OSC東京)
第2回すだちくん勉強会におけるIoT最新動向と題したプレゼン資料
Shirasagi20190222(OSC TOKYO)
OSC KYOTO 2018
さくらのIoT Platformを使ってみよう ~OSC大阪編~
シラサギ紹介osc京都
ビッグデータ関連Oss動向調査とニーズ分析
シラサギ紹介20170525
JPC2016: PUP-02: 今すぐできるソフトウェア資産を活かした Azure ビジネス展開 ~ ソフトウェア資産をお持ちの方も利用する方も ~
シラサギ紹介20161119
Ad

More from Insight Technology, Inc. (20)

PDF
グラフデータベースは如何に自然言語を理解するか?
PDF
Docker and the Oracle Database
PDF
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
PDF
事例を通じて機械学習とは何かを説明する
PDF
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
PDF
MBAAで覚えるDBREの大事なおしごと
PDF
グラフデータベースは如何に自然言語を理解するか?
PDF
DBREから始めるデータベースプラットフォーム
PDF
SQL Server エンジニアのためのコンテナ入門
PDF
Lunch & Learn, AWS NoSQL Services
PDF
db tech showcase2019オープニングセッション @ 森田 俊哉
PDF
db tech showcase2019 オープニングセッション @ 石川 雅也
PDF
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
PPTX
難しいアプリケーション移行、手軽に試してみませんか?
PPTX
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
PPTX
そのデータベース、クラウドで使ってみませんか?
PPTX
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
PDF
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
PPTX
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
PPTX
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
グラフデータベースは如何に自然言語を理解するか?
Docker and the Oracle Database
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
事例を通じて機械学習とは何かを説明する
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
MBAAで覚えるDBREの大事なおしごと
グラフデータベースは如何に自然言語を理解するか?
DBREから始めるデータベースプラットフォーム
SQL Server エンジニアのためのコンテナ入門
Lunch & Learn, AWS NoSQL Services
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
難しいアプリケーション移行、手軽に試してみませんか?
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
そのデータベース、クラウドで使ってみませんか?
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]

[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイバーエージェント 成尾 文秀