Inngestは『サーバーレス版Temporal.io』として急成長
InngestはNext.js/Vercel/Cloudflare Workers等のサーバーレス環境前提のバックグラウンドジョブ+ワークフロー実行プラットフォームです。BullMQやSidekiqのようにRedisが必須でなく、Temporal.ioよりも軽量にイベント駆動処理を書ける位置づけ。AI/SaaSスタートアップで急速に採用が広がっています。
Inngest採用を検討すべき5つのシグナル
- Vercel/Netlify/Cloudflare Workers等のサーバーレス前提でジョブを動かしたい
- BullMQ・SidekiqのためにRedis運用を続けたくない
- Temporal.ioは過剰投資だが、長時間処理・リトライは必要
- Cron・スケジュールジョブの管理がスパゲッティ化している
- AI処理・メール配信・Webhook処理など、失敗時の再実行が重要なジョブが増えている
従来ジョブシステムとの比較
BullMQ/Sidekiq: Redis前提・OSS・運用負荷あり。低レイテンシのリアルタイム処理向き。
AWS SQS+Lambda: AWS閉じこもりなら強力。可視化・調停は別途設計が必要。
Temporal.io: フル機能ワークフローエンジン。OSS or マネージドで運用負荷あり。
Inngest: サーバーレス前提・TSで宣言的・SaaSダッシュボードでイベント可視化。中小規模に最適。
Inngest実装の基本パターン
(1) 関数定義: inngest.createFunction({ id: 'send-email' }, { event: 'user.signedup' }, async ({ step }) => {})
(2) Step分割: step.run('send-email', async () => {})で副作用をStep化し、自動リトライ対象に
(3) Sleep: step.sleep('wait', '1 day')で長時間待機。実行中はサーバーレス関数が休止
(4) Cron: { cron: '0 9 * * *' }でスケジュール実行
(5) 並列実行: Promise.allでStep並列、concurrency制限も宣言可能
本番採用の判断基準
(1) サーバーレス前提: 既存がEC2/k8sならBullMQ等が素直
(2) 料金: Free 50,000 step/月、Pro $50/月で500,000 step、Enterprise個別
(3) 可視化: Inngest CloudのダッシュボードでEvent flow・Step実行履歴を一覧可能
(4) ベンダーロックイン: コードはOSSのInngest SDKで書くため、Self-hostへの移行は可能
(5) 規模: 数十万step/月なら効果大、月数百万を超えるならコスト比較
実務で詰まる3つの落とし穴
- Step境界の設計: 1関数を1Stepにすると過剰、巨大Stepはリトライ単位が大きくなる。粒度設計が重要
- イベントスキーマ: イベント型をZodで定義しないとフロント・バックの不整合事故
- ローカル開発:
npx inngest-cli devでローカルダッシュボード起動・テストを習慣化
30日学習プラン
- 1週目: Next.js + Inngest で『ユーザー登録→メール送信』フローを実装
- 2週目: Cronで定期処理・Sleepで遅延通知を実装
- 3週目: 並列処理・Fan-out/Fan-inパターンを実装
- 4週目: 本番デプロイ・Inngest Cloud ダッシュボードでモニタリング設定
関連リンク
サーバーレス全般は サーバーレスツール選び方、Temporal.ioとの比較は Temporal.io深掘り、Cloudflare Workersとの組み合わせは Cloudflare Workers深掘り を参照してください。Next.js実装は Next.js深掘り もどうぞ。