Upload
recruit-lifestyle-co-ltd
View
985
Download
0
Embed Size (px)
Citation preview
Step FunctionsとAWS Batchでオーケストレートするイベン
トドリブンな機械学習基盤
Serverless Conf 2017
11/03 2017
山田 雄
ネットビジネス本部
データ基盤チーム
堤 崇行
ITサービス・ペイメント事業本部
方式基盤技術部
■山田 雄(ヤマダ ユウ)
株式会社 リクルートライフスタイルネットビジネス本部データ基盤T
Twitter:@nii_yanGitHub:https://github.com/yu-yamada
・以前はメールマーケティング用基盤の作成からデータ分析まで関わる現在はリクルートライフスタイルの共通分析基盤の開発、運用全般を担当ビックデータ、Ruby、ビール、カップ焼きそばが好き。
自己紹介
Machine learning pipelines
on-premises
Data load
Machine
learning
on-premises
State control
Cloud trail
Cloud watch
Monitoring
Limited interface
on-premises
Data load
Machine
learning
on-premises
State control
Cloud trail
Cloud watch
Monitoring
Full managed work flow
on-premises
Data load
Machine
learning
on-premises
State control
Cloud trail
Cloud watch
Monitoring
Scalable batch
on-premises
on-premises
State control
Cloud trail
Cloud watch
Monitoring
Data load
Machine
learning
Data load
Machine
learning
Visualize
on-premises
on-premises
Cloud trail
Cloud watch
Monitoring
State control
State control
Data load
Machine
learning
Infrastructure as code
on-premises
on-premises
Cloud trail
Cloud watch
Monitoring
State control
Data load
Machine
learning
Monitoring
on-premises
on-premises
Cloud trail
Cloud watch
Monitoring
© 2017 NTT DATA Corporation 23
堤 崇行(ツツミ タカユキ)
株式会社NTTデータITサービス・ペイメント事業本部
方式基盤統括部
経歴• Webアプリ開発• データ基盤開発・運用 / バッチ開発
• ETL / バッチ処理フレームワーク• ストリーム処理
利用者/運用者/開発者みんなが気持ちよく使えるシステムを構築できるよう日々奮闘中好きなものはチョコレートとビール
自己紹介
Machine Learning Pipeline
on-premises
Data load
Machine
learning
on-premises
State control
Cloud trail
Cloud watch
Monitoring
AWS Batch
Submit Job
Running
Succeeded/ Failed
JobのCPU数 / メモリを指定
Job Containerが稼動
終了
“最適な”EC2 Instanceが起動Runnable
JobのCPU数 / メモリを指定
“最適な”EC2 Instanceが起動
JobCPU数メモリ
EC2CPU数メモリ
CPU: 8
メモリ: 24GiB
Type: m4.2xlarge
CPU: 8
メモリ: 32GiB
CPU: 8
メモリ: 500GiB
Type: r4.16xlarge?
CPU: 64
メモリ: 488GiB
Event Driven with LambdaFailures & Solutions
SolutionsFailuresTrigger
S3 EventでLambdaを実行
起動失敗 再実行
多重起動
多重起動の阻止
多重起動OK
Preventing Multiple Starts
DynamoDBでステート管理
ConditionalPut Item
Update ItemBatch Status
State Control DB
Start Execution
DON’T Start
CAN’T Put
Support Idempotent Batch
べき等性のあるBatch Jobを実装多重起動しても正常を保つ
Upsert
Unique Object name
Get Latest Object
Monitoring: Alerts
Batch Status監視長時間Runnableを検知
Submit
Running
Succeeded/ Failed
Job Containerが稼動
“最適な” EC2 Instanceが起動Runnable
Machine Learning Pipeline
Cloud trail
Cloud watch
Monitoring
BatchStep
Functions
S3 LambdaObjects
DynamoDB
Monitoring
Machine Learning Pipeline
on-premises
Data load
Machine
learning
on-premises
State control
Cloud trail
Cloud watch
一緒に基盤作ってくれる人募集中!!!
http://engineer.recruit-lifestyle.co.jp/recruiting/