Monday, March 03, 2008

Is Cloud Computing just Provisioning?

There is more and more buzz on Cloud Computing (and, it just happens, that is why I've been too busy to blog lately ;-). However, one of the common assumptions that seems to be floating around is that Cloud Computing is nothing but a provisioning exercise. As an example (btw, an example of some pretty cool technology) is this reference to Cohesive Flexible Technologies which does some cool stuff with provisioning. Or, 3tera has a great demo for provisioning.

But provisioning is only a part of the story, and, in some ways, only the beginning of the story. There are several other key elements that make cloud computing ultimately more valuable in a business sense. For instance, virtualization is almost a requirement for great cloud computing. Several solutions are already based heavily on virtualization, but most provisioning solutions to date have been focused on deployments on physical hardware, with a few looking at deploying on virtual hardware. Why is virtualization important? Hmm, short answer is that it allows consolidation, migration, isolation, security, and several serviceability requirements than increase the overall value of the cloud. I may go into more depth on that in a future article because the benefits may not all be as visible on the surface.

Another part of the story is image managment, which today is less well evolved than it ultimately needs to be. I've mentioned rPath & rBuilder previously, Amazon provides views of images, but we are basically in that early stage of image management where the number of solutions and repositories tends to boggle the mind. This portion of cloud computing will need some additional standardization, improved tooling, better life cycle management, etc. and will be key to deploying solutions within clouds.

Management of the life cycle of applications or images (or virtual appliances, as some call them) within the cloud is also a challenging area in which there is very little product available today. For instance, people tend to deploy singletons or redundant sets of servers or images. But HA hasn't done a large merge yet with cloud computing. For instance, it should be possible to deploy a virtual appliance which "rarely fails" or "never fails" from a customer point of view. HA solutions can be crafted that way today, but usually they are hand tuned, hand configured. In a true cloud computing environment, that should be merely a parameter to the deployment.

Other aspects include handling things preventive maintenance - does your service go down whenever someone needs to install a new service pack or update the hardware? In a cloud environment, there should be other resources your application could use - so why not just migrate your application to those resources without disruption? Oh, but how do you handle migrating network connections, how do you handle access to the license server? Is someone collecting usage information for charge back? How is that usage information integrated across the cloud for charge back? How do you measure and manage your response times for multi-tiered applications?

I think all of these are aspects that will eventually be included in the expectations of things that a Cloud just handles. And, some of the services that a Cloud will soon offer will cover those bases and potentially many more. Clouds are much more than just provisioning.

Labels:

Wednesday, January 02, 2008

Simplifying IT

It seems like it has been ages since my last blog entry. Little things like a new project, a vacation, some holidays all seemed to pull me into new and interesting things, most not involving a computer. And while I thought about blogging from the beach in Maui, there always seemed to be a little umbrella drink between me and my Blackberry (although now I really understand why many refer to them as "crackberries"). But, at last the new year rolls around and I'm working myself back into my normal routine. Slowly. With help from Starbucks. Luckily, a wise few chose to extend their holidays through the end of the week so I could return to my labors of love slowly, gently, and with a little time to blog.

In our last entry, I was sitting alternately in meetings about Green Computing, about large, google-sized farms of computers, about complexities of management, about strategies for simplifying management of large farms, about costs of machine configuration, about the human cost for managing complex environments, about the costs for securing, installing, updating, configuring, reconfiguring, administering, relocating, cooling, powering, virtualizing, migrating, reconfiguring again, replacing, modernizing, consolidating, and, oh, then my head exploded and I wrote a blog entry.

Now, all these things don't seem to be isolated events, but most of these problems seem to be showing up at nearly every major data center. A few data centers managers are very proud that they have installed computers 5 times faster than their old ones, and thus reduced costs, or they have installed the latest high powered cooling systems, or installed the largest data center powered directly from the Hoover Dam and thus, they project, they have managed to avert another data center crisis for a year or two.

Of course, most improvements have come at the cost of the environment, or perhaps the data centers fix (which doubled the power consumption for the company) doesn't show that they increased their annual power bill by more than the cost of all of the upgrades. The most common solution seems to be to add more of your favorite dual processor Intel or AMD based system, some with a whopping two or four processors, each supported by several fans, various power supplies, several co-processors, a variety of PCI cards, oh, and gigabytes and gigabytes of memory per machine (memory gobbles up what, now, up to about 20% of your power in some configurations?) Yet the workloads continue to double or triple in size every year. That is nearly an order of magnitude in compute power every three to four years. On average, that increase in workload seems to exceed Moore's Law, meaning that simple upgrades of processors and pure technology replacement is never going to keep pace with the growing rate of compute/storage/network consumption.

Vendors are working hard to address parts of the problem, as I alluded to in the last article. Yes, processors are getting faster and memories are getting more dense. Cooling doors for cabinets are taking out some heat. Virtualization is starting to improve efficiency, but at the cost of increased complexity for systems administrators. All of these improvements combined do not seem to be keeping up with the explosive rate of growth in terms of consumption of compute cycles.

I think we are due (overdue, in fact) for a paradigm shift.

I believe we have many technologies at hand which have been poised for a while to provide some relief from this fast growing cycle. There is even a term for this paradigm shift that several large companies are starting to use. While the meaning of the term is still fairly open and ambiguous, I believe it pulls together some basic principles hold some promise for alleviating many of today's pain points in computing. Specifically, this paradigm shift is being called "Cloud Computing" and provides a framework which, over time, can help alleviate not only the rapid growth of workloads, but also be a focal point for energy management, for abstraction of workloads from physical hardware, and ultimately, for the overall simplification of IT.

Labels: