I have often said that Amazon has done more for startups than all of us early stage VCs combined. I really don’t see a startup anymore these days that is not getting going on either Amazon or sometimes Rackspace’s cloud offering (I have yet to seen a startup on Azure or IBM’s cloud). The idea of racking your own server as a first step, which is what we routinely did in the late 90s and then later managed dedicated servers seems positively quaint. So I am with Marc Andreessen here in what seems like a bit of a manufactured fight with Pat Gelsinger.
There is an important thing to keep in mind though: the more magic you use the less you control your own reliability. What do I mean by magic? Anything that powerfully abstracts away the underlying hardware. This starts with something like Amazon’s EBS and goes all the way to PaaS like Heroku. These abstractions really dramatically reduce your admin requirements which is terrific but they also mean your reliability is now at best as good as the platform. The platforms are getting better all the time but if what you are offering needs to have reliability higher than that offered by the platform you can’t deliver and more importantly you cannot really do anything (other than wait) if there is downtime.
For most startups this is an entirely reasonable trade off to make. The reliability of the cloud providers is constantly going up and they are likely to be better at operating many server than you would be yourself. Also, if you want to have better control over your reliability you can still make use of the cloud, you just can use less or no magic. For instance, if all you do is spin up EC2 instances and use those across availability zones I don’t believe there has been a single Amazon outage where all instances would have disappeared across all availability zones (someone please correct me if I am wrong here). For a case like this you have to really architect for being able to route load / computation to available nodes and be mindful of ephemeral instance storage.
In summary then — for most startups cloud reliability will exceed what you could do on your own and for the few where it really matters you can still use the cloud but mostly for giving you lots of instances in lots of places.