mcpField
D
Deployment Advisor

Deployment Advisor

github.com/daffy0208クラウド・DevOps38142 回インストール44 週間前に更新
リポジトリ

Deployment Advisor について

Deployment Advisorは、アプリケーションの要件に合うホスティングやインフラを選ぶ開発者向けのデプロイ計画スキルです。アプリの種類、ユーザー規模、データベース、地域、運用要件別に選択肢を整理し、CI/CDやセキュリティ、監視も案内します。

主な機能

  1. 01規模とアプリ種別に応じたプラットフォーム提案
  2. 02デプロイ要件別の判断フレームワーク
  3. 03段階別のCI/CD設定ガイド
  4. 04リリース前後のチェックリスト
  5. 05セキュリティ、コスト、監視の指針

活用シーン

  1. 01MVPや成長中の製品のホスティング選定
  2. 02特定の技術スタックでのデプロイ案比較
  3. 03本番環境向けCI/CDの計画
  4. 04リリースやセキュリティ、監視項目の確認

インストール

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

$npx skills add https://github.com/daffy0208/ai-dev-standards --skill deployment-advisor

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

同梱ファイルmanifest.yamlREADME.md

詳細

デプロイメントアドバイザー

アプリケーションの規模と要件に適したデプロイ戦略を選びましょう。

基本原則

シンプルに始め、必要に応じてスケールします。 数か月先まで現れない10人のユーザーのために、インフラを過剰に設計しないでください。

デプロイの階層

Tier 1:MVP/小規模プロジェクト(ユーザー数1,000人未満)

費用:月額0~20ドル
デプロイ時間:5~15分
最適な用途:MVP、プロトタイプ、個人プロジェクト、マーケティングサイト

おすすめのプラットフォーム:

Vercel(Next.js、React、静的サイト):

  • GitHub にプッシュすると自動デプロイ
  • エッジ関数、画像最適化
  • 無料 SSL、グローバル CDN
  • 個人利用は月額0ドル、チーム利用は月額20ドル

Netlify(静的サイト、Jamstack):

  • Vercel と同様ですが、Next.js 以外に適しています
  • フォーム処理、スプリットテスト
  • サーバーレス関数

Railway(フルスタック、データベース):

  • あらゆるものをデプロイ可能(Node、Python、Go、Rust)
  • PostgreSQL、Redis、MongoDB を統合
  • 512MB RAM と使用量分で月額5ドル

Cloudflare Pages(静的サイト+Workers):

  • 帯域幅は無制限で無料
  • エッジ関数(Workers)
  • 世界最速の CDN

Tier 2:成長中のプロダクト(ユーザー数1,000~100,000人)

費用:月額20~500ドル
デプロイ時間:1~4時間
最適な用途:検証済みのプロダクト、成長中のスタートアップ、有料顧客がいるサービス

おすすめのプラットフォーム:

AWS Amplify(フルスタックのウェブアプリ):

  • マネージドホスティング+バックエンド
  • 認証、API、データベース
  • 自動スケーリング、モニタリング
  • 一般的な費用は月額50~200ドル

Google Cloud Run(コンテナ化されたアプリ):

  • 実際の使用量に対してのみ課金
  • ゼロまでスケール
  • HTTPS を自動設定
  • 小規模なトラフィックの場合、月額20~100ドル

Fly.io(分散型アプリ):

  • グローバルにデプロイ(ユーザーに近い場所で稼働)
  • PostgreSQL、Redis を含む
  • Docker ベース
  • 月額50~200ドル

Render(AWS のよりシンプルな代替サービス):

  • Git から自動デプロイ
  • PostgreSQL、Redis、cron ジョブ
  • 無料プランあり
  • 本番環境では月額50~150ドル

Tier 3:大規模/エンタープライズ(ユーザー数100,000人以上)

費用:月額500~5,000ドル以上
デプロイ時間:1~4週間
最適な用途:高トラフィック、エンタープライズ、コンプライアンス要件

おすすめのプラットフォーム:

AWS ECS(Kubernetes の複雑さを避けてコンテナを運用):

  • Fargate(サーバーレスコンテナ)
  • AWS のエコシステム全体を活用
  • きめ細かな制御
  • 一般的な費用は月額500~2,000ドル

AWS EKS/Google GKE(Kubernetes):

  • フルオーケストレーション
  • マルチリージョン、自動スケーリング
  • 複雑ですが高機能
  • 月額1,000~5,000ドル以上

DigitalOcean App Platform(中規模向けのシンプルな選択肢):

  • Kubernetes を基盤としながら、K8s の知識は不要
  • AWS より低コスト
  • バランスのよい選択肢
  • 月額200~1,000ドル

選定フレームワーク

質問1:何をデプロイしますか?

静的サイト(HTML、CSS、JS):
→ Vercel、Netlify、Cloudflare Pages

Next.js アプリ:
→ Vercel(最適な統合)、Netlify

React/Vue/Angular SPA:
→ Vercel、Netlify、Cloudflare Pages

Node.js API:
→ Railway、Render、Fly.io、AWS Amplify

Python API(FastAPI、Flask、Django):
→ Railway、Render、Fly.io、Google Cloud Run

Go/Rust API:
→ Fly.io、Railway、Google Cloud Run

フルスタック(フロントエンド+バックエンド+DB):
→ Railway、Render、AWS Amplify

マイクロサービス:
→ Fly.io、Google Cloud Run、AWS ECS

質問2:データベースは必要ですか?

データベースなし:
→ Vercel、Netlify、Cloudflare Pages

サーバーレスデータベース(PostgreSQL、MySQL):
→ Railway、Render(統合型)、AWS RDS、Supabase

Redis/キャッシュ:
→ Railway、Render、AWS ElastiCache、Upstash

MongoDB:
→ MongoDB Atlas、Railway、AWS DocumentDB

質問3:ユーザーは何人ですか?

100人未満(MVP):
→ 無料/低価格プラン:Vercel の無料プラン、Railway の月額5ドルプラン

100~1,000人:
→ Vercel Pro(月額20ドル)、Railway(月額20~50ドル)、Render

1,000~10,000人:
→ Railway(月額50~100ドル)、AWS Amplify、Cloud Run

10,000~100,000人:
→ AWS Amplify、Cloud Run、Fly.io(月額100~500ドル)

100,000~1,000,000人:
→ AWS ECS、GKE、専用サーバー(月額500~5,000ドル)

質問4:地理的な分散は必要ですか?

単一リージョン(米国/ヨーロッパ):
→ どのプラットフォームでも対応可能

グローバル(世界中で低レイテンシー):
→ Cloudflare Pages/Workers、Vercel Edge、Fly.io(マルチリージョン)

中国/アジア:
→ Cloudflare、Fly.io Hong Kong、Alibaba Cloud

質問 5:特別な要件はありますか?

コンプライアンス(HIPAA、SOC 2、GDPR): → AWS、Google Cloud、Azure(コンプライアンス認証)

長時間実行されるジョブ(15 分超): → Railway、Render Background Workers、AWS ECS

WebSocket/リアルタイム: → Railway、Render、Fly.io、AWS ECS

高い計算能力(動画処理、ML): → AWS ECS/EKS、Google Cloud Run、専用 GPU


CI/CD パイプラインのセットアップ

Tier 1:Git Push による自動デプロイ

プラットフォーム:Vercel、Netlify、Railway、Render

セットアップ(5 分):

  1. GitHub/GitLab リポジトリを接続します
  2. ビルドコマンドを設定します:npm run build
  3. 出力ディレクトリを設定します:dist または .next
  4. main ブランチにプッシュすると、自動的にデプロイされます

環境変数:

DATABASE_URL=postgresql://...
API_KEY=secret_key
NODE_ENV=production

プレビューデプロイ:

  • プルリクエストごとにプレビュー URL が発行されます
  • 本番環境にマージする前にテストできます

Tier 2:GitHub Actions による CI/CD

使用するケース:カスタムテスト、セキュリティスキャン、複数段階のデプロイ

# .github/workflows/deploy.yml
name: Deploy to Production

on:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '18'
      - run: npm ci
      - run: npm test
      - run: npm run lint

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: amondnet/vercel-action@v20
        with:
          vercel-token: ${{ secrets.VERCEL_TOKEN }}
          vercel-org-id: ${{ secrets.ORG_ID }}
          vercel-project-id: ${{ secrets.PROJECT_ID }}
          vercel-args: '--prod'

Tier 3:エンタープライズ CI/CD

機能:

  • 複数環境(dev、staging、prod)
  • ブルーグリーンデプロイ
  • カナリアリリース
  • 自動ロールバック
  • セキュリティスキャン(SAST、DAST)

パイプラインのステージ:

Build → Test → Security Scan → Stage Deploy → Integration Tests → Prod Deploy

ツール:

  • GitHub Actions、GitLab CI、CircleCI
  • ArgoCD(Kubernetes 向け GitOps)
  • Terraform(Infrastructure as Code)

デプロイチェックリスト

リリース前
  • 環境変数を設定済み
  • データベースのマイグレーションをテスト済み
  • SSL/HTTPS を有効化済み
  • カスタムドメインを接続済み
  • エラー監視を設定済み(Sentry、Rollbar)
  • アナリティクスを設定済み
  • バックアップ戦略を定義済み
リリース当日
  • 本番環境にデプロイ
  • すべてのページが読み込まれることを確認
  • 重要なユーザーフローをテスト
  • エラー監視ダッシュボードを確認
  • パフォーマンス指標を監視
  • ロールバック計画を準備
リリース後
  • ログを監視してエラーを確認
  • パフォーマンスを確認(応答時間)
  • アナリティクスのトラッキングを確認
  • コスト/使用状況を確認
  • 問題があれば記録
  • スケーリング戦略を計画

よくあるデプロイパターン

パターン 1:Jamstack(静的サイト + API)

スタック:Next.js(Vercel)+ API(Railway/Supabase)

メリット:高速、低コスト、簡単にスケール可能 デメリット:リアルタイム処理やサーバー負荷の高いアプリには不向き

Frontend (Vercel) → API (Railway) → Database (Supabase)
パターン 2:サーバーレス

スタック:Vercel Functions + サーバーレス DB(Supabase/PlanetScale)

メリット:サーバー管理が不要、使用量に応じた課金 デメリット:コールドスタート、ベンダーロックイン

Frontend (Vercel) → Edge Functions (Vercel) → Serverless DB
パターン 3:従来型フルスタック

スタック:Railway(Node.js + PostgreSQL)

メリット:シンプル、すべてを一か所に集約 デメリット:単一障害点

Railway: Node.js API + PostgreSQL + Redis
パターン 4:マイクロサービス

スタック:複数の Cloud Run サービス + Cloud SQL

メリット:独立したスケーリング、障害の分離 デメリット:複雑、コストが高い

Frontend (Vercel) → Service 1 (Cloud Run) → Database
                 → Service 2 (Cloud Run) → Queue

コスト最適化

無料枠の活用戦略
  • Vercel:個人プロジェクトなら無料
  • Supabase:DB 500MB、API リクエストは 1 日あたり 50K
  • Railway:月 5 ドル分のクレジット(小規模な API には十分)
  • Cloudflare:帯域幅無制限で無料

合計:MVP なら月額 0~5 ドル

本番環境のコスト最適化
  • キャッシュ(Redis、CDN)を使ってコンピューティング負荷を軽減
  • 画像を最適化(Next.js Image、Cloudinary)
  • データベースのコネクションプーリング(PgBouncer)
  • リソースを監視し、適切なサイズに調整
  • 重要度の低いワークロードにはスポットインスタンスを使用

セキュリティのベストプラクティス

必須項目
  • ✅ HTTPS のみを使用(ほとんどのプラットフォームで自動設定)
  • ✅ シークレットには環境変数を使用(絶対にコミットしない)
  • ✅ データベースの保存データを暗号化
  • ✅ 依存関係を定期的に更新
  • ✅ API にレート制限を設定
推奨項目
  • セキュリティヘッダー(Node 向けの helmet.js)
  • DDoS 保護(Cloudflare)
  • 脆弱性の自動スキャン
  • 機密性の高い操作の監査ログ
  • バックアップと災害復旧計画

モニタリングとオブザーバビリティ

Tier 1:基本的なモニタリング
  • プラットフォームのダッシュボード(Vercel Analytics、Railway Metrics)
  • エラートラッキング:Sentry(月額 0~26 ドル)
  • 稼働状況の監視:UptimeRobot(無料)、Better Uptime
Tier 2:強化されたモニタリング
  • APM:New Relic、Datadog(月額 $15~100)
  • ログ集約:LogTail、Papertrail
  • カスタムメトリクスとアラート
Tier 3:エンタープライズ向けオブザーバビリティ
  • フルスタック:Datadog、New Relic(月額 $300~1000 以上)
  • 分散トレーシング(OpenTelemetry)
  • カスタムダッシュボード(Grafana)
  • インシデント対応用の PagerDuty

クイックスタートの推奨構成

シンプルなマーケティングサイト: → Vercel + Contentful CMS

SaaS の MVP: → Next.js(Vercel)+ Supabase(DB + Auth)+ Stripe

社内ツール: → React(Netlify)+ FastAPI(Railway)+ PostgreSQL(Railway)

モバイルアプリのバックエンド: → FastAPI(Cloud Run)+ Cloud SQL + Firebase Auth

E コマース: → Next.js(Vercel)+ Shopify/Stripe + PostgreSQL(Supabase)


関連リソース

関連スキル:

  • frontend-builder - デプロイするアプリの構築用
  • api-designer - API アーキテクチャ用
  • performance-optimizer - デプロイ済みアプリの最適化用

関連パターン:

  • META/DECISION-FRAMEWORK.md - プラットフォーム選定の指針
  • STANDARDS/architecture-patterns/deployment-patterns.md - デプロイアーキテクチャ(作成予定)

関連プレイブック:

  • PLAYBOOKS/deploy-to-vercel.md - Vercel デプロイガイド(作成予定)
  • PLAYBOOKS/setup-cicd.md - CI/CD セットアップ手順(作成予定)

コメント