Tilting at Clouds
From my previous posting: "When you have an idea you think may be a hit, like the next Twitter, how much capacity should you invest in? Do you buy one server, or a hundred? Do you invest in a DSL line, or buy direct access to the backbone? How much disk space will you need for your customer load? "
If you base your decisions on prediction, you'd better hope you're good at predicting things. Overbuy, and you may be driven under by costs. Underbuy, and you may be overwhelmed by users, and if your service becomes a slow and disappointing experience this could kill your business too.

The notion of "Cloud Computing" is meant to solve this, and it's a practical approach to an idea that's been floating around for a while: The Network is the Computer.
A good example is Amazon Web Services(AWS). This is a collection of for-rent-by-the-hour/month/etc… services that include virtual servers, scalable storage space, and on-demand bandwidth. You can sign up for essentially nothing, start out so small that your monthly expenditures can be dwarfed by your daily coffee budget, and scale up at any pace that the natural growth of your business demands. Users never know that your "system" is really a virtual one, part of the cloud of web services provided by the vendor, and billed on an as-needed basis.
Also, a number of possibly business-critical issues are taken care of for you: data security, hacker protection, overseas mirroring, tracking and monitoring of usage, and so on.
I find this particularly exciting because I think it will encourage people to experiment with new ideas. What if your great new service is not, in fact, the new Twitter? You don't have to risk much to try it out, so why not give it a go? Or, do you suspect that Ruby on Rails might be the right environment for your cool online game? When you create a virtual server at AWS, you pick whatever server image you want, or create a custom image, and experiment away. If you discover you really wanted PHP, or .Net, or Java, or whatever, you can try a different image and play with a completely different technology for a while.
At the center of any emergent process is the notion of "low cost". I constantly tell my students everything is acceptable if the costs are acceptable when making decisions in design and testing. The trick is, do you know the costs? Patterns, tests, analysis, are all about (among other things) revealing these costs reliably.
Here again, we see this idea at work. If we focus on costs in our business, we can decide what risks we wish to take on, and which ones we want to defer until we know more about the applicability of an idea in the context of a given marketplace.
So, I hope they continue to keep the entry costs low for this stuff. Not surprisingly, the competition is heating up, and I think that'll help. Already we have IBM's Blue Cloud, Microsoft's Azure Services, and even traditional colo-hosts like Rackspace are getting into the Cloud business.
Pick one and give it a try. I recently spoke at the Emerging Technologies for the Enterprise conference in Philadelphia, and got a chance to sit in on Mike Culver's talk "The Forecast is Clearly Cloudy". In it, he demonstrated (live) creating a virtual server and pulling up some storage space at AWS. It amazed me how fast it all was, and how little was required up-front (5 gigs is something like 10 cents a month). I doubt the other services are much different in terms of time and expense.
Technorati Tags:
tag with del.icio.us