I'm not anticipating everything ahead of time, I'm choosing mature tech that does what I need and then some. There's no misstep there. The real problem I've seen with choosing software tech is "new, shiny".
That's fine, so long as your aware of the costs of that decision.
That choice is what tends towards a"minimum prod deployment" consisting of something like a pair of app servers behind a load balance with a pair of redundant databases behind them and usually some sort of object store as well. Assuming you engineer you app and db schemas sanely, you can reliably get four nine out of a setup like that. On AWS that looks like an aELB with two EC2 instances and a multiAZ RDS with a few S3 buckets. At on demand rates with .medium ec2 and rds instances that runs about $150/month - or maybe as low as $100 with reserved instances. You could probably deploy that for $60 or so on something like Linode or Digital ocean.
That's usually fine when you're spending someone else's money, and they're fully-but-incorrectly expecting their idea to need Netflix or Facebook scale within six months.
|||||If it's _my_ money, something "less scalable" that runs closer to $20/month that will easily support enough traffic to prove product market fit and generate enough sales/profit to suppot both otself and a team to rebuikd it when/if it ever needs it is a really sensibly approach.
For most things I personally use AWS Lambda and S3, with some SimpleDB. If I needed something more in the DB department, I'd probably use DynamoDB, but S3 actually works well for most of the data I need to store. I pay about $0.50/mo and most of that is S3 cost for media files. I don't have a lot of users, but even if I did I'd still be paying way less than $20/mo. And when I do have a lot of users, I don't have to worry about scaling anything (and that will happen soon). I think the first million Lambda invocations are free, and if/when I start paying for Lambda invocations, the AWS costs will definitely be covered easily by user subscriptions.
I also use pretty much the same stack at work, where we currently have about 150,000 users. The cost is about $15/day, mostly in S3 costs, we have a lot more data at my day job. We also do use a few hundred EC2 instances in short bursts, and the VPC has stupid high costs, and other costs add up, but it's probably about 1% of what the rest of the teams cost that run on EC2 and Postgres and other AWS tech.