Friday 28 January 2011

CaaS – Now what is that?

There is too much cloud these days. And still plenty more to come. What started as something called as Application Service Provider (ASP) way back during late 90s, has been transformed to different names with minor changes or additions to it. In the modern era, it is known to all of us as SaaS or S+S (as Microsoft would call it) or in more generic terms – Cloud computing. This doesn’t end here. The cloud strategy matures more and more as day progresses, and we see more variations and more versions of the cloud computing such as PaaS (Platform as a Service) and IaaS (Infrastructure as a Service),

In between all these, what does CaaS mean?

Well, to be honest this isn’t any jargon or buzzword or any standard term used in the Cloud computing arena. This is something coined by me to revive something which used to be once prevalent during the ASP days and the Dotcom boom days and it has tend to remain constant rather than seeing an exponential growth as compared to other cloud terminologies. I call it “Components as a Service”.

Now, before you jump up on me and thrash me for trying to teach you something you already know in a different form, I would like to declare here that this is NOT anything new that I intend to express. This is just an attempt to provide some idea to people thinking to make a new living out of cloud (may be thinking of building a product to be made available to customers as SaaS), that there are even thousands of opportunities to build what I term as CaaS i.e. Components as a Service. Not all software built for the could has to be SaaS. One could build generic parts or components that can be used by others who would build SaaS.

As I mentioned earlier, this isn’t anything new. Way back, in its original form, CaaS providers built many on-the-web “facilities” or “components” to be consumed by web sites. But during that era, the web applications were confined to only e-commerce or a portal in some form or the other. With the cloud becoming more and more a norm to deliver entire software solution on the web, the market for consumption of these components which would be used to build such SaaS applications grows exponentially. The target market for CaaS once that used to be only to Web sites and portals, now is the entire cloud in various forms like the SaaS, PaaS.

Component As A Service

A component as a service as the name suggests is nothing but a ready-made piece of a (web) “functionality” available for other web applications to consume thereby saving their time to build these themselves. One may argue that there is nothing new to this. A custom web control (like Graph or Chart control, a video display control) etc. can be called as a CaaS as they may be used by other SaaS products as is, without them having to develop it on their own. Or in another argument, one may say that any “service” provided in the form of “Web Service” that performs a particular (outsourced) business operation for you may also be called as CaaS. Well the point is not to prove that these are NOT CaaS or otherwise. The point is to throw some light to a broader spectrum of components that can potentially emerge into the cloud arena with a difference.

To my mind, a CaaS is something which provides an end-to-end “independent” business functionality that can be used by other SaaS products within their software so that they would not have a need to build these functionality on their own. It ideally comprises of all the 3 layers of any 3-tier system (UI, Application Logic and Database) but only for that functionality. If you recollect, this is what was once called “Application Service Provider”. So time and again, I would like to stress a point, this is nothing new.

So what can really be developed as CaaS? Well to give an idea, lets look at some existing CaaS that are already available in the market (but people may not know if it could be a potential component that they may use it for their own SaaS product.

Scenario 1

Assume we need to develop an HR System and make it available as a SaaS. An HR system would typically have things like Employee Management, Payroll, Appraisals, Recruitment and so on. So just to make the problem a bit simple to understand the context, we need to develop 4 modules to build the HR system that we intend to make it available as a SaaS. It would be nice if one of these 4 modules is available as a generic “Web based plugin” so that we need to develop only 3 of the 4 modules. Surely the web based ready-to-use plug in should be so configurable that it may not feel different for our customers who would be using our system. It needs to integrate so seamlessly that for a customer who is using our system, would not make out that he is using a different system for 1 of the 4 modules than the other 3.

One such “web based end-to-end recruitment" system available in the market is “Taleo”. (www.taleo.com)

Although they have been providing their Talent Management software as CaaS to most of the top multi-nationals’ web site for Career management, they have a huge potential for being used by SaaS companies (building HR solutions) as a ready to use end-to-end recruitment module. The entire suite offered by Taleo has almost the entire HR operations and they themselves can offer the entire suite as a SaaS to customers, but that’s besides the point. They surely have the potential to offer parts of their software (as a service) to be offered as CaaS for other SaaS companies to consume and thereby giving a them a completely different market to enter.

Scenario 2

Most e-commerce sites these days provide an online chat assistance to shoppers or people who look confused navigating through their sites. This is nothing new to us. But most of these assistance are developed by the e-commerce sites themselves and they provide a very limited functionality. With applications now more widely available as SaaS, providing a Customer Interaction Management would be ideal as the cost of 1st line and the 2nd line support goes down to a great extent. Thus the assistance can be provided by using such web based chat tool. This again, may not be needed to be developed by each and every SaaS vendor (as most of the e-commerce website would have done). They can be hired as a CaaS.

One such “web-based customer interaction management” is provided by a company called “Live Person” (www.liveperson.com). There are far many companies providing similar service as CaaS but Live Person are the oldest and the most popular in this domain.

Scenario 3

The above 2 scenarios are good to explain what a CaaS could be. But they do not provide a new business idea to the readers as the 2 examples I provided are well established market leaders in their own market as CaaS providers. The key point to be noted here is the “concept”. With cloud getting more and more popularity there is a huge potential for building large varieties of CaaS. One such thing that comes to my mind is a Workflow Management component available as CaaS. To my knowledge, there is only 1 company (I may be wrong) providing a Workflow Management as a Service or a CaaS. They call it as WaaS (Workflow as a Service). They are PNMSoft (http://www.pnmsoft.com/workflow-software-as-a-service.aspx). The whole idea of “outsourcing” the workflow operations of our SaaS product to a Workflow CaaS provider for a nominal cost per seat is worth giving a thought.

In short after looking at all the 3 above scenarios, the concept is the same. A idea to develop such CaaS is up to the readers’ imagination. So I hope I have helped you all who are thinking of a SaaS idea to venture into, some food for thought about CaaS too, as a potential.