Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JAWS-UG名古屋 サーバーレスなバッチ処理 / Serverless Batch Proc...
Search
TATSUNO Yasuhiro
December 22, 2017
Programming
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JAWS-UG名古屋 サーバーレスなバッチ処理 / Serverless Batch Processing
re:Invent 2017 でどう変わる
JAWS-UG名古屋 2017忘年会 LT
TATSUNO Yasuhiro
December 22, 2017
More Decks by TATSUNO Yasuhiro
See All by TATSUNO Yasuhiro
ゆくKotlin くるRust
exoego
1
380
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
1.1k
Bun に LCOV 出力を実装した
exoego
2
410
terraform-provider-aws にプルリクして マージされるまで
exoego
2
550
ライブラリをパブリッシュせずにすばやく試す
exoego
2
400
esbuild 最適化芸人
exoego
3
2.8k
いい感じに AWS を組み合わせたビルディングブロックでアプリ開発を支援する / TdTechTalk 2022 11
exoego
0
970
Empowering App Dev by Nicely-Crafted High-Level AWS Components
exoego
0
140
月間数十億リクエストのマイクロサービスを支える JVM+AWS フルサーバーレス開発事例 / Now and Future of Fully Serverless development at Chatwork
exoego
1
870
Other Decks in Programming
See All in Programming
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
340
パーソナライズPodcastを作った話
repunit11
0
130
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
860
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
contenteditable と日本語入力に向き合う
colorful12
0
180
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
240
Domain-Driven Transformation
hschwentner
2
2.3k
Workers Cache を知る
syumai
0
350
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
260
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
120
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
390
The browser strikes back
jonoalderson
0
1.8k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
550
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Designing for Performance
lara
612
70k
The SEO Collaboration Effect
kristinabergwall1
1
590
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
Paper Plane
katiecoart
PRO
4
54k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Scaling GitHub
holman
464
140k
Transcript
サーバーレスなバッチ処理 re:Invent 2017でどう変わる 立野靖博 2017-12-20 JAWS-UG名古屋
名前: 立野靖博 所属: 来栖川電算 機械学習SaaS開発リーダー 経歴: 製造業系SE6年→現職2年、AWS9ヶ月 好きなAWS: Lambda, CloudFront
コミュニティ: FP in Scala読書会の主催など
2017年のAWSと私 AWS Lambda Amazon S3 Amazon DynamoDB Amazon CloudFront Amazon
ES Amazon API Gateway Amazon Cognito user 初AWS、初サーバーレスで製品開発 安くてスケールして管理が減って最高 AWS Lambda • 画像、動画、JS/HTML/CSS… • 一時的な認可URL発行 • リバースプロキシ • CDN • ビジネスロジック • 自動スケールアウト • API管理 • データベース • 自動スケールアウト • アカウント管理 • 認証 • リッチな検索 • スケールアウト • レプリカ
インフラをAWSにマネージさせて、 開発者として製品に集中できるから 一度でもサーバーレスを体験すると アレもコレもサーバーレス という考えが頭から離れなくなる
None
オンライン処理(API)は サーバーレスにできた バッチ処理はできるかな?
バッチ処理の具体例 月次売上集計 給料計算 不正取引検知 経営 科学・工業 開発・運用 CGレンダー 計算化学 天気予報
大規模テスト 画像動画の圧縮 バックアップ
メモリ数GB 要GPU等 数分~時間 日次や月次の 重め・長めな処理 一定期間・量のデータが 揃うまで処理できない バッチ処理の特性とLambda 定時実行やファイル検知 などで起動できる
Lambdaだけじゃ厳しい ではどうする? メモリ1.5GB迄 処理時間5分迄
今日のお話 • サーバーレスアーキテクチャでの バッチ処理 実装パターン例 • re:Invent 2017 後にどうなる
言い訳 行ってません 経験 9ヶ月 ツッコミどころあるかと思いますが LT後にお手柔らかにお願いします
サーバーレス バッチ処理 実装パターン
サーバーレスなバッチ処理の AWS実装パターン例 1. CloudWatchで定時実行 2. SNSで分散処理 3. StepFunctionで複雑な工程管理 4. Batchで何でもあり
パターン① 定時実行 定時実行バッチはCloudWatchをトリガに。 cron式も使えます AWS Lambda •ビジネスロジック Amazon CloudWatch •スケジューラ
指定時刻になったら Lambda起動
パターン② 分散処理 5分以内に終わるLambdaに分割するのが肝 SNSを間に挟むことで柔軟に AWS Lambda •ジョブの起動 Amazon S3 ファイル検知
Amazon SNS publish •Pub-Sub 480pに エンコード 720p 1080p サムネイル 生成 •ジョブ実行 疎結合 subscribe
パターン③ 複雑な工程管理 複雑な工程で長時間かかるバッチは Lambdaを小分けにしてStep Functions AWS Step Functions ジョブの分岐 並列ジョブ実行
•状態マシン •ジョブ(単機能のLambda) の順序の制御 https://aws.amazon.com/jp/step-functions/ を改変
パターン④ 何でもあり、最終奥義 Lambdaの分割ぶっちゃけ面倒くさい CPU/Mem/GPUがめっちゃ必要 特定のソフトウェアを実行したい AWS Lambda •トリガーを受けてジョ ブを登録 AWS
Batch •ジョブ(ビジネスロジック) の実行役 •CPUやメモリカスタマイズ •必要なEC2を自動で管理 Jobをsubmit 何らかの トリガー Batch
re:Invent情報
re:Invent 2017 直前(2017/11/15) • 以前は一度作った状態マシンは更新できず、 改修のたびに作りなおしが必要だった→ デプロイしんどかった • ようやく更新できるようになった AWS
Step Functions が状態マシンの更新をサポート https://aws.amazon.com/jp/about-aws/whats-new/2017/11/aws-step-functions-adds-support-for-updating-state-machines/
re:Invent 2017 • 上限 1.5 GB が 3.0 GBに倍増 •
Lambdaはメモリ多いほどCPUも速くなる ので、1.5 GBで5分以内に収まらなかった 処理もイケるかも • メモリ不足で Batch 使ってたところも減ら せそう AWS Lambda で Lambda 関数の最大メモリ容量を倍増 https://aws.amazon.com/jp/about-aws/whats-new/2017/11/aws-lambda-doubles-maximum-memory-capacity-for-lambda-functions/
re:Invent 2017 • 1ジョブのsubmitで大量の子ジョブを並列実行 できるようになった、らしい • ユースケース • パラメトリックスイープ(実験パラメータの探索) •
モンテカルロ シミュレーション(株価や人員や在庫な どの将来予測) • 単純に、ファイルがめっちゃ多いとか AWS Batch で配列ジョブによる大規模なジョブの送信の サポートを追加 https://aws.amazon.com/jp/about-aws/whats-new/2017/11/aws-batch-adds-support-for-large-scale-job-submissions/
re:Invent 2017 • フルマネージドなDockerクラスタ • EC2クラスタ管理の手間があるAWS Batchを置 き換えられそう? • Dockerで実行環境作りたいなら
Fargate良さげ。 単純なバッチ処理に使うだけなら、ジョブを submitするだけでよいAWS Batchがラクかも? • Load Balancerが入る関係かお高め。 • 東京リージョンはまだ… AWS Fargate のご紹介 https://aws.amazon.com/jp/about-aws/whats-new/2017/11/introducing-aws-fargate-a-technology-to-run-containers-without- managing-infrastructure/
まとめ
まとめ • Lambda や Batch で、さまざまなバッチ処理を サーバーレスに実装できる • 複雑・長時間処理・めっちゃ並列処理させた いときは
Step Functions や Batch • Lambdaの性能上限が上がったので、5分以内 を気にすることがちょっと減った • 新サービス Fargate でEC2クラスタ管理が不要 になるが、東京リージョンはまだ&お高い…