Software as a Service (SaaS) applications, popularized by salesforce, are gaining broader acceptance. Their benefits include:
- Lowest cost solution
SaaS vendors can spread development and infrastructure costs across many clients. Hardware capacity can be fine tuned based on application load. Incremental costs of supporting an additional client are typically very low. In general there are benefits of economies of scale.
- Quick time to market
Configuring SaaS product is less involved than installing software. In many cases software can be used almost instantaneously.
- Best features
SaaS vendors are specialists in their field and typically continuously keep adding features. These features can be deployed in production environment and made available to customers very quickly. As hardware environment is tightly controlled, vendors do not have to support multitude of customer deployment and upgrade paths and this leaves more time to focus on feature development.
- Best people
Working at a SaaS company tends to be very exciting. There is continuous work on new features and interesting challenges, such as scalability, to solve. This attracts talent.
There are also concerns raised about using SaaS solutions such as:
- Lack of control over uptime and performance
Vendor is responsible for uptime, performance, scalability, security etc.
- Customization constraints
Even with the most comprehensive configuration, you can come up with scenarios not fully supported by the product.
These objections can be addressed. The first one can be mitigated by thorough Service Level Agreements (SLAs). As far as customization is concerned, it is often worth to ask: Do benefits of additional custom features outweigh costs of implementing them.
Putting objections mentioned above aside, there are cases where SaaS solution would not be a viable option. Here are some examples:
- Proprietary software used as a source of business differentiation
E.g. hedge fund trading algorithm. You would not want to share this with any other company.
- Unique needs.
E.g. air traffic control software. There are no economies of scale to be derived from SaaS.
- Tight security requirements.
E.g. military needs. You can increase security by maintaining your own environment.
- Very high data volume, low latency requirements or complex integration needs
E.g. telco billing system which has to process terabytes of phone call data. In such cases co-location of systems, as opposed to sending traffic over the Internet, makes more sense.
There are clearly many cases where in-house deployment of software continue to be the right decision. For many common business applications however, whether it is marketing, sales, customer support, HR, finance, web presence etc SaaS is the way to go. The benefits are very compelling.