Almost every founder decides to use AWS before deciding what on AWS. Fair enough — it's the safe, well-documented default. The expensive part comes after: the gap between "we're on AWS" and "we've architected this correctly," where 30–40% of cloud spend typically gets wasted on unused or misallocated resources.
This post is a quick summary — full breakdown with diagrams and a reference architecture is linked below.
Compute — pick by traffic shape, not habit:
- Lambda: event-driven, unpredictable traffic, sub-15-minute execution
- EC2: persistent processes, steady high throughput
- Fargate: containerized workloads without managing the underlying instances
Database — resist the DynamoDB-by-default urge: RDS (Postgres/MySQL) is the right starting point for most SaaS, eCommerce, and CRM products. DynamoDB earns its place for high-velocity, simple-key-lookup patterns — not as a default relational replacement.
Cost mistakes we see most often:
- Instances running 24/7 for traffic that isn't 24/7
- No reserved pricing on predictable workloads
- Lambda memory mismatched to actual usage
- No billing alarms until the invoice arrives
- Multi-AZ redundancy on workloads that don't need it
Full guide (compute/database decision criteria, reference architecture, migration notes): https://auraveni.com/blogs/aws-cloud-architecture-startups-guide
Top comments (0)