Reddit and Netflix have entirely different models at their 'web-scale'
They actually DO need to be able to scale servers up and down based on demand-usage, time of day, growth patterns, etc.
For them, the extra EC2 cost is negated by being able to spin up an extra 400 instances in the evenings, and turn them back down after everyone goes to sleep.
Under the dedicated server model they'd ALWAYS need to have an extra 400 dedicateds to handle that peak load (and in fact would need to have far more to handle additional spikes, projected growth, etc.) Those dedicated servers would sit idle, costing them money most of the time.
This is the difference between 'web-scale' and your typical startup's usage pattern.
> They actually DO need to be able to scale servers up and down based on demand-usage, time of day, growth patterns, etc.
Cost wise, your best scenario is usually going to be dedicated or colo + EC2 or similar for overflow / peak.
If you do just dedicated hosting you need to leave enough spare capacity that you feel comfortable handling the spikes for whatever the worst case provisioning time your host has.
It's still cheaper than EC2.
But if you do dedicated + ability to spin up EC2 to take peaks, you can go much closer to the wire with your dedicated hardware, and increase the cost gap to EC2 massively. You don't need as much spare capacity to handle peaks any more. You don't need as much spare capacity to handle failover.
It's rare for it to pay off to spin up EC2 instances to handle inter-day "normal" load changes, though - most sites don't have differences that are pronounced enough over short enough intervals for it to be worth it. If you do the dedicated + EC2 model, your EC2 instances needs to be up no more than 6-8 hours or so on average per day before it becomes cheaper to buy more dedicated capacity.
I don't think you'll find that reddit actually spins up extra instances though. They simply run 240 instances (right now). So it still seems like an odd choice, given they could probably reduce that to about 50 instances of dedicated hosting.
You should not make your own technology judgements based solely on what other people are using. There's too many people jumping on the cloud bandwagon who have no clue what they're doing.
Making technology decisions based on what others are doing is the fastest way to make minor decisions. There's immense value in asking "what does company x do?" choosing that option, and moving on. In my experience time deliberating is time wasted--it's better to make a decision and move on. You can (and should) change later.
> Making technology decisions based on what others are doing is the fastest way to make minor decisions.
Sure, but a minor decision is who prints your business stationery or what kind of toilet paper to buy.
What hardware/networking platform to build your service on is not a minor decision. It will fundamentally affect the architecture of your entire system, and getting the decision wrong will potentially be expensive-with-a-capital-Failed-Company.
Reddit very much regretted using Amazon EC2 EBS disks for their site according to their blog. It killed their site for almost entire days, many times, for a long time. It's taken them months to undo that decision.