Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FaaS (Lambda) から Container (Fargate) へ
Search
Hiroyuki Kano
June 10, 2019
Programming
0
330
FaaS (Lambda) から Container (Fargate) へ
- Lambda でできることはFargate でも(だいたい) できる
- ローカル環境での開発が楽、という点だけでもLambda から Fargate への乗り換えポイントになるのでは?
Hiroyuki Kano
June 10, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.9k
Open Source Swiftc Workshop
kitasuke
1
290
Honoとhtmx
yusukebe
6
1.2k
15分間でふんわり理解するDocker @ Matsuriba MAX
ukwhatn
PRO
1
340
ドメイン・ファーストで考える問題解決に役立つモデル設計 / Domain First Model Design
suzushin54
1
1.5k
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
2.5k
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
25
7.6k
品質が高いコードって何?Rev2.1
ickx
1
490
オブジェクト指向のリ・オリエンテーション~歴史を振り返り、AI時代に向きなおる~
hanyudaeiiti
2
200
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
2
470
SwiftUI, Jetpack Composeの導入で変化した「家族アルバム みてね」のアプリ開発体験
hicka04
6
400
マイ隙間家具OSSたちのご紹介
karupanerura
2
160
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
Gamification - CAS2011
davidbonilla
76
4.5k
Thoughts on Productivity
jonyablonski
57
3.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
Documentation Writing (for coders)
carmenintech
59
3.8k
Designing for humans not robots
tammielis
247
25k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
28
5.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
242
20k
Infographics Made Easy
chrislema
237
18k
Faster Mobile Websites
deanohume
296
30k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Transcript
FaaS (Lambda) から Container (Fargate) へ 2019/06/10 Otemacho.go#2
自己紹介
About kanou: •
[email protected]
• @wukann • フロントエンドエンジニア…? • 入社時は
.NET エンジニアだったような… • Android アプリも作ってたような… • AWS の管理もしてるような… • C#, TypeScript, Kotlin が好き • Go? あ、うん、いい言語だと思いますよ!
マイブーム 「ヨーグルト」
マイブーム • ビフィズス菌入りヨーグルト 500g / day 摂取を続けています • 便通改善のため (便秘症なので…)
• 便通が良くなったゾ! • ٩(๑´0`๑)۶
None
マイブーム • ヨーグルトの自作をはじめました • ヨーグルト購入コスト抑制 • なんか楽しい
None
Lamda と Fargate
まずお詫び… • Golang の環境準備が間に合いませんでした… orz • 話の趣旨は AWS (FaaS と
Container) なので Go に限らないもの • …とはいえ Otemachi.go の場で Go の準備ができていないのはダメで すね… (´・ω・`) • ごめんなさい。
Lambda • AWS の FaaS • サーバー管理不要 • 関数の実行時間に応じて課金 •
柔軟にスケールする
Lambda • アプリケーション開発 • API 固定 • 動作確認のためにはデプロイが必要 • ローカルデバッグ環境もあるにはあるが…
• デバッグ大変… (´・ω・`) • CloudWatch に出力される標準出力 (console.log の類)を見ていく… • 環境の制約がけっこうある • タイムアウト • ランタイムバージョン
Fargate • AWS のコンテナ実行基盤の1つ • サーバー管理不要 • コンテナを動かすサーバー (EC2) を
AWS が裏でたくさん用意しており、必要に 応じて利用するイメージ • それゆえの制約もある • サーバーへの SSH 接続不可、とか • コンテナ実行時間に応じて課金 • 柔軟にスケールする
Fargate • アプリケーション開発方法 • API 縛りは (多分) なし • docker
run で起動すればだいたい OK • ローカルで動作確認できる • docker run • デバッグ • docker run • 環境の制約 • docker で起動すればだいたい OK
DEMO
DEMO cron (CloudWatch Event) 時間間隔: 1min Lambda (FaaS) ECS on
Fargate (Container)
言いたかったこと • Lambda でできることは Fargate でも (だいたい) できる • FaaS
ゆえの制約がキツい… • Docker で動けば Fargate でも (だいたい) 動く。 • ローカル環境での開発が楽、という点だけでも Lambda から Fargate への乗り換えポイントになるのでは?
Appendix • Inspired by • https://www.slideshare.net/neuecc/true-cloud-native-batch- workflow-for-net-with-microbatchframework • Reference •
https://www.amazon.co.jp/%E5%A4%A7%E4%BE%BF%E9%80%9A- %E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3 %82%88%E3%81%86%E3%81%A7%E7%9F%A5%E3%82%89%E3%81 %AA%E3%81%84%E5%A4%A7%E8%85%B8%E3%83%BB%E4%BE%B F%E3%83%BB%E8%85%B8%E5%86%85%E7%B4%B0%E8%8F%8C- %E8%BE%A8%E9%87%8E%E7%BE%A9%E5%B7%B1- ebook/dp/B00B5OPWXA