People seem have forgotten the productivity loss of running their own data center. When I was in my previous company, most of things are just excruciating compared with what I enjoyed in Netflix. Dockers did not come with persistent volumes, provisioning machines involved lengthy approvals and sometimes long waiting time; building and deploying services that involved multiple clusters that talked to each other required serious devop-fu; production clusters got broken because infra upgraded system dependencies using a background job and mitigating such simple mistakes may take hours if not days. Deploying any non-trivial service required multiple meetings with some infra teams, for resources, for concerns with stability, or whatever. PS, did I mention that we built tens of thousands of Puppet files that very few people understood and any updates to my system took half an hour to refresh yet the early members of the infra team thought Puppet was the best f@#$ tool in the world? The list can go on and on. PPS, did I mention that we had a 500-person infra team and later probably more than a thousand for a fraction of traffic/complexity compared with what Netflix had to deal with, while Netflix didn't even have an infra team (to be fair, Netflix had a build team and a platform team and a monitoring team, which had fewer than 30 people combined)?
In contrast, EC2 alone would have to save us lots of pains.
You may say that my previous company was not technically great. Maybe. If that's the case, how many companies can be really better? I think the fundamental problem is that companies tend to underestimate the effort to build a world-class infrastructure from scratch as well as the opportunity cost due to loss of productivity. Netflix's leaders were truly wise by claiming that Netflix didn't want to work on undifferentiated heavy lifting early on.