Deployment
The process of making your app available to users. Deployment means getting code from your machine to a server or platform where users can access it. Methods: FTP (old), git push (Vercel/Netlify), Docker (any cloud), Kubernetes (scale). The final step of development.
- Every app that needs users.
- Local-only tools.
Definition
Deployment is the process of releasing an app to a production environment where users access it. Strategies: manual (SSH + copy), git-push (Vercel/Netlify auto-deploy), container (build image, deploy to registry + cluster), blue-green (two envs, switch), canary (gradual rollout).
Why it exists
Code on your laptop helps no one. Deployment makes your app available to users reliably, repeatably, and safely.
How it works
Build the app (compile, bundle). Push to a host: static files to a CDN (Vercel/Netlify), Docker image to a registry (ECR) then a cluster (ECS/K8s), serverless function to a platform (Lambda). Configure DNS, SSL, env vars. Monitor and roll back if needed.
Scaling limits
Complex deployments (microservices, databases, migrations) need orchestration. Downtime risk (use zero-downtime strategies). Rollback complexity. Environment parity (dev ≠ prod bugs).
Cost shape
Varies: free tiers (Vercel/Netlify) to enterprise cloud (AWS/GCP) costing thousands/month.
Alternatives
- Manual copy — Simple but error-prone and not repeatable.
Failure modes
- Downtime during deploy.
- Missing env vars/config.
- Failed migrations.
- No rollback plan.
Related terms
CI/CD, Docker, Kubernetes, Vercel, Netlify, AWS (Amazon Web Services)