This page describes a few common deployment tiers along with associated costs for entry into that tier.
Static Web Hosting ($1.20/mo)
Used for: slick web hosting that only has static content (videos, pages, js content that uses external apis) <- no database, no backend
Includes:
- s3 - Asset storage
- CloudFront - CDN for quick asset access anywhere
Required Knowledge:
- Software config via aws gui (8h)
- Ftp command line (1h)
Downtime:
Support:
- 1-5m/mo of your time to tweak settings and upload content
See: $1.20 Static Web Hosting
Base Full Stack ($27/mo, fixed)
Used for: 1-50 concurrent users. Scale to more in a few hours.
(If you hit 50 concurrent users, your app is wildly popular for something new, this is huge. Here's a calculator: http://www.webperformance.com/library/tutorials/CalculateNumberOfLoadtestUsers/)
Includes:
- RDS - t2.micro (postgres database)
- AWS Linux - t2.micro (application host)
- CloudWatch - monitoring and alerting
- Optional - Route 53 domain ($15/yr) & Let's Encrypt ssl certs
- Your host gets free ssl via aws, but if you want a custom domain name, you need to bring your own certs til you start adding ELBs for $18/mo each
Required Knowledge:
- Basic shell scripting (8h)
- AWS GUI following docs (2d)
- Optional - Route 53 & Let's Encrypt ssl certs (2d)
Downtime:
- Up to 8hrs/yr from single AWS AZ
- Anytime the single instance of your app crashes (varies by skill ;-)
- Anytime you want to image your instance (create ami)
A good stack:
Upgrading:
- Made it past 50 concurrent users? Congrats! Time to upgrade. Move to the enterprise stack in ~8h with a dockerfile and kops!
Support:
- 1-10h per month to handle monitoring alerts
- 4h/yr for upgrades
Enterprise Stack ($190/mo, elastic)
Used for: High availability 200-500 concurrent users - scale to more in minutes (scalable to 100,000 concurrent users and beyond with skilled application architecture and additional infra cost in terms of nodes, network, and db optimization)
Includes:
- Kubernetes (via kops)
- Kibana + Elastic - Log aggregation and search
- kops provisioned: t2.medium master, 2x t2.medium multi-az nodes with autoscaling group
- RDS - Multi-AZ t2.medium (postgres)
- AWS Container Registry (this is where you keep the docker images you build for deployment to k8s)
- ELB - Application load balancers
- SSL termination
- Certificates with Auto-renew
- DataDog - Host & container monitoring and alerting (cloudwatch won't cut it at this level)
Required Knowledge:
- Advanced docker (2d)
- Kubernetes (6w)
- AWS advanced networking (4w)
- Advanced scripting via custom or Terraform (2w)
- Advanced continuous delivery via Drone or Jenkins (3w)
Downtime:
- Easily 5 9's of availability
Support:
- 3w/year to actively monitor and respond to alerts
- 10w/yr to configure, hone, and upgrade
Google or GitHub - Doing it Free (or nearly)
Looking to develop a webapp with $0 in initial hosting costs?
Apps with Storage, Notifications, Auth, and Server Code