Submit Search
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
0 likes
2,267 views
Takahiro Moteki
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入 CyberZ社内勉強会資料@201809
Technology
Read more
1 of 38
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
More Related Content
PDF
REST API のコツ
pospome
PDF
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
PPTX
Dockerからcontainerdへの移行
Akihiro Suda
PPTX
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
PDF
Mavenの真実とウソ
Yoshitaka Kawashima
PDF
Ansibleで始めるインフラ構築自動化
dcubeio
REST API のコツ
pospome
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
Dockerからcontainerdへの移行
Akihiro Suda
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
Mavenの真実とウソ
Yoshitaka Kawashima
Ansibleで始めるインフラ構築自動化
dcubeio
What's hot
(20)
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
PDF
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
Kentaro Yoshida
PDF
AWS Black Belt Online Seminar AWS Amplify
Amazon Web Services Japan
PDF
Maven基礎
Toshio Takiguchi
PDF
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
PDF
PostgreSQL 15の新機能を徹底解説
Masahiko Sawada
PDF
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
Hiromasa Oka
PPTX
LINEのMySQL運用について 修正版
LINE Corporation
PPTX
入門!Jenkins
Shuntaro Saiba
PPTX
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
PDF
Dapr on Kubernetes
Shiho ASA
PDF
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
PDF
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Masahito Zembutsu
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
PDF
IT エンジニアのための 流し読み Windows 10 - Microsoft の更新プログラム管理インフラ比較 ~ WU / WSUS / SCCM ...
TAKUYA OHTA
PPTX
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
PPTX
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
PDF
20190514 AWS Black Belt Online Seminar Amazon API Gateway
Amazon Web Services Japan
PDF
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
TAKUYA OHTA
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
Kentaro Yoshida
AWS Black Belt Online Seminar AWS Amplify
Amazon Web Services Japan
Maven基礎
Toshio Takiguchi
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
PostgreSQL 15の新機能を徹底解説
Masahiko Sawada
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
Hiromasa Oka
LINEのMySQL運用について 修正版
LINE Corporation
入門!Jenkins
Shuntaro Saiba
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
Dapr on Kubernetes
Shiho ASA
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Masahito Zembutsu
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
IT エンジニアのための 流し読み Windows 10 - Microsoft の更新プログラム管理インフラ比較 ~ WU / WSUS / SCCM ...
TAKUYA OHTA
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
20190514 AWS Black Belt Online Seminar Amazon API Gateway
Amazon Web Services Japan
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
TAKUYA OHTA
Ad
Similar to [社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
(20)
PPTX
F.O.Xを支える技術
Yuto Suzuki
PPT
スマートフォンPKG開発成功
Akira Yamaguchi
PDF
LocalFolio運用のご提案
MichiakiIshida
PDF
Firefox OS 1.0 Application Development
dynamis
PDF
中国におけるアプリマーケ最新動向
Hiromitsu Ishimori
PDF
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
Yahoo!デベロッパーネットワーク
PDF
インフラジスティックスおよび Xamarin.Forms コントロールのご紹介
インフラジスティックス・ジャパン株式会社
PPT
アンドロイド勉強会第二回 080525 3
shimay
PDF
海外向けスマホアプリプロモーションサービスについて
TakashiOkaniwa
PPTX
AppPot製品概要
Ryohei Sogo
PDF
【媒体資料】AppDriver
Find Job Startup
PDF
インターン研修 自己紹介スライド
ripper0217
PDF
ドコモオープンイノベーションの取り組みと提供APIのIoT展開について
API Meetup
PPT
統合キャンペーン管理プラットフォーム概要
Go Sugihara
PDF
Html5で加速するモバイルアプリ開発
アシアル株式会社
PPTX
20130417 マイクロソフト研究
Yoshihiro Ueda
PDF
Oprol_Engine_pitch_v1.1_1min
RyotaNishimine
PDF
Jmrx6月30日【日産 配信用】
(株)MROCジャパン&(株)ビジョン・クリティカル・ジャパン
PDF
アプリリリース後に後悔しないための20のこと
leverages_event
PDF
Facebook事例&サービス紹介(2010.9.16セミナープレゼン資料)
Hiroshi Tsukamoto
F.O.Xを支える技術
Yuto Suzuki
スマートフォンPKG開発成功
Akira Yamaguchi
LocalFolio運用のご提案
MichiakiIshida
Firefox OS 1.0 Application Development
dynamis
中国におけるアプリマーケ最新動向
Hiromitsu Ishimori
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
Yahoo!デベロッパーネットワーク
インフラジスティックスおよび Xamarin.Forms コントロールのご紹介
インフラジスティックス・ジャパン株式会社
アンドロイド勉強会第二回 080525 3
shimay
海外向けスマホアプリプロモーションサービスについて
TakashiOkaniwa
AppPot製品概要
Ryohei Sogo
【媒体資料】AppDriver
Find Job Startup
インターン研修 自己紹介スライド
ripper0217
ドコモオープンイノベーションの取り組みと提供APIのIoT展開について
API Meetup
統合キャンペーン管理プラットフォーム概要
Go Sugihara
Html5で加速するモバイルアプリ開発
アシアル株式会社
20130417 マイクロソフト研究
Yoshihiro Ueda
Oprol_Engine_pitch_v1.1_1min
RyotaNishimine
Jmrx6月30日【日産 配信用】
(株)MROCジャパン&(株)ビジョン・クリティカル・ジャパン
アプリリリース後に後悔しないための20のこと
leverages_event
Facebook事例&サービス紹介(2010.9.16セミナープレゼン資料)
Hiroshi Tsukamoto
Ad
More from Takahiro Moteki
(13)
PDF
[excite open beerbash 特別篇]レガシーシステムをAWS移行で幸せになった話
Takahiro Moteki
PDF
[AWSセミナーマイグレーション事例祭20190409]分析環境をAWS_Athenaに移行_その後1年間の運用課題を振り返る
Takahiro Moteki
PDF
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
Takahiro Moteki
PDF
[社内共有会]AWS NAT-GW導入と構成変化 2年運用して 同時接続数 秒間100->10万へ成長
Takahiro Moteki
PDF
[F.O.XMeetup#2]インフラ業務を開発エンジニアへ移譲して_2年間の軌跡_
Takahiro Moteki
PDF
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
Takahiro Moteki
PDF
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)
Takahiro Moteki
PDF
[社内勉強会]計算機工学のスケジューリングを現実世界に活かせないだろうか(ネタ)
Takahiro Moteki
PPTX
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
Takahiro Moteki
PDF
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
Takahiro Moteki
PDF
[社内合同勉強会]インフラ業務を開発エンジニアへ移譲して 移譲前-移譲後-そして今-
Takahiro Moteki
PDF
[社内勉強会]エンジニアな僕の情報収集法
Takahiro Moteki
PPTX
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本
Takahiro Moteki
[excite open beerbash 特別篇]レガシーシステムをAWS移行で幸せになった話
Takahiro Moteki
[AWSセミナーマイグレーション事例祭20190409]分析環境をAWS_Athenaに移行_その後1年間の運用課題を振り返る
Takahiro Moteki
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
Takahiro Moteki
[社内共有会]AWS NAT-GW導入と構成変化 2年運用して 同時接続数 秒間100->10万へ成長
Takahiro Moteki
[F.O.XMeetup#2]インフラ業務を開発エンジニアへ移譲して_2年間の軌跡_
Takahiro Moteki
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
Takahiro Moteki
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)
Takahiro Moteki
[社内勉強会]計算機工学のスケジューリングを現実世界に活かせないだろうか(ネタ)
Takahiro Moteki
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
Takahiro Moteki
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
Takahiro Moteki
[社内合同勉強会]インフラ業務を開発エンジニアへ移譲して 移譲前-移譲後-そして今-
Takahiro Moteki
[社内勉強会]エンジニアな僕の情報収集法
Takahiro Moteki
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本
Takahiro Moteki
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
1.
ワークフローエンジンdigdag研究し、 プロダクトF.O.Xに導入した F.O.X moteki takahiro
2.
目次 ● プロダクトF.O.X説明 ● 背景 ●
課題 ● 解決 ● 設計 ● digdagに関して ○ 比較 / 市場動向 / 運用して
3.
Force Operation X(F.O.X)概要 レポーティング1 アプリ解析機能2 マーケット分析3 リターゲティング機能4 スマートフォン広告におけるマーケティング統合プラットフォーム(アドプラットフォーム)
4.
F.O.X位置づけ メディア連携数 1,300 計測端末数 1.2億台 導入アプリ数 6,500 F.O.X サーバ メディア App Store スマホ 2.
リダイレクト 1. 広告click 3. Install 4. 初回起動 5. 広告成果を連絡
5.
F.O.X連携メディア Facebook Mobile Measurement Partner Twitter
Official Partner App Attribution Partner
6.
目次 ● プロダクトF.O.X説明 ● 背景 ●
課題 ● 解決 ● 設計 ● digdagに関して ○ 比較 / 市場動向 / 運用して
7.
背景: F.O.Xシステム全体像 計測サーバ データ収集 処理(ETL/集計)
利用/分析 保存 ストレージ 分析アプリ ケーション 計測ログ ストレージ ストレージ データパイプライン
8.
背景: F.O.Xシステム規模感 データ収集 8 最大30万リク エスト/秒 処理(ETL/集計/保存) 分析/可視化 計測サーバ
休眠・復旧分析 アクション(イベント)分析 KPI分析 国別分析 ユーザー分析売上分析 プラットフォーム 総UU: 15億~ DAU: 7億~ query: 数千 /day(batch) ストレージ total data : 1PB RDB 弊社 分析アプリケーション
9.
目次 ● プロダクトF.O.X説明 ● 背景 ●
課題 ● 解決 ● 設計 ● digdagに関して ○ 比較 / 市場動向 / 運用して
10.
案外難しい処理(ETL)バッチ開発/管理
11.
課題 オペレーションが複雑 状態確認/管理しにくい 追加の開発コスト高
12.
課題(1): 状態確認/調査しにくい svr001サーバのcron svr002サーバのcron …
svr011サーバのcron … svr0112サーバのcron ①バッチ ②バッチ バッチ③ バッチ④ svr001サーバの②が動いてる間は①止まる, ③が動いたら② / ④は動かす バッチ数百あったら??? -> 今何が動いていて、何が止まってるのかわからない バッチ依存(依存関係)と呼ぶ
13.
課題(2): オペレーションが複雑 ①バッチ ②バッチ ③バッチ ④バッチ ⑤バッチ ⑥バッチ ⑦バッチ ②障害発生 ④障害発生 ⑥障害発生 step1) AAAをkill step2)
BBB.shの実行引数変えてCCCまで実行 …. step8) ….. step1) AAAを動かしたままBBBをkill step2) AAAをkill …. step12) ….. step1) CCCを残り3回手動で実行 ... step5) DDDを実行 ↑ バッチ7本の例...これがバッチ数百あったら??? 最悪case = バッチの状態 × バッチ数 -> 1千リカバリ手順?? リカバリ手順
14.
課題(3): 追加の開発コスト高 ● アラート発行をプログラム開発... ○
バッチコケた/バッチが時間内に終わらないアラート... ● リトライ制御をプログラム開発... ○ リトライ方式? リトライ回数?...面倒 ● バッチインタフェース開発 ○ リトライ時を考慮してゴリゴリ変数計算... ● データロード、S3データ取得 ETL基本処理の開発 ○ DAO、JDBCロジック書いて... 面倒 長い道のり...
15.
ワークフローエンジン digdag導入
16.
digdagとは? 依存関係が複雑な大量ジョブを良い感じにしてくれる TresureData開発のOSS ● xxx.dig拡張子のファイルにジョブ定義をスゴイyml記載し実行 ● スゴイyml
javascript / python / rubyも書ける ● 実行 Web-UIとCUIで可能 スゴイyml(例
17.
digdagの機能とは? 実行状態 可視化 アラート 実行制御 エラー 制御 バッチ 開発支援 バッチ スケールサポート 高速化/ 最適化
18.
digdagどう使う? xxx.dig ローカルPCで dig編集 digdag-devサーバ デプロイ/実行 digdag-devサーバ上 で実行 xxx.dig xxx.dig ローカルPC実行 ローカルPCで dig編集 digdag-devサーバで dig編集 デプロイして digdag-devクライアン ト実行 xxx.dig ローカルPCで dig編集 開発時 サクッと試した いくらい
19.
digdagアーキテクチャ設計/構築 digdagの検証 やったとこ(工数3~4ヶ月) バッチ数 数千/day データパイプライン設計/ETL置き換え
20.
目次 ● プロダクトF.O.X説明 ● 背景 ●
課題 ● 解決 ● 設計 ● digdagに関して ○ 比較 / 市場動向 / 運用して
21.
解決 オペレーションが簡素 状態確認/管理しやすい 追加の開発コスト低
22.
解決(1): 状態確認/調査がしやすい ジョブどこでコケ たのか? わかる コケたジョブの ログにたどり着 ける 今何が動いてる か?
わかる
23.
demo
24.
解決(2): オペレーションが簡素 ジョブがコケた コケたジョブのみ 全部再実行 全ジョブの再実 行
25.
demo
26.
解決(3): 追加の開発コスト低 並列実行 アラート実装 javascriptによ る変数計算 これだけ リトライ制 御 豊富なオペレー タで開発レス
27.
demo
28.
目次 ● プロダクトF.O.X説明 ● 背景 ●
課題 ● 解決 ● 設計 ● digdagに関して ○ 比較 / 市場動向 / 運用して
29.
設計: アーキテクチャ 複数サーバで バッチ分散 クラスタ
30.
設計: 耐障害性 ● SPOFは0 ●
PostgreSQL以外はス ケールアウト可 ● 高可用性に向けて ○ task graceful shutdown / restart ○ task permissive対応 ○ task logのS3化
31.
設計: ワークフロー ● ディレクトリ分けすると思わ ぬ罠があるので構成をテン プレート化 ●
新規に取り組みやすい ● プロジェクトのバッティング 防止
32.
運用: 効率化/サポート デプロイテンプレート ansibleロール docbaseと動作再現可能なsample dig
33.
目次 ● プロダクトF.O.X説明 ● 背景 ●
課題 ● 解決 ● 設計 ● digdagに関して ○ 比較 / 市場動向 / 運用して
34.
他ツールと概要比較 type 言語型 GUI型
GUI分散型 DSL型 特化型 イベント型 tool Airflow / Luigi Rundeck / Jenkins Chronos / Dkros Digdag / Patriot / Azkaban Glue Job / CloudCompo ser / Argo Stack Storm pros * ワークフロー の自由度高い * 簡素なワー クフロー構築 ラク * 簡素なワーク フロー構築ラク * 性能スケール する * 再現性がある * version管理出来 る * 自由度はGUI型 >DSL型<言語型 * 特定条件下で 親和性が高い * イベントドリブ ンなワークフ ロー構築可 cons * 簡素なもので もプログラミン グ必要 * 移植性低い * version管理 しにくい * 性能スケー ルしにくい * 移植性低い * version管理し にくい * 定形処理以外の 動的ワークフロー 構築面倒 * マルチテナン トしにくい * observavility 的な情報少ない
35.
市場動向 ● 日本Web系 digdag
or airflow多い印象 ○ 内製ワークフローエンジンもちらほや(kuroko2 / patriot) ● 日本SI系 JP1多い印象 ● 海外はairflowが多く、digdagはほとんど使われてない印象 ● 特化型のGlue Job / Cloud Composer / Argoがどう市場で伸び ていくか気になる
36.
digdagに関して: 運用して(要望系) ● 動的な依存関係が組みにくい ●
requireオペレータ利用時、謎にCPU負荷上がる ● 各種オペレータの細かい設定 ○ 例) s3_waitオペレータのタイムアウト欲しい ● WEB-UIもう少しリッチになると...
37.
とはいえ完成度高い
38.
おわり
Download