The Over-Engineering Trap
Small teams don't need Kubernetes, microservices, or multi-region deployments. Start simple and scale when pain justifies complexity.
Hosting: Vercel or Railway
For web apps, serverless platforms (Vercel, Railway, Render) handle scaling, SSL, CDN, and deployments automatically. Monthly cost: $20-200 depending on traffic.
When to graduate to AWS/GCP: When you need custom networking, regulatory compliance, or costs exceed $500/month.
Database: Managed PostgreSQL
Use a managed Postgres service (Supabase, Neon, Railway). Don't self-host databases—backups, replication, and version upgrades are tedious.
Monthly cost: $10-100 for small operational apps.
When to graduate to self-hosted: Never, unless you have a dedicated DBA on staff.
Monitoring: Sentry + Vercel Analytics
Sentry catches runtime errors. Vercel Analytics tracks page performance. Both have generous free tiers.
Monthly cost: $0-50.
When to add more: When you need custom business metrics dashboards (see our Analytics guide).
Email: Resend or Postmark
Transactional emails (order confirmations, alerts) should use a dedicated service, not Gmail SMTP. Deliverability matters.
Monthly cost: Free tier covers most small apps; $10-30 once you scale.
File Storage: Vercel Blob or S3
Store user uploads in blob storage, not your database. Vercel Blob is simplest; S3 is cheaper at scale.
Monthly cost: $0-20 for most use cases.
The $100/month Operational Stack
- Hosting: Vercel Pro ($20)
- Database: Railway Postgres ($10)
- Monitoring: Sentry ($0 free tier)
- Email: Resend ($0 free tier)
- File Storage: Vercel Blob ($5)
- Total: $35/month for a production-grade stack that scales to thousands of users.
Conclusion
Resist the urge to over-engineer. Choose managed services that eliminate toil and let you focus on building features, not maintaining infrastructure.