Deployment Advisor
Choose deployment strategy and infrastructure. Use when deciding where to deploy applications, setting up CI/CD, or configuring production environments. Covers Vercel, Railway, AWS, Cloudflare Workers, and Docker.
What this skill does
# Deployment Advisor
Choose the right deployment strategy for your application scale and requirements.
## Core Principle
**Start simple, scale when needed.** Don't over-engineer infrastructure for 10 users that won't arrive for months.
## Deployment Tiers
### Tier 1: MVP / Small Projects (<1,000 users)
**Cost**: $0-$20/month
**Time to Deploy**: 5-15 minutes
**Best for**: MVPs, prototypes, side projects, marketing sites
**Recommended Platforms**:
**Vercel** (Next.js, React, static sites):
- Push to GitHub → auto deploy
- Edge functions, image optimization
- Free SSL, global CDN
- $0 for hobby, $20/mo for team
**Netlify** (Static sites, Jamstack):
- Similar to Vercel, better for non-Next.js
- Form handling, split testing
- Serverless functions
**Railway** (Full-stack, databases):
- Deploys anything (Node, Python, Go, Rust)
- Integrated PostgreSQL, Redis, MongoDB
- $5/mo for 512MB RAM + usage
**Cloudflare Pages** (Static + Workers):
- Free unlimited bandwidth
- Edge functions (Workers)
- Fastest CDN globally
---
### Tier 2: Growing Products (1K-100K users)
**Cost**: $20-$500/month
**Time to Deploy**: 1-4 hours
**Best for**: Validated products, growing startups, paid customers
**Recommended Platforms**:
**AWS Amplify** (Full-stack web apps):
- Managed hosting + backend
- Authentication, APIs, databases
- Auto-scaling, monitoring
- $50-200/mo typical
**Google Cloud Run** (Containerized apps):
- Pay only for actual usage
- Scales to zero
- Automatic HTTPS
- $20-100/mo for small traffic
**Fly.io** (Distributed apps):
- Global deployment (closer to users)
- PostgreSQL, Redis included
- Docker-based
- $50-200/mo
**Render** (Simpler alternative to AWS):
- Auto-deploy from Git
- PostgreSQL, Redis, cron jobs
- Free tier available
- $50-150/mo for production
---
### Tier 3: Scale / Enterprise (100K+ users)
**Cost**: $500-$5,000+/month
**Time to Deploy**: 1-4 weeks
**Best for**: High traffic, enterprise, compliance requirements
**Recommended Platforms**:
**AWS ECS** (Containers, no Kubernetes complexity):
- Fargate (serverless containers)
- Full AWS ecosystem
- Fine-grained control
- $500-2000/mo typical
**AWS EKS / Google GKE** (Kubernetes):
- Full orchestration
- Multi-region, auto-scaling
- Complex but powerful
- $1000-5000+/mo
**DigitalOcean App Platform** (Mid-tier simplicity):
- Kubernetes-powered, no K8s knowledge needed
- Cheaper than AWS
- Good middle ground
- $200-1000/mo
---
## Decision Framework
### Question 1: What are you deploying?
**Static site (HTML, CSS, JS)**:
→ Vercel, Netlify, Cloudflare Pages
**Next.js app**:
→ Vercel (best integration), 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
**Full-stack (Frontend + Backend + DB)**:
→ Railway, Render, AWS Amplify
**Microservices**:
→ Fly.io, Google Cloud Run, AWS ECS
### Question 2: Do you need a database?
**No database**:
→ Vercel, Netlify, Cloudflare Pages
**Serverless database (PostgreSQL, MySQL)**:
→ Railway, Render (integrated), AWS RDS, Supabase
**Redis/caching**:
→ Railway, Render, AWS ElastiCache, Upstash
**MongoDB**:
→ MongoDB Atlas, Railway, AWS DocumentDB
### Question 3: How many users?
**<100 users (MVP)**:
→ Free/cheap tiers: Vercel free, Railway $5
**100-1,000 users**:
→ Vercel Pro ($20), Railway ($20-50), Render
**1K-10K users**:
→ Railway ($50-100), AWS Amplify, Cloud Run
**10K-100K users**:
→ AWS Amplify, Cloud Run, Fly.io ($100-500)
**100K-1M users**:
→ AWS ECS, GKE, dedicated servers ($500-5000)
### Question 4: Geographic distribution?
**Single region (US/Europe)**:
→ Any platform
**Global (low latency worldwide)**:
→ Cloudflare Pages/Workers, Vercel Edge, Fly.io (multi-region)
**China/Asia**:
→ Cloudflare, Fly.io Hong Kong, Alibaba Cloud
### Question 5: Special requirements?
**Compliance (HIPAA, SOC 2, GDPR)**:
→ AWS, Google Cloud, Azure (compliance certifications)
**Long-running jobs (>15 min)**:
→ Railway, Render Background Workers, AWS ECS
**WebSockets/real-time**:
→ Railway, Render, Fly.io, AWS ECS
**High compute (video processing, ML)**:
→ AWS ECS/EKS, Google Cloud Run, dedicated GPUs
---
## CI/CD Pipeline Setup
### Tier 1: Git Push Auto-Deploy
**Platforms**: Vercel, Netlify, Railway, Render
**Setup** (5 minutes):
1. Connect GitHub/GitLab repo
2. Configure build command: `npm run build`
3. Configure output directory: `dist` or `.next`
4. Push to main branch → auto deploy
**Environment Variables**:
```bash
DATABASE_URL=postgresql://...
API_KEY=secret_key
NODE_ENV=production
```
**Preview Deployments**:
- Every pull request gets preview URL
- Test before merging to production
---
### Tier 2: GitHub Actions CI/CD
**Use when**: Custom tests, security scans, multi-stage deploys
```yaml
# .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: Enterprise CI/CD
**Features**:
- Multi-environment (dev, staging, prod)
- Blue-green deployments
- Canary releases
- Automated rollbacks
- Security scanning (SAST, DAST)
**Pipeline Stages**:
```
Build → Test → Security Scan → Stage Deploy → Integration Tests → Prod Deploy
```
**Tools**:
- GitHub Actions, GitLab CI, CircleCI
- ArgoCD (GitOps for Kubernetes)
- Terraform (Infrastructure as Code)
---
## Deployment Checklist
### Pre-Launch
- [ ] Environment variables configured
- [ ] Database migrations tested
- [ ] SSL/HTTPS enabled
- [ ] Custom domain connected
- [ ] Error monitoring set up (Sentry, Rollbar)
- [ ] Analytics configured
- [ ] Backup strategy defined
### Launch Day
- [ ] Deploy to production
- [ ] Verify all pages load
- [ ] Test critical user flows
- [ ] Check error monitoring dashboard
- [ ] Monitor performance metrics
- [ ] Have rollback plan ready
### Post-Launch
- [ ] Monitor logs for errors
- [ ] Check performance (response times)
- [ ] Verify analytics tracking
- [ ] Review cost/usage
- [ ] Document any issues
- [ ] Plan scaling strategy
---
## Common Deployment Patterns
### Pattern 1: Jamstack (Static + API)
**Stack**: Next.js (Vercel) + API (Railway/Supabase)
**Pros**: Fast, cheap, scales easily
**Cons**: Not suitable for real-time or server-heavy apps
```
Frontend (Vercel) → API (Railway) → Database (Supabase)
```
### Pattern 2: Serverless
**Stack**: Vercel Functions + Serverless DB (Supabase/PlanetScale)
**Pros**: Zero server management, pay per use
**Cons**: Cold starts, vendor lock-in
```
Frontend (Vercel) → Edge Functions (Vercel) → Serverless DB
```
### Pattern 3: Traditional Full-Stack
**Stack**: Railway (Node.js + PostgreSQL)
**Pros**: Simple, everything in one place
**Cons**: Single point of failure
```
Railway: Node.js API + PostgreSQL + Redis
```
### Pattern 4: Microservices
**Stack**: Multiple Cloud Run services + Cloud SQL
**Pros**: Independent scaling, fault isolation
**Cons**: Complex, higher cost
```
Frontend (Vercel) → Service 1 (Cloud Run) → Database
→ Service 2 (Cloud Run) → Queue
```
---
## Cost Optimization
### Free Tier Strategy
- Vercel: Free for personal projects
- Supabase: 500MB DB, 50K API requests/day
- Railway: $5 credit/month (enough for small API)
- Cloudflare: Unlimited bandwidth free
**Total**: $0-5/month for MVP
### ProdRelated in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.