What is cloud computing?
The first major challenge associated with "cloud computing" is accurately defining it. Wikipedia defines cloud computing as, "a paradigm in which information is permanently stored in servers on the Internet and cached temporarily on clients that include desktops, entertainment centers, table computers, notebooks, wall computers, handhelds, sensors, monitors, etc."
Certainly the Internet-based angle is what most people tend to strongly associate with cloud computing. Examples like Google Apps and software-as-a-service (SaaS) are cited as proof of this definition. WhatIs.com defines cloud computing as "a computing paradigm in which tasks are assigned to a combination of connections, software and services accessed over a network. This network of servers and connections is collectively known as 'the cloud.'" WhatIs.com goes on to also provide a definition for a private cloud.
While these definitions are useful, they prompt readers to ask a simple question: How is cloud computing fundamentally different than grid computing or utility computing? In reality, what most people envision as cloud computing today is a blend of grid computing, utility computing, SaaS, virtualization and Web technologies. The fact that cloud computing is more of a buzzword used to redefine existing technologies will impact the adoption of cloud computing as a whole.
The challenges around adopting cloud computing
The lack of definition around cloud computing extends to more than just the offering itself. Despite(or perhaps due to) the involvement of multiple vendors in the cloud computing space, end users have yet to see the formation of reliable standards with regards to cloud computing. For example, there's a lot of talk about a "cloud federation," but standards for how that will actually occur do not exist at present.
What about moving resources from one cloud computing environment to another environment? Is it possible to move resources from one cloud to another, like from an internal cloud to an external cloud? What if the clouds are built on different underlying technologies? This doesn't even begin to address the practical and technological concerns around security or privacy that come into play when discussing external clouds interacting with internal ones.
Given that virtualization typically plays a significant role in cloud computing environments, the interoperability of hypervisors and guest virtual machines (VMs) will be a key factor in the acceptance of widespread cloud computing. Will organizations be able to make a VMware ESX-powered internal cloud work properly with a Xen-powered external cloud, or vice versa?
Although virtualization vendors are talking about interoperability, users have yet to see any significant progress made on that front. The Open Virtualization Format (OVF) has been approved as a standard, yet broad OVF support is still lacking. VMware has the most complete implementation of OVF, but Citrix, Microsoft, Novell and many others are lagging behind. It seems to me that these issues need to be addressed to make cloud federation a reality.
VMware's vCloud initiative is a great strategic vision, as is Citrix Cloud Center (C3). When we take a deeper look at these strategic visions, though, we begin to see a lack of tactical movement on key definitions, standards, interoperability, security and privacy. The vendors have yet to provide concrete, substantive answers on how these challenges will be addressed. It seems logical that until these tactical challenges are met, the strategic vision of pervasive cloud computing will not see the rapid and explosive growth many are projecting.
ABOUT THE AUTHOR: Scott Lowe is a senior engineer for ePlus Technology Inc. He has a broad range of experience, specializing in enterprise technologies such as storage area networks, server virtualization, directory services and interoperability. Previously he was President and CTO of Mercurion Systems, an IT consulting firm, and CTO of iO Systems.