Sunday 9 January 2011

Cloud Orientation - The Cloud Compass

My initial intention for this blog was for it to be about something else and have some diagram at the top, which would then appear in all posts, to orient the reader into which area of 'Cloud' I was talking about. I think the major problem with the term 'Cloud' is that it is an umbrella term for several different levels of technology abstraction, and this leads to confusion. So when I was putting together this little diagram I got a bit bogged down in it, and have decided that before I proceed with more posts, I would explain it rather than sticking it at the top without any context. I call the diagram the 'Cloud Compass'. Its not even a compass, but it is at least round, and I just like alliteration. And I am only talking about Public Cloud here, I don't think Private Cloud will fly long term, agree completely with this and this from Phil Wainewright. So here it is:
The Clouds over Cricklewood 'Cloud Compass' ('CCCC', catchy)
So this is the 'picture' of the cloud that I have in my head. Now, my intention for each blog post is to shove this up at the top without the arrows, and just colour the parts of cloud that I am NOT talking about grey. Revolutionary! Not really, but it should give the reader orientation. So, anyway, here is the explanation before I do that. I think the key to cloud value is abstraction to progress to the point where technology becomes easier, faster, clearer etc to implement. I think over time hardware will become less and less relevant for end-user companies to the point where IaaS will pretty much be exclusively be used by ISVs. Anyway, a bit of explanation of the segments:
  • IaaS Level 1 Abstraction - Virtual Infrastructure (eg Amazon EC2 Running Linux): This refers to just replicating hardware. Which is pretty much what Amazon EC2 does. 
  • IaaS Level 2 Abstration - Hmm, I felt IaaS had to be split because companies are introducing a layer on top of hardware which abstracts it, but not to the degree that it is PaaS. I feel Database.com fits there. Discuss.
  • PaaS Level 1 Abstration - If you look at something like VMForce vs Force.com, there is certainly a difference in the skills you need to get going with each one. VMForce provides a Java coding framework, but not the kind of point and click environment that you get with Force.com. Of course you can code on Force.com, but given the extent of build you can do without coding, I feel the split is valid.
  • PaaS Level 2 Abstraction - Something like Force.com where you have a balance of 'point and click' environment complimented with code.
  • SaaS - The end-user application, with some high-level configuration able to be done by end-user Admins (ie add Products, change profile permissions etc). Something like SuccessFactors, WorkDay or Salesforce.com Service Cloud. (yes there is an overlap with PaaS there but never mind)
As you go from top to bottom here, there should be an increase in speed of delivery and stability, but possibly some 'give' in flexibility. I would suggest that when companies are looking for their 'sweet-spot' here in line with their requirements, they start from bottom to top.

So, just as a preview my next post will not be about 'Cloud' because that is too general a term of course. It will be about (the blue wedges):

There....nothing revolutionary, but will help me give context to my posts.

Saturday 1 January 2011

So why do I rave 'Cloud'? My cloud journey...

The point of this post, is to just quickly rattle through the journey I have been through, which has resulted in me being a big proponent of the cloud model. It is a bit technology focused, and CRM focused, and specifically SaaS/PaaS focussed. I make no apologies for any of those, its just the path my career has gone, but gives a me a good 'real-life' basis for this blog.

But I do apologise for the picture on the left. Was the first one that came up when I searched for 'journey'. You may like it, which is fine, but just make sure you don't like it too much.

So, to cut a long story short, my journey to 'cloud' was CRM-led, in various consultant roles and went a bit like this over about 11 years: MS Access (surely everyone started here).....Siebel (clever stuff at the time)......More Siebel.......RightNow Technologies (wow, bundles of value delivered super-quick)........Oracle CRM OnDemand (hmmm, abstracted Siebel but not very flexible).........Salesforce.com (now we are seeing something really clever here).

Of course, I mention nothing above about the success of the deployments, business benefit delivered etc. What I want to focus on here are my thoughts about this journey from a technology point of view, leading to a justification of why, purely based on my experiences, I think the cloud model is the way forward technology-wise. So:

MS Access: A useful data manipulation utility but not a CRM platform......next!......

Siebel: I have spent more time delivering Siebel than anything else. From 2000 to now it has both improved functionality-wise and become more bloated as the years have passed. You take Siebel out of the box now and look at the data model, it is enormous, and any one customer will usually need only need a fraction of it to support their business. I will get on to salesforce.com, but I prefer their approach of providing a minimal data model with the ability to add to it, or remove from it, really quickly according to client requirements. (not getting into the Siebel vs salesforce.com debate quite yet though).

The main beef I have with Siebel though is that more modern platforms (cloud based) have superseded it in terms of level of abstraction. Siebel does not require coders as such, but it is pretty damn complex and time consuming to configure. Also the number of moving parts (gateway server, siebel server etc) and hardware setup, give propensity for instability. Customization impacts performance to too great a degree also. So, in my search for the 'next best thing' I completed a few projects using....

RightNow Technologies: My first real foray into the world of cloud computing in 2008 (well, SaaS), and this, though not without its limitations, really impressed me with it's value. Its probably even better now. Siebel call center projects tended to last around 6 mths to infinity. This could be deployed in as little as 3 days, including web self-service and internal agent consoles. Generally the time-lines were greater than 3 days (up to maybe 3 mths) to meet specific client requirements, but the thing that hit me here was the amount of functionality 'out of the box'.

RightNow included a great web based customer facing knowledgebase, ability for customers to directly raise incidents from the web, or email them into the central app, wonderful threading of communications. Also many 'switches' to switch on or off rich pre-built automation made it very fast to deliver (bigger building blocks than Siebel). The level of abstraction was beyond what I had seen with Siebel also, configuration of the app was incredibly rapid, and realtime, and pretty much everything WORKED FIRST TIME. And no servers required - it was a little strange as it required a small local install to power the UI, a bit like an iPhone app - but all this value with no hardware, I could see the potential. I decided to look at what Oracle were doing in this space in 2009....

Oracle CRM OnDemand: 100% web-based, built on the Siebel data model, but abstracting away the more cumbersome configuration and in turn reducing flexibility, there was an idea banded about that customers would purchase this as a starter then transition into paying bucket-loads for the full Siebel offering. Or maybe have a 'hybrid' landscape with Siebel AND Oracle CRM OnDemand. And integrate them somehow. Hmmm, unsure whether much of that has significantly come to fruition. But in its own right Oracle CRM OnDemand seemed like a decent SaaS SFA application, though could not hold a candle to RightNow in terms of Service and Marketing. The big sell was the Analytical capability which I admit I did not have enough time to delve into, but by all accounts, for SaaS CRM analytics, it was ahead of everything else. Anyway, after tinkering a little bit with this and hitting restrictions in terms of data-model extensions and losing faith with their incredibly minor upgrades, my head was turned by......

Salesforce.com: In parallel with the above, I decided to tinker with the 100% web-based salesforce.com (through a charity project), and subsequently have completed many enterprise CRM projects using salesforce.com as the tech platform. I was aware of several deployments for large customers, so I was very interested in what this offered. The part that interested me most of all was the claim to be a 'platform', thus suggesting flexibility/extendability. Siebel is pretty much a 'platform' with the ability to extend the data model and having its own proprietary coding language (eScript) when you run out of 'point and click' config options. RightNow and Oracle CRM OnDemand less so, you would need to involve the vendor to extend the RightNow data model (not so anymore to be fair). OCOD did not have any documented ways of extending the data model beyond the packaged extra objects or and did not have an equivalent to APEX/VisualForce. I quickly came to realise that salesforce.com was pretty much the obvious SaaS equivalent of the Siebel platform. You can extend the app with lots of 'point and click' options, you can add automation code (APEX), and custom UI components (VisualForce), it has some great standard functionality (report builder, approval etc), all in a very standardized and consistent environment.

But its a bit more than that. It has the advantage of simply being developed from the ground up more recently than Siebel, and this is reflected both in the speed/stability of development and end-user experience. Also, it benefits from more frequent and significant upgrades than Siebel (multi-tenancy being key to this - if it aint multi-tenant, it aint proper cloud). But could salesforce.com handle a Siebel-scale application? The real test came earlier in 2010 when I led a team to complete a complex enterprise Siebel->salesforce.com transition project. The salesforce.com platform stood up incredibly well. In terms of multiple environments, integration, stability and performance, pretty much flawless (and users like it). I don't want to sing salesforce.com praises too much, there are still gaps they need to address to match Siebel in certain areas where there is too much reliance on coding (it is crying out for an equivalent of Siebel workflow), but the upsides have far outweighed the downsides. And they are on a proper innovation mission which their cloud model allows them to execute at a decent pace.


So, my journey to the cloud is pretty much to do with the fact that salesforce.com superseded Siebel as the modern day CRM platform of choice for projects I worked on, and I have since intentionally taken on more salesforce.com related engagement management due to the fact I favor it. No-way will I go back to the hassle of non-cloud apps. I cant justify charging a client for my team spending time fiddling with layers that have been successfully abstracted away in the cloud world.

Looking forward to 2011 I see cloud taking an even greater hold, and being the default for CRM. I like Ray Wang's recent prediction post and Phil Wainewright's 6 big trend to watch in 2011. Salesforce.com seems to have Paul Greenberg's backing also as the one to watch in 2011 so all is boding well there.  I just want Cloud Computing to continue to abstract away the nuts and bolts and let us continue to shift focus from technology issues to providing decent business benefit and less project headache.