プロセスタイプ

Twelve-Factor App のプロセスモデルで、アプリケーションの実行形態を分類する概念

アーキテクチャ運用

プロセスタイプとは

プロセスタイプは、Twelve-Factor App の第 8 原則「並行性はプロセスモデルで実現する」に基づく概念で、アプリケーションの実行形態を Web プロセス、Worker プロセス、スケジュールプロセスなどに分類する。

プロセスタイプの例

タイプ 役割 AWS での実装
Web HTTP リクエストの処理 Lambda + API Gateway
Worker 非同期タスクの処理 Lambda + SQS
Clock スケジュール実行 Lambda + EventBridge
One-off 一回限りのタスク Lambda (手動実行)

Procfile (Heroku 形式)

web: node dist/server.js
worker: node dist/worker.js
clock: node dist/scheduler.js

AWS サーバーレスでのプロセスタイプ

AWS サーバーレスでは、Web プロセスは Lambda + API Gateway、Worker プロセスは Lambda + SQS、Clock プロセスは Lambda + EventBridge で実装する。各プロセスタイプを独立してスケーリングできる。

ステートレスの原則

全てのプロセスタイプはステートレスであるべき。状態は DynamoDB、S3、ElastiCache に外部化する。プロセスが再起動しても、状態が失われない。

プロセスタイプについては関連書籍でも詳しく扱われている。

関連用語