The general idea is pretty simple: Right now, you probably do your computing using some hardware and software which is located locally on your premeses. Instead, you could move some of that to a data center "out there in the cloud"--in other words, accessed over the Internet. Both consumers and businesses will be getting into the act as cloud computing becomes real.
This probably doesn't sound like all that new an idea; we've had outsourced hosting for quite some time. And then there was all that excitement in the 90s about "Application Service Providers" (ASPs) that didn't seem to take hold.
Ah, but that was then. Things are different now. Cloud computing is hosting on steroids, using the mammoth data centers that have been built to support communities such as Amazon, Google, Yahoo, and MSN. Cloud computing can provide super-scalability and automated provisioning on-demand, in response to changes in usage levels. Cloud computing will offer interesting business models, such as pay-as-you-go. Virtualization technology, already very popular in the enterprise, has paved the way for a lot of this data center technology.
As a simple example, imagine your business decides to start using an Internet-based expense tracking application instead of handling it locally. If your business grows rapidly and you take on many more employees, you pay a bit more per month for the application but you don' t have to do anything to handle the extra load. Likewise, if times are tough and you reduce head count, your monthly charges go down. This is very different than running an application locally, where you have to anticipate peak load and ensure you have enough computing power to handle it. With cloud computing, it's automatic and resembles how a utility provides you with electricity or water.
That's just the tip of the iceberg. Depending on which of the cloud computing platforms we're talking about, you could conceivably be talking about
- Running consumer or business software in the cloud
- Applications that are fully or partly located in the cloud
- Ability to run canned packages or your own applications in the cloud.
Cloud computing isn't just about relocating your applications from one place to another, it will give us new ways to design applications. An example of an application that has both a local component and a cloud component is iTunes. You download the software to your local PC or Mac, but it accesses a music store out there on the Internet.
It will be interesting to see how the big players stack up in terms of their offerings, business models, and competitive advantages. Some vendors are already out there with their cloud offerings, such as Amazon's Elastic Compute Cloud (EC2) initiative. Others will be announced shortly. My particular area of interest is in what Microsoft's cloud computing platform will look like, as I work for a national Microsoft consulting partner. All should be revealed at the end of October at the MS Professional Developer's Conference in LA. I can't wait.