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

Lambda、消せます。 で、消すべき?

Avatar for ukkiy ukkiy
August 06, 2026
77

Lambda、消せます。 で、消すべき?

Lambda、消せます。
で、消すべき?

Avatar for ukkiy

ukkiy

August 06, 2026

Transcript

  1. まず:I/O が無いなら、無条件で勝ち 外部 I/O なしのグルー Lambda 4本 → JSONata の

    Pass 1ステート 速度 コスト 7.9倍 31倍 ウォーム 424 → 54 ms コールド 1,425 → 46 ms 状態遷移 $102 4→1 → $25 100万実行の試算(ap-northeast-1) 速くて、しかも安い。ここは迷わず畳める 等価性はローカル / TestState API / 実機の3層でテスト済み。別日の再計測でも p50 は ±7% 以内 3
  2. では、DynamoDB に1件書くなら? Pass は I/O ができない。比較相手は「Lambda 1本」対「Pass + putItem」に変わる E:Lambda

    1本 F:Lambda ゼロ 変換 + DynamoDB 書き込みを 1本の Lambda で処理 Pass(変換)→ putItem (DynamoDB 最適化統合) vs 1 ステート 2 ステート 書かれた DynamoDB アイテムが orderId 以外すべて一致することを確認済み ここで「ステートが1つ増える」ことが、あとで効いてきます 4
  3. 「速くなった」の中身を分解する 所要時間 (ms, 5回計測の中央値) ウォーム 約 10% 727 800 700

    600 差は 8〜21ms。 体感はほぼ変わらない 500 400 300 200 138 128 121 100 0 ウォーム E:Lambda 1本 コールド F:Lambda ゼロ コールド 約 5倍 700ms → 130ms コールドスタートが構造ごと消える 5
  4. 「高くなった」の中身を分解する 100万実行・Standard での試算(DynamoDB 書き込み料金は両者共通なので除外) − $3.66 Lambda 代(リクエスト+実行時間)が丸ごと消える + $25.00

    状態遷移が1つ増える(100万 → 200万遷移) 差引 +$21.34 の値上がり Lambda を消したのに、高くなる ただし条件付き:「Standard で・大量実行」の話。実行回数が少なければ差額は誤差、Express なら 遷移課金自体がない 6
  5. つまり、この $21 で何を買うのか 買えるもの コールドスタートが構造ごと消える 温める対象そのものが無い。約700ms → 130ms Lambda の同時実行枠を温存できる

    他の重要な処理に回せる 関数が1本減る 運用・監視・デプロイの対象が減る 買えないもの ウォームの体感速度 — 差は 8〜21ms。ここに $21 を払う理由はない 速度とコストのトレードではなく、「何を買うか」がはっきりしただけ 7
  6. まとめ 「その Lambda、入力 JSON を写しているだけ?」なら畳め I/O が無いなら速度も遷移数も一方的に勝ち(7.9倍 / 31倍、$102 →

    $25) I/O があると、畳んだぶんステートが増える Standard は遷移課金。Lambda 代の節約では埋まらず、100万実行で +$21 「消せるか」と「消すべきか」は別の問い 買っているのはコールドスタート除去。ウォームの 10ms のためではない レイテンシ SLO があるなら安い。ウォームの 10ms のためなら高い。 8