I've always got a "long list" of blog entries I want to write (unfortunately it often takes me ages to get around to writing them). I've been meaning to write a couple of possibly dull-but-worthy posts for the past couple of months now: one on why Cloud Computing is like SOA, and one on why it isn't. But then, just very recently, I read a tweet from ‘thought leader' Peter Hinssen, saying "Cloud Computing will remove the CIO from the board table". That was all the catalyst I needed to get off my backside and write some of my thoughts down (I'll explain why in a moment).
Cloud Computing: building on SOA principles
So let's get to the topic at hand: why is Cloud Computing the new SOA?
From an IT or enterprise architect's point of view, there are definitely similarities. If we put the commercial and financial aspects of the Cloud Computing model to one side for a moment, and just concentrate on how Cloud Computing platforms work to deliver software functionality, then what we're looking at is a software service delivery platform - something that is conceptually at the heart of every SOA initiative. From an application and data integration standpoint, too, the principles of SOA shine through Cloud Computing very strongly indeed.
I firmly believe Cloud Computing and SOA are strongly related at a conceptual level, too. Back in 2005 when I formed MWD Advisors, our main focus was SOA and its potential to help forge new, more structured relationships between IT organisations (acting as service providers) and their "customers" in other parts of a business. We believed that SOA - done right - could help organisations think about IT as a service delivery discipline from "cradle to grave": not only thinking about service delivery by pursuing ITIL, but also by looking at what the idea of service delivery meant from a software development and integration perspective.
With that thought in mind, I see Cloud Computing as another route to achieving "service oriented IT" that is complementary to, and builds on, SOA adoption.
Falling into the SOA trap?
So why did that tweet about "Cloud Computing removing CIOs from board tables" make me finally put fingers to keyboard on this topic? Because as well as being excited about the potential of Cloud Computing to build on the good things about SOA, I'm worried that Cloud Computing could be dogged by some of the negative aspects of SOA too.
Although some organisations have stuck with SOA and seen really significant results (cultural as well as technical), many organisations have also been turned off the idea - by grandiose claims, unsubstantiated hype, and unnecessary complexity exacerbated by industry standards bodies (the very organisations you'd hope would be aiming to make things simpler). All these things were fuelled by IT vendors collectively conspiring to create Towers of Babel - focusing too much on trying to shape the emerging market, carry out "land grab" manoeuvres and leapfrog the competition - and not focusing enough on needs of customers. It wasn't the IT industry's proudest moment. My worry is that the same could easily happen again with Cloud Computing.
Hinssen's tweet came as he referred to an article in the FT by Tod Nielsen, COO of VMware, called "Time to remove IT from the board agenda". Its argument appears to be that virtualisation (and eventually Cloud Computing) will reduce IT complexity to the point where IT no longer struggles to deliver services in line with business needs - meaning that boards will no longer be preoccupied with how to deal with underperforming IT. This is bad enough as an example of crass oversimplification - but at least the article itself didn't go as far as suggesting that Cloud Computing would mean that CIOs lose their places at the board table. But you can see how these things snowball quickly...
Let's get a few things straight
Let's get a few simple, hype-free facts about Cloud Computing straight:
1. Cloud Computing is not suitable for every workload or application.
2. Different people will try Cloud Computing out for different reasons - some because of the financial benefits, some because it helps them do things quickly, and some because it helps them get closer to an outsourced IT capability.
3. Cloud Computing, just like virtualisation and SOA, don't eliminate IT complexity - but they are tools to help you manage complexity better and reduce it over time.
4. Cloud Computing platforms won't replace on-premise infrastructure in the short or even medium term; it'll augment it - nothing ever dies. As we always say to our clients: today's IT world is a world of ‘and', not a world of ‘or'.
Back in 2006 at MWD we launched an online petition against "SOA 2.0" - as a reaction to the way that certain IT industry players were focusing primarily on trying to create and own the market for a new set of supposed needs, rather than focusing on the needs of the day's customers as they struggled to get their heads around SOA. That petition got over 500 signatures in short order, including from some representatives of the vendors involved... and I hope I'm not being too self-centred in thinking that at least for a while, we helped to dampen the craziness.
I'm really hoping we don't need to do the same kind of thing for Cloud Computing - but I'm keeping an eye out.