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

Linux is the answer if cloud computing & Service Oriented Architecture (SOA) is going to work… this open-source operating system is the future of SOA & cloud computing.  Let’s present the argument:

Microsoft knows what it’s doing with SOA and Vista

Traditional operating systems will be dead in a few years.   they’ll be killed by service-oriented architecture.  That’s what my money’s on and if you think I’m a rabid Web 2.0 nutcase then you can’t see the bigger picture.  Microsoft have realised it.  In fact, that may (somewhat ironically) be one of the reasons Vista was such a retrograde step in opening up Web 2.0: Microsoft wants to milk us for as much as possible, and the best short-term plan is to positively hold back cloud computing & SOA for as long as possible.  They know Service Oriented Architecture is coming, but as the biggest player by far in the exisiting OS market, why accelerate its growth?  It makes sense to stave it off as long as possible and rely on a business model that they know works.

The reason Microsoft is starting to come round now is that while they don’t wish to accelerate the advance of cloud computing (and miss out on flogging us Windows 7, 8, 9 & 10 for our very earth-based desktops) they want to be the first to the table once a certain tipping point has reached and cloud computing is not only inevitable but immediately forseeable.

Imagine a dog.  This dog has knocked a big butcher’s block off the kitchen table, and two big hunks of steak have fallen off.  One steak is within reach, so he sits there and starts work on it.  The other steak has landed on the other side of the room.  Now, he’s not the only dog in the house.  There’s another one upstairs.  This dog upstairs has heard the commotion and starts coming down.  Now does the first dog immediately rush off to defend the second steak before the first dog gets there?  No.  He’s got enough time, so he wolfs down the steak he’s got before doing an about-turn and pouncing on the second steak, before the second dog gets there.

OK… this is a very laboured and imperfect analogy: the first steak is the existing operating systems and software market, the second the cloud computing and web services market.  The first dog is Microsoft and the second represents its competitors.

The Future of SOA, SaaS DaaS and PaaS

As I forecast in this post, one sensible (but shocking) strategy for Microsoft is to “leap-frog” the market and invest heavily in cloud-based “operating systems” platforms and use this “operating system” to roll out software-as-a-service.  There will be a place for wholly deskbound solutions (late adopters – mostly home users) but this market will be a fraction of what it is now.  I predict Microsoft will concentrate their development on the platform in the cloud and stop pushing their desktop operating systems so hard.  Why?  Because more and more people will be running Linux.  It’s free, and it’s becoming more and more widely supported.  Why should people invest in two operating systems? They won’t.  They’ll use Linux to boot up their computer and use a cloud-based system to interface with software, their desktop, etc.  But it’s going to be messy.  Some people will be running Linux, some Apple, and some will be using Microsoft’s latest home OS.  But the real future is in the cloud and whoever can create the most ubiquitous, one-size-fits-all solution will dominate the market.  Remember, we’ve already seen it with Microsoft and Windows: by leaving the hardware to others (which was seen as a ghastly mistake at the time), Microsoft made an awesome coup in the OS and thus software market.  It scored twice by capturing a platform: it sold the OS and could roll out the software too.  Now Microsoft, if they have any sense, will concentrate less on the earth-bound operating systems market for everyone to fight over and concentrate on making a solution in the cloud.  It should stop beating us round the face with more bulky additions, millions of add-ons and lines of code in its OSes and give us a neat, trimmed-down, lean, super-fast desktop OS that hooks into the real delivery system – the OS in the cloud.  But the OS in the cloud is where the real money will be made because more and more people will switch to Linux – and eventually Microsoft’s earth-based OS business will dry up.

Linux users need to get their heads out of their asses

There’s something about Unix users.  They’re often too clever for their own good.  They’re often smug.  They’re always bloody clever.  They’re a part of a club and often like to look down on the people who use Windows: the double-clickers, the Office buyers, the Wizard users.  Unix users like to have a relationship with their computer.  It’s more personal.  They’re probably built their computer themselves.  I have a suspicion that many Linux users are pleased that it’s more troublesome to use for the average user.  It keeps the riff-raff out of the club.

Here’s the opinion of one Linux user, Scott:

I am sorry, but the Linux world has got to get over the “geekie-ness” and get something out that is for the users. Yes, you can build it, customize it, make your own distro for all it’s worth. The bottom line is that people want an OS that runs the software and hardware they use.

I am an avid Linux and long time Mac user and I have to say, I feel like I am fighting with the OS much of the time. Getting drivers to work is just one of my pet peeves. Yes I can spend my time figuring it out on google, but why? Say what you want, but I can boot up OS X or Windows and they all work (software and/or hardware)…..and you do not need to be a “geek” to get them to work. OS X is what Linux should aspire to be….simple, powerful, easy to use, with enough play under the hood to satisfy any geek.

We can say…virus free, runs on old hardware, and “I do not bow to the MS empire” all you want…but the bottom line is that Linux does not work or run the software or hardware people want….in the home or business. If it did, do you not think more people would be using it?

What I do find funny is that the Linux/OpenSource community may have bigger ego’s and heads that Mac users.

Well, Linux users may take umbrage at my sweeping generalizations, and some may argue that it’s not in their interests to become mainstream anyway (they’re happy as they are) but as I see it, a chance for Linux to come into the mainstream is a major opportunity for a great OS – after all, what’s irritating for existing users of Linux at the moment?  Lack of support from hardware manufacturers, that’s what.  Getting drivers that work.  It’s not mainstream so it’s not supported, so users have to pointlessly wait around for the community to hack the problem.  Adoption by the mainstream would eliminate this problem.  The community would grow.  Linux would be the ultimate King of the operating System.  It’s free so it would become pre-installed on all systems.  People who wanted to “upgrade” to Windows would become fewer and fewer.

Windows users need to get their heads out of their asses

There is a great culpability attached to Windows.  OK, things might go wrong, but you’ve always got someone to blame.  In fact, it’s become almost a sport.  It doesn’t really matter if they can solve your problem or not (which is, I suppose, a good job); the point is it’s Not Your Fault.  With Unix, you have no-one to blame but yourself for choosing the bloody stupid free stuff in the first place.  In this sense, there is a problem.  As I see it, the solution is one of these:

a) Retailers offer Linux customer support (but they won’t know what the hell they’re talking about)
b) Hardware manufacturers offer customer support (Massively unlikely)
c) Businesses are set up that offer a flashy front-end to Unix and charge a nominal fee… mostly for customer support

Asking the community is not enough for the late majority onward: they want a number to ring.  A figure head to hate.  Someone to Blame.  They’ve never been sure of computers and they pretty much need that.

Service Oriented Architecture: Exisiting Open-Source Solutions

Take a look here for some discussion on gOS 3.

Advances are being made and for me, the future of SOA, software, data and platforms as a service is very clear.  As ever, I heartily recommend taking a look at The Web Service website to have a look at some of the possibilities of Data as a Service and cloud computing.

As ever we’ll continue to look at Service-Oriented Architecture: Software as a Service, Data as a Service and Platform as a Service on this blog… if only to ask the pernenial question: “What is Service Oriented Architecture?!”

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.

Does Microsoft know what it’s doing with Service Oriented Architecture (SOA)?  Despite some half-hearted moves, it has seemed very reluctant to embrace Software as a Service (SaaS) and SOA.

According to Jason Hiner:

It’s easy to forget that when Microsoft launched Windows XP it was actually trying to change its OS business model to move away from shrink-wrapped software and convert customers to software subscribers. That’s why it abandoned the naming convention of Windows 95, Windows 98, and Windows 2000, and instead chose Windows XP.

The XP stood for “experience” and was part of Microsoft’s .NET Web services strategy at the time. The master plan was to get users and businesses to pay a yearly subscription fee for the Windows experience — XP would essentially be the on-going product name but would include all software upgrades and updates, as long as you paid for your subscription. Of course, it would disable Windows on your PC if you didn’t pay. That’s why product activation was coupled with Windows XP.

Microsoft released Windows XP and Office XP simultaneously in 2001 and both included product activation and the plan to eventually migrate to subscription products. However, by the end of 2001 Microsoft had already abandoned the subscription concept with Office, and quickly returned to the shrink-wrapped business model and the old product development model with both products.

The idea of doing incremental releases and upgrades of its software — rather than a major shrink-wrapped release every 3-5 years — was a good concept. Microsoft just couldn’t figure out how to make the business model work, but instead of figuring out how to get it right, it took the easy route and went back to an old model that was simply not very well suited to the economic and technical realities of today’s IT world.

Blinkered

Blinkered

Despite the fact that they’ve no problem with shoving any manner of horror down our throats (User Account Control, anyone?) Microsoft has shied away from taking the lead in SOA and instead shuffled backwards after it attempted to prime the market with XP; it’s taken what it must have considered to be the “soft option”.

They’ve forgotten how to be innovative. And worse, Vista is a reaction to perceptions that were outdated before it was even released.

Vista is vulnerable and Google have sensed it – this has to be the reason why they’re pushed out Chrome onto the market.  The real idea behind it is this: when web services are adopted by the mainstream they will be able to use Chrome essentially as a web-based operating system within an operating system.  If we are looking for the perfect way to introduce a more service-based architecture, browsers are the key:

1) They’re familiar to the user;

2) They can be used as an Operating System as a Service painlessly, with users paying for the service on a rolling basis through advertising.  In this respect Google are the only players who’ve really nailed user-friendly advertising, with their low-key targeted ads.

As the ubiquitous operating system and browser provider, Microsoft had the chance to implement real change and blew it twice – once with Vista and again with IE7.  Changing the OS may have been a little bit of a gamble, but just like the dead Vista has proved, people would have been happy to “upgrade” to XP… Vista is a lame duck and represents a gamble that Microsoft bottled out of.  The horribly innacurately named Vista (I think “Blinkered” is more fitting) should have been the next stage of SaaS, aimed squarely at enterprise, while XP was still relatively new.

SOA is a destructive technology and Microsoft needs to take a pre-emptive strike.  Unfortunately, it won’t have the luxury of buying up upstart competitors because… well, because the main upstart seems to be Google, who are not so small and won’t sell.

Service Oriented Architecture is an umbrella term very similar to that other umbrella term, “web services”.  SOA refers more to how these web services interact, however, in a system.  Below is a diagram I’ve knocked up which shows in a very crude fashion the difference between traditional models and SOA.

SOA

SOA

I hope this explains it a little… frankly, some of the diagrams out there that are supposed to explain SOA simply look like someone’s eaten a technical dictionary, felt ill and thrown it all up.

I’ve explained SaaS and DaaS in some detail in this blog.  We’ll talk about PaaS later.  Expect this diagram to pop up again when I do.

You can reproduce this simple diagram wherever you like so long as you give a little attribution by linking back to this blog.

Edit: here’s a more detailed description of Service-Oriented Architecture.