Confusion Over a Definition for Cloud
Why is there still so much confusion over the definition of cloud? I have one and I know it's correct, you probably have one and it's correct as well! So who's right, we both are. Saying there's one definition of cloud computing is like saying there's only one way to architect a large ERP implementation or one way to build a Data Center. I'm personally confused as to why so many articles have been written about the cloud, with many of the writers still asking the question, what's the definition of a cloud?
I'm actually hoping that my flippant remarks about the cloud cause a few people to respond. I would greatly enjoy encouraging the debate on the DCP site. I'm also certain that regardless of what cloud you have in your future, it will have an impact on how you design your data center.
About a year ago I was asked to speak to a small group of IT folks at Roche in Palo Alto about virtualization and the cloud and what impact either or both of them would have on the data center. I was also asked to provide a definition for the cloud and at the time I hadn't written it down and it was only after writing it down that I started to realize how ridiculous it was to assume there is only one definition.
My first written definition
"Compute infrastructure that can be used as one large compute resource, where your components of memory, CPU, storage, & network are just capacity. This cloud would allow for access from anywhere and would create an environment that is protected through portability, geographic diversity and infrastructure (software/middleware) capabilities"
So what's your definition? Is it a virtual environment that allows you to provision systems at a moments notice to add capacity or is it more like a grid, where the workload is distributed across many fixed servers. The key here isn't in the definition, but rather it's in the requirements you have for success. My criteria for success aren't simple, but they do have a few minimum requirements; efficiency for the required workload, ease of support, application protection, and low admin overhead. If you create a "cloud" that fits your needs, then the main issue you'll have to consider that might be out of your control is whether or not you could move your environment into someone else's cloud or infrastructure. The last thing you want to do is create a box for yourself that limits your future flexibility.
As you consider what cloud might be right for you, don't forget to consider whether you should be planning to build your own cloud or preparing to move your applications into someone else's cloud. I'm not a proponent of either, but rather I'm in favor of maximizing the use of the IT dollars in my budget. You'll have to take a long hard look at your company and what their unique needs are relative to compute capabilities and make that informed decision for yourself. Keep in mind that if you pick a cloud environment that isn't proprietary then you'll have less of an issue moving it if the need arises.
Debate is welcome. Please respond with questions or ideas, all are welcome.