Slide 1

Slide 1 text

FaaS (Lambda) から Container (Fargate) へ 2019/06/10 Otemacho.go#2

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

About kanou: • [email protected] • @wukann • フロントエンドエンジニア…? • 入社時は .NET エンジニアだったような… • Android アプリも作ってたような… • AWS の管理もしてるような… • C#, TypeScript, Kotlin が好き • Go? あ、うん、いい言語だと思いますよ!

Slide 4

Slide 4 text

マイブーム 「ヨーグルト」

Slide 5

Slide 5 text

マイブーム • ビフィズス菌入りヨーグルト 500g / day 摂取を続けています • 便通改善のため (便秘症なので…) • 便通が良くなったゾ! • ٩(๑´0`๑)۶

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

マイブーム • ヨーグルトの自作をはじめました • ヨーグルト購入コスト抑制 • なんか楽しい

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Lamda と Fargate

Slide 10

Slide 10 text

まずお詫び… • Golang の環境準備が間に合いませんでした… orz • 話の趣旨は AWS (FaaS と Container) なので Go に限らないもの • …とはいえ Otemachi.go の場で Go の準備ができていないのはダメで すね… (´・ω・`) • ごめんなさい。

Slide 11

Slide 11 text

Lambda • AWS の FaaS • サーバー管理不要 • 関数の実行時間に応じて課金 • 柔軟にスケールする

Slide 12

Slide 12 text

Lambda • アプリケーション開発 • API 固定 • 動作確認のためにはデプロイが必要 • ローカルデバッグ環境もあるにはあるが… • デバッグ大変… (´・ω・`) • CloudWatch に出力される標準出力 (console.log の類)を見ていく… • 環境の制約がけっこうある • タイムアウト • ランタイムバージョン

Slide 13

Slide 13 text

Fargate • AWS のコンテナ実行基盤の1つ • サーバー管理不要 • コンテナを動かすサーバー (EC2) を AWS が裏でたくさん用意しており、必要に 応じて利用するイメージ • それゆえの制約もある • サーバーへの SSH 接続不可、とか • コンテナ実行時間に応じて課金 • 柔軟にスケールする

Slide 14

Slide 14 text

Fargate • アプリケーション開発方法 • API 縛りは (多分) なし • docker run で起動すればだいたい OK • ローカルで動作確認できる • docker run • デバッグ • docker run • 環境の制約 • docker で起動すればだいたい OK

Slide 15

Slide 15 text

DEMO

Slide 16

Slide 16 text

DEMO cron (CloudWatch Event) 時間間隔: 1min Lambda (FaaS) ECS on Fargate (Container)

Slide 17

Slide 17 text

言いたかったこと • Lambda でできることは Fargate でも (だいたい) できる • FaaS ゆえの制約がキツい… • Docker で動けば Fargate でも (だいたい) 動く。 • ローカル環境での開発が楽、という点だけでも Lambda から Fargate への乗り換えポイントになるのでは?

Slide 18

Slide 18 text

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