To make the analogy accurate:
Running a business on AWS is like taking Uber to work every day. At some point it makes sense to just buy the car, hire a driver, find a good mechanic, lease a parking spot, purchase automobile insurance, remember to buy gas, deal with speeding tickets, schedule regular maintenance ....
At some point it makes sense, but it is way, way down the road for most startups.
Netflix spends millions on AWS -- but it would never make sense for them to do it themselves.
My average was ~$140K per month -- and it would NOT have made sense to do self DC.
Right now, im deploying from DC to AWS and dropping my cost and increasing my performance...
Thing is, unlike the "get driven to work" analogy, programmers/etc are in the same problem domain as the required services.
It would be like a mechanic taking an Uber to his garage every day because he couldn't be bothered personally owning a car. What?!
"Car leases" (rented dedicated servers [possibly even managed]) are a happy medium everyone should consider.
But programmers should be focusing on delivering their startup's unique technology or service, not building and maintaining commodity infrastructure.