What is cloud computing?

This isn’t another quick-start guide to cloud computing and Service-Oriented Architecture (though you can follow that link to get to one); it’s an investigation into what people are searching for on Google.  So what are the top terms for Cloud computing?  It’s no surprise that “what is cloud computing?” is near the top of the list.  Braving Google’s wrath by my apparent keyword spamming, here they are:

cloud computing
ibm cloud computing
what is cloud computing
microsoft cloud computing
cloud computing wiki/wikipedia
elastic computing cloud
cloud based computing
cloud computing definition
cloud computing services
cloud computing market
cloud computing security
computing in the cloud
cloud computing conference
cloud computing software
define cloud computing
gartner cloud computing
sun cloud computing
cloud computing blog
cloud computing solution
free cloud computing
cloud computing uk

So what does this tell us about people’s relationship to cloud computing?  Well, you can’t really tell unless you know how many people are performing the searches.  Surprisingly, Google tells us that while 27,100 people per month searched for “cloud computing”, only 480 per month asked the question “what is cloud computing?” … and from there, the numbers trail off quickly to just a trickle of people making searches on the terms lower down.

So does this mean that people are really quite savvy with the concept of SOA?  I don’t think so.  I think the 27,100 figure is significant, and that many of the people performing this most basic search are in fact looking for a definition of cloud computing.  The fact that the search pattern is so grossly top-heavy, with not so much a long tail of minor searches as a long dribble tells me that people either have a vague idea of the term, or they’ve never heard of it at all.

Is this surprising?  Perhaps it should be, because cloud computing has been around for longer than a lot of people think.  (And I am talking about the current set of “buzzwords”, not reflecting on how “computing’s come full circle” with these new but old concepts of dumb terminals etc.)

Perhaps the main problem is that there are just too many terms flying about.  Let’s try and categorize them all:

Cloud Computing
“in the cloud”
Service Oriented Architecture (SOA)
Web Services
Software as a Service (SaaS)
Platform as a Service (PaaS)
Data as a Service (DaaS)
SOAP
WSDL (or even wisdl)

I think these are the core components of the terminology attached to SOA and cloud computing.  Actually, looking at them, they don’t look too bad.  That’s when they’ve been roughly sorted into some kind of conceptual order though.  Mix ’em up and introduce them to the uninitiated and it starts to look worse.  The biggest problem, though, is that nobody’s terribly sure what all of these acronyms and even backronyms are supposed to stand for.  Take DaaS – it could mean any of:

Data as a Service
Database as a Service
Data Warehousing as a Service
Desktop as a Service

It’s also a Belgian beer.  Now this uncertainty of what all these terms are actually supposed to mean is not exactly helping people get things straight in their minds.  And worse, the terms all interlink in one horrible mess.  I’ve tried to straighten things out a little with this diagram:

Web services, SOA, DaaS, SaaS and PaaS

Cloud computing diagram: Web services, SOA, DaaS, SaaS and PaaS

But really it’s the opposing forces of everyone trying to peddle their own definitions that causes many of these problems in the first place.  Not that I’m going to desist… of course, my terms are the correct ones.  I mean, let’s look at the tangled web of saying DaaS means “desktop as a service”: It’s a desktop as a service.  Which makes it also a platform as a service.  It’s also a kind of operating system as a service (I guess they’re trying to appease the pedants by veering away from calling it an OS as a service) as well as a manner of software as a service.  Hang on… it’s everything!!  It can fit into all the categories.  These terms slide over each other like Venn diagrams of doom, tectonic plates set to annihilate each other with obfuscation.

So let’s just stick with the diagram for the terms SaaS DaaS and PaaS and call it a desktop delivered as a web service.  That’s not confusing.  Order is restored.

Tomorrow I might take a little look at some other popular search terms and try and see where they fit into the picture.  I’ll also be establishing a comprehensive lexicon that is transparent and easy for everyone to get a handle on.  In the meantime, I would be interested to hear about people’s definitions of the various acronyms flying around out there.

Advertisements

Service Oriented Architecture: what is SOA?  And what are SaaS, DaaS and PaaS?

There’s a lot of unnecessary bumf out there at the moment and a bucketload of people who are sounding off about Service Oriented Architecture … unfortunately, most of them don’t know their SaaS from their PaaS, their PaaS from their SOA and their DaaS from their PaaS.

Hopefully I know my SaaS from my elbow so I’m going to try and bring together what some observers have said and add my own take on it; I’ll also try to avoid any corporate nonsense words and PAINSINTHEASS (The P and the A stand for Pointless Acronyms, you can dream up what the rest stand for…)

Hopefully, I shouldn’t have to explain too much as this diagram should help: (by the way, feel free to use the diagram if you want but please include a link back to this blog 🙂 )

DaaS, SaaS and PaaS

Service Oriented Architecture: DaaS, SaaS and PaaS

So here’s the run-down:

We’ll start from the bottom and work our way up.

Data as a Service is the outsourcing of data management.  Someone “in the cloud” hosts the data you need.  This can be:

  • “Public” Data, e.g. Geographic Coordinates, Business Data from Dun & Bradstreet, Addresses etc.
  • “Private” Data, e.g. your company’s personnel files, stocktakes, questionnaire results, whatever.

This Data as a Service may give you access to information like Dun & Bradstreet’s Business Data without you having to sell half your stock to use it.  In this respect people offering Data as a Service are like middle-men; they buy the licence for the information and let you use it for a reduced rate.

With private data, the incentive to take the data-hosting outside of your company’s hallowed walls is that the DaaS service provider will probably offer some way to hook software or interfaces up to your data more easily than if you had to fiddle with a SQL server.  So in short it stops your hands getting grubby with too much development.

I hope you’re still with me!  Now we move on to…

Software as a Service, or SaaS, which is the outsourcing of software.  Someone “in the cloud” has built a nifty piece of software and is hosting it on their server.  If you want to use it, rather than offering you a download or mailing you a CD, they let you use the software as a service: you subscribe to the software rather than “buy” it outright.

It’s the perfect partner for DaaS: one service company could both host the software you need to use and host the data that it uses: for instance, it could host address data (zip/postal codes etc.), as well as the software that hooks into this data – an intuitive data-lookup tool and form-filler, for instance.

A Platform as a Service is an effective way to roll out all these bits of software that people are making.  If a company has invested a lot of time, effort and money into developing a piece of software, they want to send it out into the world as quickly and efficiently as possible.  And with so many people out there making so much software, end-users like to have them delivered over familiar platforms.

Here’s a great example: look at Facebook and all of the programs you can add into it: poker, friend wheels, vampire games, etc.  Facebook is the platform; those cute little games are the software.  Imagine all those little games set up on their own websites… would you ever use them?  Would you even know about them?  The thinking behind a platform as a service is sound.  If anyone needs any more convincing, look at Scrabulous: after existing solely on its own website, attracting a (not unhealthy) 20,000 users, the application was launched on Facebook in 2007.  On the Facebook platform, it attracted nearly a million devotees, with 500,000 people playing daily.  Ultimately, though, Scrabulous had to be taken off Facebook for copyright infringement!  I doubt whether it still has 500,000 active users.

In the world of business enterprise, Salesforce.com offers a Customer Relations Management (CRM) platform that software as a service vendors can plug their applications into.

In the Software-and-Platform-as-a-Service model, the end user is divorced from the development of the application.  They probably don’t think for a second about how the service they use was developed and delivered to them; they just plug in and play.  But!  There’s more than one way to skin a cat.  As well as delivering their software through a familiar platform, software developers can offer their applications up for mashups.

A note on Mashups

If the end-user has the technical know-how, they can bundle up several bits of software together to make a new product with, say, a familiar interface.  They may wish to use this mashup themselves, or they may even wish to offer the mashup to others through their website.

A great example of this is Google Maps.  Let’s consider this scenario: a services company buys geographic data and offers it to users on a subscription basis (Data as a Service).  They develop basic hosted software that plans a route along roads from this data and offer this up too (Software as a Service).  Now, the user can choose to mashup this software with Google Maps to make a visual representation of the route the software plans.  Or they can create a mashup from any other programs out there; perhaps they don’t like Google Maps and choose to plug it into MultiMap instead.  Whatever.

So that’s a run-down of DaaS, SaaS and PaaS, as well as a mention for Mashups.

DaaS, SaaS and PaaS are all web services.  As has been explained, they are all services rolled out over the web.

This leaves Service-Oriented Architecture, or SOA.  In short, SOA is how any or all of these web services operate and interact.  The name, really, is quite self-explanatory.  SOA is not software, it’s not a computer, it’s not the internet and it’s not your neighbour’s dog.  It’s just a way of describing how the web services DaaS, SaaS and PaaS work together in a system.  To quote Bradley F. Shimmin (Principal Analyst of Application Infrastructure, Current Analysis LLC):

SOA is all about how software is structured and SaaS is all about how software is used.

The clue’s in the word “architecture” really, isn’t it…?  If we were talking about a house, we wouldn’t assume “architecture” to mean a brick, or a window.  “Architecture” is not specifically any of these things, but it is all of these things: it’s how the discrete individual elements form a whole.  To take the house analogy further, we could take Data-as-a-Service to be the foundations of a Service-Oriented Architecture; Software-as-a-Service is there with the bricks; The Platform-as-a-Service could be the housing estate the house is built on and marketed through.  If we were going to get needlessly complex we could say that SOAP and WSDL were like the mortar gluing the house together, but I said we’d stray away from PAINSINTHEASS.

So SOA is the term for the whole picture.

Of course, to make things a little bit more tricky, the architecture is seldom completely service-oriented.  Perhaps I subscribe to geographic data-as-a-service but build my own in-house software (say, a store locator wizard).  Or maybe I buy my data as a one-off acquisition on a CD (say, a list of local businesses), host the data on a MySQL server, but to use the data in an application (say I want to have a “local business lookup” feature on my website), subscribe to a software service (with perhaps a pay-per-lookup pricing model).  Both can be seen as having a Service-Oriented Architecture, but of course not every step on the road to delivering something to the end-user has to be provided as a service.

I hope this little rundown helps.

Here are some of the advantages of SaaS and DaaS.