My head has been in the clouds for the past week or so – I’ve literally been working full-time on cloud computing. Cloud services are popping up right and left, and more are coming. Some of these are not cloud by our definition. But what about the ones that fit the definition, but barely? From a cloud customer perspective, what makes one service more “cloudy” than another?
I think there are two obvious dimensions to “cloudiness”: Service and Elasticity. There is a third less obvious dimension that I’ll talk about later.
By definition (ours, at least), cloud services are services-oriented, but how much? At one end of the spectrum, a cloud service is highly standardized, uniform, one-size fits all. A service, but not very rich – probably designed more for high-volume and reach. I’m thinking John Belushi on SNL saying “No Coke – Pepsi!” At the other end, a cloud service is highly customized to meet cloud consumer needs, perhaps with a wide range of quality of service options – like Burger King’s “Have it your wayyyy!” (OK, that’s just marketing, but you know what I mean). In the early days of cloud computing, most cloud services will tend to be relatively simple, with limited options. As cloud services mature, more and more personalization and choices will emerge.
Elasticity is also a requirement, but how elastic? At one extreme, elasticity might be slow, or come in chunks. It might be difficult, and require some intervention. It might reach some low-end or high-end scale limits. There might be a high barrier to entry, or high barrier to exit. Kinda sorta elastic. At the other extreme, elasticity is rapid, very smooth and granular. Entry and exit are easy. Sourcing could dynamically move from one provider to another. The nirvana of utility computing. Early cloud offerings have elastic qualities, but they also have a long way to go. With Amazon EC2, for example, you need to define the size of server you need. You can add another one, but it takes a little intervention. This too shall pass.
I think there is another dimension, but I am struggling to name it (please let me know if you have ideas). Let’s call it market, for lack of a better term. At one end of the spectrum, a cloud service is highly monolithic, built on a customized architecture, an integrated top-to-bottom solution, perhaps less innovative and dynamic. A relatively closed market. I discussed this kind of cloud service in my last blog post. The other end? A cloud service built on top of cloud services, an ecosystem of services working together, very organic and dynamic. An open market of federated providers, constantly changing. These are quite rare today, but I expect more to develop over time.
The early cloud service providers are building castles in the clouds. Frankly, in these early days, we need to start this market with a few successful castles. But I expect dynamic and vital markets to bloom around and away from the castles as cloud computing matures. I also expect those monolithic providers to evolve to interact with the market at many different levels – but not right away. Will salesforce.com always have their own data centers? Do they want to? What about Microsoft? Maybe now, but later, after the market evolves? We will see.