Showing posts with label SaaS. Show all posts
Showing posts with label SaaS. Show all posts

Tuesday, July 22, 2008

The Confluence of Cloud Computing & the Semantic Web – Part 1

In the following series of blogs I will attempt to capture the nuances of the dance between these two major mega trends – Cloud Computing and the Semantic Web.

For purposes of this blog, it is suffice to say that these emerging trends have yet to realize mainstream adoption. In fact, we are still grappling with the concepts and clarity of the real value.

Just in the last couple of days I have been exposed to surveys and articles that suggest cloud computing is low on the priority list for CIOs and not well understood Study: IT jobs will drop in 2009, and the real value of the Semantic Web is suspect - The Semantic Web, Syllogism, and Worldview.

Despite the skepticism and adoption rate, both of these mega trends promise to have disruptive influences on the way we do business. These mega trends are taking well established computing ideas, and expanding them and making them work across the Internet. For many, cloud computing is an extension of grid/utility computing, software as service (SaaS), managed services platforms, web-services and platform services – What cloud computing really means.

The Semantic Web, as described by Tim Berners-Lee is an extension of the existing web paradigm, where the target audience is the human. The new extension is intended to develop languages for expressing information in a machine processable form; interoperability taken to a new level.

Tim Berners-Lee defines the Semantic Web as a web of data that can be processed directly and indirectly by machines. “The Semantic Web is a web of data, in some ways like a global database.” - Semantic Web Road Map. The promise being that computers can search, acquire, present, filter, and manipulate data in a useful way based on the data’s meaning and its relationships. This is accomplished by defining structured sets of information and inference rules that allow machines to understand the relationship between different data resources.

One of the promises of the Semantic Web is ease of integration of information across a wide spectrum of data artifacts and systems. There are solutions to the data integration challenge but require extensive transformations and one-to-one mappings between elements across systems and repositories. What puts the promise of the Semantic Web above the fray is the ability to allow a machine to connect to any other machine and exchange and process data efficiently based on built-in semantic information that describes each resource. Metadata that allows machines to understand relationships and context. This semantic information allows disparate data sources to become compatible through adopting a consistent relational model across structured and unstructured information.

Conceptually the cloud represents a ubiquitous set of computing services that are interconnected and seamlessly exchange and process information. But as Galen Gruman accurately states, in his article, What cloud computing really means, “Today, with such cloud-based interconnection seldom in evidence, cloud computing might be more accurately described as "sky computing," with many isolated clouds of services which IT customers must plug into individually. On the other hand, as virtualization and SOA permeate the enterprise, the idea of loosely coupled services running on an agile, scalable infrastructure should eventually make every enterprise a node in the cloud.”

As these mega trends mature the confluence of the two may indeed bring to fruition the promise of loosely coupled ubiquitous services that have context and are ultimately understood by machines.

In the blogs that follow I will explore what all that really means and what is the real value?

Sunday, July 15, 2007

Classifying the Computing Cloud

Introduction

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.
  1. Computing Cloud applications are shared between organizations and reside on a common platform.
  2. Computing Cloud applications are accessed remotely across an Internet connection.
  3. Computing Cloud applications are priced using different revenue models than Enterprise and Traditional Software.
There are many other differences between Enterprise/Traditional applications and the Computing Cloud. However the three factors above seem to be common among all the Cloud Computing applications we looked at.

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.