RubyGuide: What are the benefits of "living in the cloud?" The risks?
Dave Vandervort: When you use cloud resources, you give up control over them. Right now, if the computer I am sitting in front of suddenly dies, I can take it apart and fix it. If, instead, I wrote this using Google Docs, I would have to trust my computer, my Internet connection AND Google’s infrastructure. The increase in potential points of failure also increases the size of failure. If my computer dies, no one is affected but me. If Google Docs dies, many thousands of people have problems.
Therefore, when using resources in the cloud like Google docs, it is important to do regular backups. Even if you export your files and store them on Amazon S3 (another cloud service), you’ve at least spread your risk over different companies rather than kept them pooled in one place.
There are 3 huge benefits to using the cloud. One is presence. I can access this document from the computer I am sitting in front of now. If it lived in Google Docs, though, I could get to it from any computer with an Internet connection.
A second benefit is cost. With Google docs, I don’t have to pay for Microsoft Word. With Amazon EC2 or S3, I don’t have to buy a lot of hardware or hire people to maintain it. These are non-trivial costs that are being avoided.
The last big benefit, in spite of what I said about increased points of failure, is redundancy. By definition a cloud vendor has lots of resources available for use. Though there have been at least 2 instances when Amazon’s cloud simply disappeared for a short time, that is far from the norm. Normally, if a hard drive or two, or even a server or two, fail in their cloud infrastructure, there is enough redundant capacity to take up the slack so that end users won’t even notice. Improving uptime without a commensurate increase in end user cost is part of what the cloud is about.