SlideShare una empresa de Scribd logo
1 de 54
Step FunctionsとAWS Batch
でオーケストレートするイベン
トドリブンな機械学習基盤
Serverless Conf 2017
11/03 2017
山田 雄
ネットビジネス本部
データ基盤チーム
堤 崇行
ITサービス・ペイメント事業本部
方式基盤技術部
■山田 雄(ヤマダ ユウ)
株式会社 リクルートライフスタイル
ネットビジネス本部
データ基盤T
Twitter:@nii_yan
GitHub:https://github.com/yu-yamada
・以前はメールマーケティング用基盤の作成からデータ分析まで関わる
現在はリクルートライフスタイルの共通分析基盤の開発、運用全般を担当
ビックデータ、Ruby、ビール、カップ焼きそばが好き。
自己紹介
会社紹介
リクルートライフスタイルの持つサービス
80%
基盤エンジニアが運用に割いている割合
開発:
運用:
その他:
理想の割合
70%
20%
10%
商品概要
トリップAIコンシェルジュ システム概要図
商品概要
• 会社が商品として売り出すものである
• 今後長く使われる可能性がある
• 今後機能が追加になる可能性がある
機械学習基盤に求められるもの
Scalability
Availability
Maintenability
Robustness
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
Components of Pipelines
Interface
Scheduler
Triggers
Scheduler or Triggers
Scheduled Task Polling Event Trigger
Interface
Interface
Interface Processing Interface
Processing
Batch Processing with Container
Batch
On
Demand
Scalable
AWS Batch
AWS Batch
Submit Job
Running
Succeeded
/ Failed
JobのCPU数 / メモリを指定
Job Containerが稼動
終了
“最適な”EC2 Instanceが起動Runnable
JobのCPU数 / メモリを指定
“最適な”EC2 Instanceが起動
Job
CPU数
メモリ
EC2
CPU数
メモリ
CPU: 8
メモリ: 24GiB
Type: m4.2xlarge
CPU: 8
メモリ: 32GiB
CPU: 8
メモリ: 500GiB
Type: r4.16xlarge?
CPU: 64
メモリ: 488GiB
Step Functions
Workflow
Scalable
Managed
Event
Driven
Control AWS Batch
Event Driven
BatchStep FunctionsLambdaS3
Data
AWS Step Functions & Batch
State Machine
Submit
Get Status
Loop
Monolithic or Micro?
Micro State Machine
Pre-
processing
(Data Load)
Processing
(Machine
Learning)
Relay Step Functions
Batch Results
BatchStep Functions
BatchStep Functions
Event Driven with Lambda
ExecutionTrigger
S3 Eventで
Lambdaを実行
起動成功
起動失敗
多重起動
Event Driven with Lambda
Failures & Solutions
SolutionsFailuresTrigger
S3 Eventで
Lambdaを実行
起動失敗 再実行
多重起動
多重起動の阻止
多重起動OK
Retry when Execution Failed
Polling
DLQ
DLQによる確実なLambdaの実行
Cloud Watch Events
Event
Preventing Multiple Starts
DynamoDBでステート管理
Conditional
Put Item
Update Item
Batch 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
Monitoring: Alerts
Cloud Watch Logs
Log監視
Lambdaをフィルタで振分け
ERRORログを検知
Subscription
Filter
Info
Alert
Monitoring: Alerts
Batch Status監視
長時間Runnableを検知
Submit
Running
Succeeded
/ Failed
Job Containerが稼動
“最適な” EC2 Instanceが起動Runnable
Monitoring: Alerts
Step Functionの起動監視
一定の時間以上起動していないを検知
BatchStep FunctionsLambdaS3Data
Monitoring: Visualize Batch Status
DynamoDB
Streams
ES
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/
Happy serverless development!!

Más contenido relacionado

La actualidad más candente

IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスMasahiro NAKAYAMA
 
クラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYS
クラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYSクラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYS
クラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYSHideki Ojima
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングTerui Masashi
 
AWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYSAWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYS崇之 清水
 
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015Ryo Nakamaru
 
APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部
APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部
APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部Daisuke Nagao
 
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影gree_tech
 
温故知新、Static Web のサイトを構築しよう
温故知新、Static Web のサイトを構築しよう温故知新、Static Web のサイトを構築しよう
温故知新、Static Web のサイトを構築しようShinya Mori (@mosuke5)
 
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作るJAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作るNaoyuki Yamada
 
Awsjpcasestudies
AwsjpcasestudiesAwsjpcasestudies
Awsjpcasestudiesakitsukada
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Shotaro Suzuki
 
これからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていることこれからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていることgree_tech
 
現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターン現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターンcmaraiyusuke
 
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころKazumi IWANAGA
 
ECSとGitLabでCI環境構築
ECSとGitLabでCI環境構築ECSとGitLabでCI環境構築
ECSとGitLabでCI環境構築iwata jaws-ug
 
PySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL GraphPySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL GraphOshitari_kochi
 
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介Naoyuki Yamada
 
PIXTAにおけるCloudSearchのコスト削減
PIXTAにおけるCloudSearchのコスト削減PIXTAにおけるCloudSearchのコスト削減
PIXTAにおけるCloudSearchのコスト削減PIXTA Inc.
 
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysData Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysKenta Suzuki
 
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...Insight Technology, Inc.
 

La actualidad más candente (20)

IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
 
クラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYS
クラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYSクラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYS
クラウドとコミュニティのこれまでとこれから 20150322_#JAWSDAYS
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
 
AWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYSAWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYS
 
コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015コンソールゲームを世界展開してみた - JAWS DAYS 2015
コンソールゲームを世界展開してみた - JAWS DAYS 2015
 
APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部
APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部
APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部
 
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
 
温故知新、Static Web のサイトを構築しよう
温故知新、Static Web のサイトを構築しよう温故知新、Static Web のサイトを構築しよう
温故知新、Static Web のサイトを構築しよう
 
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作るJAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
 
Awsjpcasestudies
AwsjpcasestudiesAwsjpcasestudies
Awsjpcasestudies
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
 
これからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていることこれからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていること
 
現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターン現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターン
 
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
 
ECSとGitLabでCI環境構築
ECSとGitLabでCI環境構築ECSとGitLabでCI環境構築
ECSとGitLabでCI環境構築
 
PySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL GraphPySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL Graph
 
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
 
PIXTAにおけるCloudSearchのコスト削減
PIXTAにおけるCloudSearchのコスト削減PIXTAにおけるCloudSearchのコスト削減
PIXTAにおけるCloudSearchのコスト削減
 
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysData Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
 
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
 

Destacado

Software Productivity and Serverless
Software Productivity and ServerlessSoftware Productivity and Serverless
Software Productivity and ServerlessNick Gottlieb
 
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験Takahiro Moteki
 
Future will be Serverless!! - Serverless Meetup Fukuoka #1 Opening
Future will be Serverless!! - Serverless Meetup Fukuoka #1 OpeningFuture will be Serverless!! - Serverless Meetup Fukuoka #1 Opening
Future will be Serverless!! - Serverless Meetup Fukuoka #1 Opening真吾 吉田
 
第2回 分散システム本読書会
第2回 分散システム本読書会第2回 分散システム本読書会
第2回 分散システム本読書会Kenji Ohtsuka
 
ここがつらいよAws batch
ここがつらいよAws batchここがつらいよAws batch
ここがつらいよAws batchYu Yamada
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldKeisuke Nishitani
 
Cassandra Explained
Cassandra ExplainedCassandra Explained
Cassandra ExplainedEric Evans
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計
AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計
AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計Amazon Web Services Japan
 

Destacado (14)

now
nownow
now
 
Software Productivity and Serverless
Software Productivity and ServerlessSoftware Productivity and Serverless
Software Productivity and Serverless
 
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
[serverlessconf2017]FaaSで簡単に実現する数十万RPSスパイク負荷試験
 
Growing up serverless
Growing up serverlessGrowing up serverless
Growing up serverless
 
Future will be Serverless!! - Serverless Meetup Fukuoka #1 Opening
Future will be Serverless!! - Serverless Meetup Fukuoka #1 OpeningFuture will be Serverless!! - Serverless Meetup Fukuoka #1 Opening
Future will be Serverless!! - Serverless Meetup Fukuoka #1 Opening
 
第2回 分散システム本読書会
第2回 分散システム本読書会第2回 分散システム本読書会
第2回 分散システム本読書会
 
ここがつらいよAws batch
ここがつらいよAws batchここがつらいよAws batch
ここがつらいよAws batch
 
Google Dremel
Google DremelGoogle Dremel
Google Dremel
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless World
 
Raft
RaftRaft
Raft
 
Cassandra Explained
Cassandra ExplainedCassandra Explained
Cassandra Explained
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理
 
AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計
AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計
AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計
 

Similar a Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤

基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」Cybozucommunity
 
オンプレ、クラウドを組み合わせて作るビックデータ基盤 データ基盤の選び方
オンプレ、クラウドを組み合わせて作るビックデータ基盤  データ基盤の選び方オンプレ、クラウドを組み合わせて作るビックデータ基盤  データ基盤の選び方
オンプレ、クラウドを組み合わせて作るビックデータ基盤 データ基盤の選び方Yu Yamada
 
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方Yu Yamada
 
The Design for Serverless ETL Pipeline (48:9)
The Design for Serverless ETL Pipeline (48:9)The Design for Serverless ETL Pipeline (48:9)
The Design for Serverless ETL Pipeline (48:9)Shoji Shirotori
 
Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイGitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイiwata jaws-ug
 
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~Kimihiko Kitase
 
チームから気軽に始めるピアボーナス
チームから気軽に始めるピアボーナスチームから気軽に始めるピアボーナス
チームから気軽に始めるピアボーナスRyo Shibayama
 
170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathonkintone papers
 
データ分析基盤におけるOpsのためのDev with event driven + serverless
データ分析基盤におけるOpsのためのDev with event driven + serverlessデータ分析基盤におけるOpsのためのDev with event driven + serverless
データ分析基盤におけるOpsのためのDev with event driven + serverlessShoji Shirotori
 
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のりThe Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のりRecruit Lifestyle Co., Ltd.
 
構造化データをツールで簡単に分析
構造化データをツールで簡単に分析構造化データをツールで簡単に分析
構造化データをツールで簡単に分析Yoshitaka Seo
 
20180621_Node学園LT
20180621_Node学園LT20180621_Node学園LT
20180621_Node学園LTKahori Takeda
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data PlatformNaoki (Neo) SATO
 
Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Yutaka Terasawa
 
Enterprise2.0 = BPMS + Social Computing + SaaS(Office2.0)
Enterprise2.0 = BPMS + Social Computing + SaaS(Office2.0)Enterprise2.0 = BPMS + Social Computing + SaaS(Office2.0)
Enterprise2.0 = BPMS + Social Computing + SaaS(Office2.0)Tomoaki Sawada
 
クラウドを活用した自由自在なデータ分析
クラウドを活用した自由自在なデータ分析クラウドを活用した自由自在なデータ分析
クラウドを活用した自由自在なデータ分析aiichiro
 
ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)伸夫 森本
 
ITエンジニアのためのAI基礎2020
ITエンジニアのためのAI基礎2020ITエンジニアのためのAI基礎2020
ITエンジニアのためのAI基礎2020Keisuke Tameyasu
 

Similar a Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤 (20)

基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
 
オンプレ、クラウドを組み合わせて作るビックデータ基盤 データ基盤の選び方
オンプレ、クラウドを組み合わせて作るビックデータ基盤  データ基盤の選び方オンプレ、クラウドを組み合わせて作るビックデータ基盤  データ基盤の選び方
オンプレ、クラウドを組み合わせて作るビックデータ基盤 データ基盤の選び方
 
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
 
JIRA meets Tableau & AWS
JIRA meets Tableau & AWSJIRA meets Tableau & AWS
JIRA meets Tableau & AWS
 
The Design for Serverless ETL Pipeline (48:9)
The Design for Serverless ETL Pipeline (48:9)The Design for Serverless ETL Pipeline (48:9)
The Design for Serverless ETL Pipeline (48:9)
 
Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイGitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイ
 
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
 
チームから気軽に始めるピアボーナス
チームから気軽に始めるピアボーナスチームから気軽に始めるピアボーナス
チームから気軽に始めるピアボーナス
 
170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon
 
データ分析基盤におけるOpsのためのDev with event driven + serverless
データ分析基盤におけるOpsのためのDev with event driven + serverlessデータ分析基盤におけるOpsのためのDev with event driven + serverless
データ分析基盤におけるOpsのためのDev with event driven + serverless
 
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のりThe Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
 
構造化データをツールで簡単に分析
構造化データをツールで簡単に分析構造化データをツールで簡単に分析
構造化データをツールで簡単に分析
 
20180621_Node学園LT
20180621_Node学園LT20180621_Node学園LT
20180621_Node学園LT
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform
 
Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713
 
Enterprise2.0 = BPMS + Social Computing + SaaS(Office2.0)
Enterprise2.0 = BPMS + Social Computing + SaaS(Office2.0)Enterprise2.0 = BPMS + Social Computing + SaaS(Office2.0)
Enterprise2.0 = BPMS + Social Computing + SaaS(Office2.0)
 
クラウドを活用した自由自在なデータ分析
クラウドを活用した自由自在なデータ分析クラウドを活用した自由自在なデータ分析
クラウドを活用した自由自在なデータ分析
 
ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)
 
ITエンジニアのためのAI基礎2020
ITエンジニアのためのAI基礎2020ITエンジニアのためのAI基礎2020
ITエンジニアのためのAI基礎2020
 
dotNET600 PowerBI
dotNET600 PowerBIdotNET600 PowerBI
dotNET600 PowerBI
 

Más de Yu Yamada

Google cloudnext recap_DataAnalytics
Google cloudnext recap_DataAnalyticsGoogle cloudnext recap_DataAnalytics
Google cloudnext recap_DataAnalyticsYu Yamada
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDeleteYu Yamada
 
リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤Yu Yamada
 
kafkaのデータをRedshiftへ入れるパイプライン作ってみた
kafkaのデータをRedshiftへ入れるパイプライン作ってみたkafkaのデータをRedshiftへ入れるパイプライン作ってみた
kafkaのデータをRedshiftへ入れるパイプライン作ってみたYu Yamada
 
Uuidはどこまでuuidか試してみた
Uuidはどこまでuuidか試してみたUuidはどこまでuuidか試してみた
Uuidはどこまでuuidか試してみたYu Yamada
 
リクルートライフスタイルのデータを支える技術
リクルートライフスタイルのデータを支える技術リクルートライフスタイルのデータを支える技術
リクルートライフスタイルのデータを支える技術Yu Yamada
 
オンプレとクラウドのHadoopを比較して僕の思うとこ
オンプレとクラウドのHadoopを比較して僕の思うとこオンプレとクラウドのHadoopを比較して僕の思うとこ
オンプレとクラウドのHadoopを比較して僕の思うとこYu Yamada
 
僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニアYu Yamada
 
CDH4->5 update苦労話
CDH4->5 update苦労話CDH4->5 update苦労話
CDH4->5 update苦労話Yu Yamada
 

Más de Yu Yamada (9)

Google cloudnext recap_DataAnalytics
Google cloudnext recap_DataAnalyticsGoogle cloudnext recap_DataAnalytics
Google cloudnext recap_DataAnalytics
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDelete
 
リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤
 
kafkaのデータをRedshiftへ入れるパイプライン作ってみた
kafkaのデータをRedshiftへ入れるパイプライン作ってみたkafkaのデータをRedshiftへ入れるパイプライン作ってみた
kafkaのデータをRedshiftへ入れるパイプライン作ってみた
 
Uuidはどこまでuuidか試してみた
Uuidはどこまでuuidか試してみたUuidはどこまでuuidか試してみた
Uuidはどこまでuuidか試してみた
 
リクルートライフスタイルのデータを支える技術
リクルートライフスタイルのデータを支える技術リクルートライフスタイルのデータを支える技術
リクルートライフスタイルのデータを支える技術
 
オンプレとクラウドのHadoopを比較して僕の思うとこ
オンプレとクラウドのHadoopを比較して僕の思うとこオンプレとクラウドのHadoopを比較して僕の思うとこ
オンプレとクラウドのHadoopを比較して僕の思うとこ
 
僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア
 
CDH4->5 update苦労話
CDH4->5 update苦労話CDH4->5 update苦労話
CDH4->5 update苦労話
 

Último

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤

Notas del editor

  1. 音声を外部出力にするの忘れない
  2. 生まれる前から棺桶までのデータを持っている 今回はこの中でじゃらんの商品についての話です
  3. 運用に80%も割いているのは幸せな状況ではない 開発にもっと割きたい 例えばgoogleは運用は50%までと制限を入れているらしい
  4. 理想は開発7 運用2 その他1 ぐらいかな そんな考えがありながら基盤の設計をしました
  5. 返答はリアルタイムだが、学習はバッチで日次処理で行っている Webページ上でチャットを行う
  6. 来春リリース予定 12月から一部の宿で開始予定 じゃらんの全宿が使っても耐えられる設計である
  7. 商品概要のところと紐付けて話せると良い
  8. Scalability データ量がどれだけ増えるかわからない。 スパイクするかもしれない。 単純にスケール出来る基盤というだけでなく、オートスケール出来る基盤が理想。
  9. Availability 可用性 継続性 SPOFを作ってはいけない サーバを立てなければいい 再実行の自動化 エラーの検知だけではなく再実行まで行う
  10. Maintenability 運用コストがかからないこと Infrastructure as code. ログの自動収集
  11. robustness セキュリティ的に安全である 保守性 変化に強い  機能追加
  12. Low cost もちろんコストは出来るだけ抑えたい 基盤のコストだけではなく、運用コストも
  13. 脳みその日次バッチの部分ですよを冒頭に 前述のscalability,availability,maitenability,robustness,costを考えこのような構成にしました。 メインのバッチは2つあります。 まずはETL部分のバッチそして機械学習のバッチです。 それぞれAWS Batchを使用しています。
  14. オンプレとのインターフェースをs3に限定することで、セキュリティの担保を行いやすくしています。 クレデンシャルの発行もここのみに限定している もちろんIP制限も行っている
  15. バケットにオブジェクトを置かれた際にevent drivenでlambdaを呼び出し、そこからstep functionsを起動しています。 ワークフローエンジンを使わずにEvent drivenにすることにより、運用コストを下げています。 ワークフローエンジンを使うと、再実行などの手動運用が必要になってくる。 フルマネージド使うことで。ワークフローエンジンのSPOFなども気にせずにすむ。
  16. AWS Batchを使用することにより、スケールに耐えられつつ、コストを抑えられる構成になってます
  17. Event drivenの基盤を作った際にはどの処理がどこまで動いているのかが追いにくくなります。 そこで、stateをdynamo入れ、elastic->kibanaに連携することで今現在どの状態にいるのかを可視化しています。
  18. Infrastructure
  19. 動かなかったことの検知をしないといけない 次にそれぞれの部分を細かく見ていきたいと思います
  20. 紹介されたアーキテクチャ 一度抽象化
  21. パイプラインの要素 Scheduler or Triggers Scheduled Task Polling Event Trigger 等 詳細ではProcessingについて掘り下げる Interface Input / Output Processing Batch処理 プリプロセス DBへのロード ML
  22. Scheduled Task Polling Event Trigger 単品でみると複雑になるが 可能であれば入力データを受取次第、稼働し、リソースも最低限ですむイベントトリガーを選ぶと ローコスト&スケーラブル
  23. 外の世界と触れる部分 セキュリティ面は前述の通り 分析系バッチは得てしてSLAは外の方が高い 可用性の高いものをIFにすることで障害波及の分離もできる
  24. バッチを何で動かすか 常駐サービスではなくバッチなのでオンデマンドがよい スケーラブル 処理が動いていない時間は節約し、パワーが必要な時はスケールする コンテナを動かせる → AWS Batch
  25. AWS Batchの概要 AWS Batch JobにはCPUとメモリを設定 事前/Submit時 最適なインスタンス Job動く 終わり
  26. AWS Batchや使う上での注意点 JobにはCPUとメモリを設定 1コンテナは1インスタンス →ジョブの指定リソースより大きいスペックのインスタンスが起動しないといけない。 受け止められるインスタンスタイプが起動できる設定になっていないとRunnableで停止 結果、Batchを使うにあたり、EC2インスタンスタイプのスペックに詳しくなった。
  27. BatchのSubmitとSubmitから終了までのステータス管理する必要がある。 Workflowの部分を何でやるか。 イベントドリブンで マネージドで スケールする → Step Functions 余談:いつのまにかBatch処理のポーリングをするステートマシンがBlueprintにも追加された
  28. イベントトリガーにするには InterfaceであるS3へのデータ配置からLambdaが実行され Step Functionsが実行される 次:Step Functions + Batch構成
  29. Step Functions(ステートマシン) LambdaからBatchをSubmit Lambdaでステータスを取得 終了ステータスになるまで繰り返し
  30. 1つのステートマシンの粒度はどうするか問題 バッチ2つのあとに1つのバッチがある例 複数のバッチ処理があるが1つのステートマシンにするべきか、分けるとしたらどれくらいで分けるのか 1つだとWorkflow全体が1つのステートマシンになり 全体をみたい時はわかりやすい
  31. 機能追加には対応しやすくしたい Don't repeat yourselfでいたい → ロード(Pre-processing)とML(Processing)で分けた ロードを共通化することでDRYを保つ MLのInputが複雑になっても対応できる 次、StepfunctionsからStepfunctionsへの連携はどうするか
  32. StepfunctionsからStepfunctionsへの連携はどうするか Batchの結果をS3にPutして次のStep Functionsがイベントドリブンで動き出す
  33. 現状S3のイベントトリガーでLambdaを実行する時 成功だけじゃなく重複も失敗もある
  34. 可用性を高めるため 再実行の強化 多重起動を防止 多重起動しても問題ないようにする
  35. DLQによる確実なlambdaの実行 イベントドリブンだけだと失敗を拾えないので ポーリングモデルで再実行もしている
  36. 多重起動させない 同じS3 Pathからは実行されないように S3パスをキーとして重複の検知 バッチの状態から実行可否を判定可 Batch Statusの記録もできる →後述の可視化へ DynamoDBを選んだ理由 S3パスを重複キーとして使えるKVS バッチの状態を見て実行するか否かを判定できる 今は同じパスのアイテムがあるかどうかだけ ステートの記録もできる →後述の可視化へ
  37. 今回のパターン RedshiftへのロードはUpsert (構成による→) 出力ファイルにも一意性を持たせて上書きしない 受け取る側は最新のオブジェクトを取得
  38. アラート ログ監視 CloudWatchとLambdaサブスクリプションフィルタ ERRORを検知 特定INFOをSlackに送ることもしている
  39. Rannableの監視 AWS Batchを使う場合とても大事
  40. そもそもLambdaが起動しなかった時
  41. Batchの状態可視化 今どのステートにいるのか&履歴がわかりにくい DynamoDB StreamsとElasticsearch Serviceで可視化 すべて横軸は時間 上がStep Functionsの実行毎 下3つはBatchのステータス Runnable→Running→Success
  42. 後半のストーリー順に見る Batch on Container → AWS Batch Batchのworkflow → Step Functions イベントドリブン → S3イベントからLambdaが起動してStep Functionsをキック Step FunctionsからStepfunctionへは結果をS3にPutして次のイベントへ 起動失敗や多重起動の対応はDynamoDB 監視もCloudWatchとDatadogでサーバーレスに BatchのステータスはKibanaで可視化
  43. そしてパイプラインが完成
  44. サーバレスって正常系だけ作ると簡単だけど、異常系も考えて作ると開発が結構大変です。 ラムダも非常に多くなります。 なので、サーバレスで作る際は構成管理やモニタリングを最初から考えないと辛いかなと思います。 でもサーバレスの開発は楽しいです。 インフラレイヤーを意識せずにアプリ開発に集中できます。 運用工数も開発工数に回すことが出来ます。 開発工数かかるけど、運用するより楽しいかなと。