Everywhere you turn, it's "
cloud" this, "cloud" that, "cloud" the other.
Public clouds, private clouds, hybrid
clouds, fluffy clouds...but somewhere in all that billowing haze,
there's an actual use case.
The people who designed cloud computing made certain explicit
trade-offs, some of which have been lost in all the hype. Given those
explicit trade-offs, your application is a candidate for "the cloud" in
general only if it has all of the following characteristics:
- Embarrassingly parallelizable
- Does not have bounded latency requirements
- Needs CPU much more than I/O
- Tolerant to partial data loss
It is a candidate for a "public cloud" (Amazon, etc.) if it has all of
the above, and
- All the data would be safe in the hands of your worst enemy.
The people who operate public clouds have no incentive and no
intention to guard your information, have "leaked" such information
many times so far (insofar as they can "leak" something they did not
attempt or promise to protect), and will continue to do so as long as
people put private information in them. It has no place there.
Based on the first list, we can eliminate:
- Relational database management systems
- Email
- Web servers
Based on the second list, we can also eliminate
- Anything where private data could ever go
What's left, you ask? Well, there's SETI, and Folding@Home, and there
will be other similar scientific projects.
But for your run-of-the-mill application? Not on your life!
That being said, I don't think most business are ready to move their production data to a public cloud and they may never be ready. I see the public cloud as a perfect development and testing platform. I've actually used it a bit to play with SR/HS in 9.0. I was able to spin up a few 8CPU instances (which we don't have those types of spare boxes laying around the data center) and start beating on the instances in a few minutes.
That said, for the most part companies running business-critical apps on conventional RDBMS are not running to deploy in the cloud. We backed off putting in explicit cloud support for our own database clustering products because there is no demand. For these sorts of users the cloud is just a bunch of hype.