Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FaaS (Lambda) から Container (Fargate) へ

FaaS (Lambda) から Container (Fargate) へ

- Lambda でできることはFargate でも(だいたい) できる
- ローカル環境での開発が楽、という点だけでもLambda から Fargate への乗り換えポイントになるのでは?

Hiroyuki Kano

June 10, 2019
Tweet

Other Decks in Programming

Transcript

  1. About kanou: • [email protected] • @wukann • フロントエンドエンジニア…? • 入社時は

    .NET エンジニアだったような… • Android アプリも作ってたような… • AWS の管理もしてるような… • C#, TypeScript, Kotlin が好き • Go? あ、うん、いい言語だと思いますよ!
  2. まずお詫び… • Golang の環境準備が間に合いませんでした… orz • 話の趣旨は AWS (FaaS と

    Container) なので Go に限らないもの • …とはいえ Otemachi.go の場で Go の準備ができていないのはダメで すね… (´・ω・`) • ごめんなさい。
  3. Lambda • アプリケーション開発 • API 固定 • 動作確認のためにはデプロイが必要 • ローカルデバッグ環境もあるにはあるが…

    • デバッグ大変… (´・ω・`) • CloudWatch に出力される標準出力 (console.log の類)を見ていく… • 環境の制約がけっこうある • タイムアウト • ランタイムバージョン
  4. Fargate • AWS のコンテナ実行基盤の1つ • サーバー管理不要 • コンテナを動かすサーバー (EC2) を

    AWS が裏でたくさん用意しており、必要に 応じて利用するイメージ • それゆえの制約もある • サーバーへの SSH 接続不可、とか • コンテナ実行時間に応じて課金 • 柔軟にスケールする
  5. Fargate • アプリケーション開発方法 • API 縛りは (多分) なし • docker

    run で起動すればだいたい OK • ローカルで動作確認できる • docker run • デバッグ • docker run • 環境の制約 • docker で起動すればだいたい OK
  6. 言いたかったこと • Lambda でできることは Fargate でも (だいたい) できる • FaaS

    ゆえの制約がキツい… • Docker で動けば Fargate でも (だいたい) 動く。 • ローカル環境での開発が楽、という点だけでも Lambda から Fargate への乗り換えポイントになるのでは?
  7. 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