mcpField
C
create-a-backend

create-a-backend

github.com/vercel開発318657 回インストール2 日前に更新
リポジトリ

create-a-backend について

実装の詳細に入る前に、ワークロードを基に Vercel のバックエンド構成を選ぶスキルです。リクエスト処理、バックグラウンド処理、データ保存、デプロイ境界に応じた製品とフレームワークの選定を支援します。

主な機能

  1. 01ワークロード別のバックエンド製品選定
  2. 02Functions、Services、プロジェクトの使い分け
  3. 03コンテナ、キュー、ワークフロー、デーモンの選択
  4. 04データストアとフレームワークの比較
  5. 05実装前のアーキテクチャ計画

活用シーン

  1. 01新しいバックエンドの Vercel 製品選定
  2. 02キューコンシューマーや永続的な複数ステップ処理の計画
  3. 03データベースと Functions のリージョン選定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vercel/vercel-plugin --skill create-a-backend

インストール後、Claude Code で/create-a-backendを入力して読み込まれたか確認します。

同梱ファイル.vercel.approversagents/openai.yaml

詳細

バックエンドを作成する

実装の詳細に入る前に、アーキテクチャを選び、ユーザーのバックエンド構築を支援します。プログラミング言語ではなく、ワークロードから始めます。Vercel はフロントエンドだけでなく、複雑なバックエンドアプリケーションも実行できます。

製品一覧

ニーズVercel 製品
HTTP API、Webhook、ストリーミング、またはフレームワークのサーバーコードVercel Functions と Fluid compute
双方向リアルタイム接続(WebSocket)Fluid compute を使用した Vercel Functions。別途リアルタイムサービスは不要です
フロントエンドと、同時にデプロイされる1つ以上のバックエンド(API エンドポイント)Vercel Services
既存の Dockerfile、カスタムランタイム、またはシステム依存関係Vercel Functions 上の コンテナイメージ。必要に応じて Services と組み合わせられます
再試行、スリープ、または外部イベントを伴う永続的な複数ステップの処理Vercel Workflows
バックグラウンドジョブ、バッファリング、ファンアウト、または直接的なメッセージルーティングVercel Queues
常時稼働のワーカー:キューコンシューマー、Celery/Sidekiq/BullMQ ワーカー、ジョブランナーVercel Daemons(ベータ版、本番環境のみ)
スケジュールされた HTTP 処理Vercel Cron Jobs。ジョブ自体の永続性が必要な場合は Workflow を使用します
Postgres、Redis、NoSQL、ベクトルデータ、その他のアプリケーションデータVercel Marketplace のストレージ連携
ファイルとユーザーによるアップロードVercel Blob
グローバルに利用する、読み取り中心の設定Global Config

通常のリクエスト/レスポンス型バックエンドには Functions を使用します。個別にビルドされたコンポーネントで、デプロイ、ルーティングレイヤー、プレビュー URL、ロールバックを共有する場合は Services を使用します。コンポーネントごとに独立したリリースサイクルが必要な場合は、Vercel プロジェクトを分けます。

対応フレームワークでは、ネイティブの Functions ランタイムを優先してください。アプリケーションにすでに Dockerfile がある場合や、カスタムランタイムまたはシステム依存関係が必要な場合は、コンテナイメージを使用します。コンテナイメージは常時稼働のコンテナホストではなく、自動スケーリングするステートレスな Functions として実行されます。

バックグラウンドジョブ、バッファリング、ファンアウト、メッセージルーティングには Queues を選びます。永続的な複数ステップのビジネスロジックには Workflow を選びます。ポーリングモードのキューコンシューマーや既存の Celery、Sidekiq、BullMQ ワーカーなど、プロセスを稼働し続けて処理を取得する必要がある場合に限り、Daemons を選びます。デーモンはトラフィックを受信できません。

データベースとデータストア

Marketplace を通じてデータストアをプロビジョニングすると、認証情報がプロジェクトに注入され、環境との接続を維持できます。プロバイダーを選ぶ前に、最新のカタログを確認してください。

  • Postgres: Neon、Supabase、AWS/Aurora、Nile、Prisma Postgres
  • MySQL: AWS/Aurora
  • Redis とキー・バリュー: Upstash、Redis
  • ドキュメントデータベースと NoSQL: MongoDB Atlas、AWS
  • SQLite: Turso
  • リアルタイムアプリケーションバックエンド: Convex
  • 分析: MotherDuck

データベースを Functions のリージョンの近くに配置し、サーバーレスに対応した接続または接続プールを使用してください。

バックエンドフレームワーク

Vercel は、以下のフレームワーク向けに、公式のバックエンドのサンプルとインテグレーションを提供しています。

  • Node.js と TypeScript: Elysia、Express、Fastify、H3、Hono、Koa、NestJS、Nitro、xmcp。バックエンドが Next.js アプリケーションに属する場合は、Next.js Route Handlers が自然な選択肢です。
  • Python: FastAPI、Flask、Django。互換性のある app をエクスポートするその他の WSGI または ASGI アプリケーションも、必要に応じて追加の設定を行うことで実行できます。
  • Go: Vercel Functions のランタイムとしてサポートされています。

たとえば、Next.js/Vite/SvelteKit のフロントエンドと FastAPI/Flask/Express/Go のバックエンドなど、フロントエンドとバックエンドの組み合わせは、Services を使って 1 つのプロジェクトにまとめてデプロイできます。

ユーザーが既に使用しているフレームワークを優先してください。新しいプロジェクトでは、エコシステムとアプリケーションの要件に基づいて選択してください。

作業手順

  1. 同期リクエスト、非同期処理、永続データ、および個別にデプロイされるコンポーネントを特定します。
  2. マップからプロダクトを選択し、次にフレームワークを選択します。
  3. 実装に必要な、対象を絞ったスキル(vercel-functions、vercel-services、daemons、queues、workflow、vercel-storage、または marketplace)を読み込みます。
  4. デプロイ前に、公式ドキュメントで関数の制限、リージョン、環境変数、オブザーバビリティ、および現在のプロダクト提供状況を確認します。

コメント