While thinking of SaaS, think out of the box!
For the uninitiated - What is this SaaS?
SaaS stands for Software as a Service, though Microsoft prefers to call the same concept ‘Software + Service’. However, at the end of the day, terminologies do not really matter as long as the objective of this model is met – which is to use the required software functionalities in terms of services from the vendor directly without having to consider the burden of hosting/infrastructure and maintenance of that software in the consumer side. Yes, the concept looks very interesting? Service consumers can consume the required software services without pitching into non-core areas like IT infrastructure maintenance, maintenance of an additional IT team etc and thus allowing them to concentrate on their Core business areas Definitely it is something very nice to have.
What are the issues then?
The though consumption of software services seems to be easy (as illustrated above), the implementation of these services by ISVs (Independent Software Vendor) or enterprises is quite challenging. Obviously ISVs will want to get their products to reach a wider audience who might need these functionalities in a different mode/model, especially in those market segments where the hosting/hardware/software and maintenance costs are high which deter customers from investing in them. Such customers (also called consumers) can pay additional fees for those services which are costly to develop and maintain in-house. In such a scenario, it is a definite challenge for ISVs who have to take care of hosting services on their data centers, and keep maintaining and upgrading both software and infrastructure making sure at the same time that the service fees remain nominal and competent to attract customers/service consumers. This is where the complexity comes into picture. The act of hosting the software for a service is comparatively the easier task. but arriving with right infrastructure and techniques to support required scalability, maintain large data center, take care of security needed on the data of the customers and the infrastructure (because it is open for the globe through internet), how do you take care of support calls required to n-number of customers cost effectively, how do you take care of monitoring and operational needs as required for multi-tenant needs etc etc (list becomes huge as we start thinking more and more, is it not?). These are on the back office or operational side.
OOPS! What do we do then?
There are a few successful SaaS model based solutions from various vendors, of which Salesforce.com is a leading example. But it is also evident that a number of failures in ISVs/Hosted companies occur due to the inability to handle the required aspects of scalability, configurability, integration etc which result in huge implementation and operational cost. The high maintenance and operational costs defeat the objective of SaaS model unless kept well below the mark so as to provide profitable margins. All these aspects are more challenging in a SaaS based solution than a regular product based solution and needs a new perspective to handle these. I will cover some of these important Architectural challenges, required considerations and possible approaches to handle these (as we have much more advanced technologies to handle most of these if we leverage effectively) in the next blog. Happy reading till then.

