Slide 1

Slide 1 text

#jawsoka 「Lambdaレス」なサーバーレスについての考察 Masaki Suzuki (PayPay Card Co., Ltd.) 2024/07/13 JAWS-UG Okayama 2024

Slide 2

Slide 2 text

#jawsoka アジェンダ 1. 自己紹介+α & 注意事項 2. 導入:「Lambdaレス」なサーバーレスとは 3. 考察:Lambdaレスのメリット・デメリット 4. まとめ:ユースケース 5. TODO:宣伝2 2

Slide 3

Slide 3 text

#jawsoka 自己紹介 ◼ 名前: 鈴木 正樹 (Masaki Suzuki) ◼ 会社: PayPayカード株式会社(2024/06~) ← 株式会社DeNA(~2024/05) ◼ 職種: インフラエンジニア(主にInfrastructure as Code) ◼ その他: • AWS(特にLambda), その他サーバーレスバックエンド全般 • Infrastructure as Code(特にAWS CDK), CI/CD (GitHub Actions, AWS CodePipeline) etc. • TypeScript, JavaScript(Node.js), Bun ◼ SNS: • @makky12 (SUZUKI Masaki@クラウドエンジニア) • @makky12.bsky.social • https://github.com/smt7174/ • http://makky12.hatenablog.com/ 3

Slide 4

Slide 4 text

#jawsoka 宣伝 4 • 5/17(金)発売のSoftware Design6月号にて、記事を寄稿しました • 第2特集の「実証Bun 次世代JavaScriptランタイムの実態に迫る」の第1章および 第3章を執筆しています • よろしければ、ぜひ一度ご覧ください

Slide 5

Slide 5 text

#jawsoka 注意事項 ◼ 今回の発表資料・発言内容は、すべて個人の見解になります • 所属企業、及びその方針・見解などとは一切無関係です ◼ AWSサービス先頭の「AWS」「Amazon」は省略しています ◼ 文字数の都合上、CloudFormationを「CFn」と略記しています 5

Slide 6

Slide 6 text

#jawsoka 導入:「Lambdaレス」なサーバーレスとは

Slide 7

Slide 7 text

#jawsoka 「Lambdaレス」なサーバーレスとは 7 • 今年のAWS Summit Japanにて、AWS 淡路さんが発表した内容 • 「Lambdaがなくても出来るシンプルな処理」からLambdaを無くす、という考え方 • 例えば「リクエストbodyの値をそのままS3やDynamoDBに書き込む」など

Slide 8

Slide 8 text

#jawsoka ちなみに 8 • このLambdaレスの事をXでPostしたら、結構反応がありました(787いいね)

Slide 9

Slide 9 text

#jawsoka 考察:Lambdaレスのメリット・デメリット

Slide 10

Slide 10 text

#jawsoka メリット 10 Lambdaの管理・保守 Lambdaの管理、およびLambda関数のテストが不要に 特に後者の保守面でのメリットが大きい(ヒューマンエラーによる不具合が発生しにくい) コスト削減 Lambdaのコストをまるまる削減できる(特にLambdaは数も多いので) ※ただし、Lambdaのコストは全リソースでもかなり安い方ですが… CFnスタックリソース数 CFnスタックのリソース数削減・有効活用にもつながる(Max500個) 「コスト削減」でも書いた通りLambdaは数が多いので、効果も大きい

Slide 11

Slide 11 text

#jawsoka デメリット 11 処理が限定される 実行できる処理は「シンプルな処理」限定で、あまり複雑な処理はできない 例えばAPI Gatewayの場合、マッピングテンプレートで実施可能な処理限定 マッピングテンプレート管理 マッピングテンプレートの作成、管理が面倒(マッピングテンプレートが少々ややこしい) その解決のために「Lambda統合」を使用している面も…(てかLambdaが便利すぎ) 非コード化による弊害 非コード化してしまうことで、AWSに詳しくない人が管理できない弊害が生じる (ソースコードベースであれば、AWSに詳しくない人でもそれなりに対応できる)

Slide 12

Slide 12 text

#jawsoka まとめ:ユースケース

Slide 13

Slide 13 text

#jawsoka まとめ(ユースケース) 13 • Lambdaの数が膨大かつ処理がシンプルな場合、一定の効果は期待できる • 今すぐ血眼になって切り替える必要はなさそう(※1) • 「各種コストの削減」よりは、プロジェクトの体制・状況を加味して決定する(※2) • 「『Lambdaを使う』のがアンチパターンになる」ということは絶対にない!(※3) ※1: これからプロダクトを新規に構築するという場合に考慮すると良さそう ※2: メンバーの経験・スキル、およびコストの発生状況など ※3: Lambdaを使わないと出来ない処理もある、Lambda統合が便利…などの理由

Slide 14

Slide 14 text

#jawsoka ご清聴ありがとうございました 以上です