I'm often asked what I do at Microsoft and my answer is usually somewhere along the lines of "I work to further Microsoft's vision of Cloud Computing." That answer is inevitably followed by another question: "What is Cloud Computing?"
Wikipedia defines Cloud Computing as "Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, similar to a public utility such as the electricity grid." This is a fair definition, but it doesn't really explain why. Why would anyone want to buy computing resources from a utility company? Why would Microsoft, Google or Amazon want to get into the computing utility business? The answers to these questions are revealing and compelling.
Multi-Tenancy
At the heart of Cloud Computing is the concept of multi-tenancy. Before I get into what I mean by multi-tenancy, let's create some motivation.
Suppose there are two companies, Contoso and Fabrikam. Contoso produces widgets that have a peak demand during the summer months. Fabrikam produces whatchamacallits that have a peak demand during the winter months. Both Contoso and Fabrikam offer their products through their online stores. They each own several server racks to host their e-storefronts and keep IT professionals on staff full-time to maintain and service them. Both companies have invested sufficiently in technology to meet their peak demands at 90% capacity. During off-peak periods, their servers tend to run at 50-60% capacity.
For illustrative purposes, let's attach some numbers. Suppose each company has 100 servers. During the summer months, Contoso needs all 100 servers, but Fabrikam could get away with about 75. In the winter, the numbers are reversed. What if Contoso and Fabrikam formed a partnership? Together, the two companies are investing in 200 servers year round, but they are never using more than 175. They could cut their total costs by 12.5% by sharing resources.
What happens during the fall and spring when Contoso and Fabrikam are operating at off-peak levels? Suppose they could find another partner whose product sales peak in the fall? They could share resources with that company and save even more.
The notion of sharing computing resources is central to Cloud Computing and each party involved in the sharing is called a tenant. A computing utility company's value add is the ability to provide resources to multiple tenants at once and appropriately meter usage to charge each tenant its share of the cost. A Cloud Computing platform like Windows Azure provides different types of resources (e.g., compute, storage, messaging, security) in a multi-tenant environment.
Isolation, Elasticism and Scale
The discussion above greatly simplifies Cloud Computing. It clearly motivates customers of Cloud Computing; it reduces the cost of computing and eliminates the need for IT professionals to maintain in-house servers. It seems as though a large company like Microsoft could purchase a large number of servers, start divvying up the resources, and make a killing. As they say, the devil is in the details.
How does a Cloud Computing provider isolate one tenant from another? If tenants are relying on storage resources in the cloud, how can they be assured that their sensitive data will not be exposed to another tenant? If one tenant is experiencing a period of significant load, how can other tenants be sure that their needs are not affected?
If Cloud Computing is successful, then companies will be able to offload the burden of maintaining IT and focus on their core competencies. In turn, one would hope that these companies would become more successful as they improve their own products and processes. As they grow, their computing needs grow and Cloud Computing providers have to be able to keep up with this elastic demand.
If a Cloud Computing provider wants to be profitable, they will need a large number of tenants. After all, Cloud Computing is all about commoditizing computing. If we make computing inexpensive, then we have to get into the business of large volumes. How do you continue to provide isolation and elasticism as you scale to hundreds of thousands of tenants?
It's a nascent, but promising business. It's no wonder we're all in.