More and more we see references to the Computing Cloud appear in articles and blogs across the Internet. Just the other day Scientific American wrote and article highlighting the shift away from traditional data centers to the Computing Cloud. You can find that article here.
This article is interesting because it talks about the Black-Box data center strategy being aggressively pursued by Sun Microsystems. In a nutshell these Data centers give organizations the flexibility to place a fully functional Data Center wherever they need it. This flexibility allows companies to realize cost savings by locating their computing power either closer to where it's needed, or in locations with cheaper power costs.
These Black-Box data centers are tremendously powerful and cost effective, but are they part of the Computing Cloud? This begs the question, "What is the Computing Cloud"? How do OnDemand applications, utilities, data feeds and Black Box data centers all fit under the same definition? Is the term Cloud Computing in danger of becoming overloaded like Enterprise Content Management (ECM). A term so broad as to be unhelpful in helping classify and understand an applications function?
This confusion has led us to attempt to start defining and classifying the broad parameters of the Computing Cloud. This is a work in progress and an exercise in understanding what is, and what isn't in the Computing Cloud.
What is a Cloud Computing Application?
As you look across the spectrum of Cloud, Utility and Grid computing a clear separation in functionality becomes evident. What's more, companies utilize the Cloud for very different purposes.
Some organizations are looking to companies like Google, SalesForce.com and eBay for user level applications; Email, Blogging, Word Processing, Customer Relationship Management (CRM) and the like.
Other companies see value in leveraging infrastructure level components. Offloading storage and computing power into centralized service centers enable them to benefit from the inherent economies of scale in the Computing Cloud. At the same time they can take advantage of best of breed data centers, network management and operational capabilities.
Finally companies look to the Cloud for discreet transactional information and capabilities. Want to know what the temperature is in San Francisco? Just look it up on a Web Service call at XMethods. Trying to calculate the risk associated with the Yen carry trade? Look up the current Yen to Dollar conversion rate at XIgnite.
While these Cloud Computing applications offer very different capabilities, and solve different business solutions, they do share common elements.
- Computing Cloud applications are shared between organizations and reside on a common platform.
- Computing Cloud applications are accessed remotely across an Internet connection.
- Computing Cloud applications are priced using different revenue models than Enterprise and Traditional Software.
Types of Computing Cloud Applications
Different organizations use the Cloud for different reasons. By compartmentalizing the Cloud we start to understand how and why organizations use it. The natural divisions seem to be; Applications, Infrastructure and Transactions.
Applications encompass all of the services delivered directly to an end user. These are typically web-driven programs that help users with day-to-day business functions. For instance Google Desktop Apps, SalesForce.com, Microsoft Live and Siebel OnDemand CRM are all instances of Cloud computing applications.
Cloud Infrastructure components are services that provide capabilities you would typically associate with physical hardware or application development, specifically storage and computational power. Amazon is a classic example of making infrastructure capabilities available in the Cloud. Their Simple Storage Service, Elastic Compute Cloud and Simple Queue Services are all instances of Infrastructure capabilities. Google's own Data API is also a Cloud Infrastructure component.
SalesForce Apex and Adobe's Apollo application development platforms are another example of Cloud Infrastructure components. Specifically these platforms give developers storage, processing and development capabilities that deploy onto a remote Cloud infrastructure. Developers can create, test and deploy entire applications that run completely within the Cloud Infrastructure which in turn gives companies tremendous flexibility to create value added applications, while significantly lowering the risks and costs associated with large scale Web based deployments.
The rest of the Cloud falls under the Transactional classification. Transactional elements of the Computing Cloud help you perform discreet actions that either retrieve, manipulate or transform data and information. Cloud Transactional capabilities range from the thousands Web Services available from organizations like XMethods and XIgnite to Amazon's Alexa services, encompassing everything from Thumbnail creation to the Webs top sites.
This leaves us with what is not part of the Computing Cloud. I would propose that while Black Box service centers are an attempt to help with some of the same problems that the Computing Cloud solves, it is not by definition part of the Computing Cloud. An organization might use a Black Box service center to deliver a Cloud Computing component but the Black Box itself is not inherently a part of the Cloud. It is just an extension of an existing network.
Additionally not all Web Services are Cloud Computing. At it's core a Web Service is just a way of communicating between two applications. It might be a key mechanism of delivering Cloud Computing capabilities, but is not inherently part of the cloud itself.
Summary
There are real fundamental issues that IT organizations are struggling to solve today. The explosion of information, connectivity and user expectations are rapidly increasing the demands put on MIS departments. Add to this the drive for cost containment present in every modern company and you have a real pain point.
Cloud Computing is beginning to offer viable solutions to these problems. By using Cloud Computing solutions companies can stop spending time on commodity Application, Infrastructure and Transactional capabilities and focus on adding real value and differentiation through their IT departments.
IT departments will use Cloud Computing for three reasons - Cost reduction of commodity application deployments, management of peaks in infrastructure demands and delivering to business segments that demand linear or exponential growth in computing power, storage and delivery.
Through the next two to three years we will see companies begin to experiment with Cloud Computing in test or pilot applications. After that companies will start to adopt Cloud Computing wholeheartedly. However, companies will not abandon their data-centers. Instead Cloud Computing will become an integral part of delivering a companies value, sitting right alongside and integrated directly into their existing network and data center.