In traditional style of software development industry, companies were required to buy, build, and maintain their own IT infrastructures despite exponential costs. Even a SME need an IT Manager who is responsible for managing all type of IT related work starting from–installing the applications, maintaining software and system, backup management , patch management , Disaster and Recovery Management, Security Systems, licensing issues, hardware procurement and up gradation etc. All these necessary technical and management issues results in a significant overhead for all type and size of organizations and need a dedicated team for this.
The traditional model of software distribution, in which software is purchased for and installed on personal computers, is sometimes referred to as software as a product (SaaP).
Today in the world of specialization, now day’s organizations just want to focus on their core-business area and for rest they outsource the work to specialized organization as they are better equipped for handle it and also it is a cost effective thing to do. Now a day’s companies want that their business portals should now be managed by specialized third-party IT firms who takes complete ownership and responsibility for managing the show for them.
SaaS redefines the software deployment model from packaged applications with upfront licensing fees and lengthy implementations to one subscription based Internet delivered service relationship.
This article explains about SaaS, its characteristics, benefits and touch upon enabling designing and architecting SaaS applications. Before we start discussing the SaaS lets recap the software evolution. The given below only capture doesn’t capture entire software evolution, but definitely capture the most important ones.
What is SaaS?
“Software deployed as a hosted service and accessed over the Internet."
SaaS is defined as Software as a Service and it provides access to software and its functions remotely as a Web-based service over internet. It supports service-oriented architecture (SOA) and Web 2.0 standards like Web services, Ajax, etc and a SaaS provider maintains and manages these applications.
A SaaS application is offered either directly by the vendor or by the third party SaaS providers. SaaS providers are responsible for application’s availability (maintenance, scalability, disaster recovery, etc.) from their locations and it is good for SME who are under constant pressure to reduce IT operational costs. SaaS model can help to save their time and money by shifting responsibility for software delivery to a service provider.
SaaS Model is mainly applied for the line of business services like CRM, eCommerce, Finance, etc for facilitating business processes of enterprises and organizations of all sizes and is also applicable for Consumer-oriented services which are offered to general public.
Characteristics of SaaS
The Software as a Service sector is among the fastest growing segments in the software industry. IDC believes that telecommunications companies (e.g., AT&T, Softbank Telecom, etc) and professional service providers will play a role in this and act as a viable sales channel.
Some of the Characteristics of SaaS as mentioned by IDC are:
* Network-based access to, and management of, commercially available (i.e. not custom) software
* Activities that are managed from central locations rather than at each customer's site, enabling customers to access applications remotely via the Web
* Application delivery that typically is closer to a one-to-many model (single instance, multi-tenant architecture) than to a one-to-one model, including architecture, pricing, partnering, and management characteristics
Multi tenancy refers to the process of hosting multiple customers on a single server, which is how on-demand service applications are provided. The code for the software runs on a remote machine, and single instance of code is accessed by ‘n’ end users of multiple customers. In SaaS model word tenant is referred for customers for whom installation and configuration is done. In SaaS Model we have four main stakeholders.
* SaaS end users – The application users for e.g. internet shopper’s in case E-Commerce application
* SaaS Customers – Enterprises who buys the services and uses it.
*SaaS Aggregators / ISV – Software vendors or intermediate party who bundles the different SaaS Applications.
* SaaS Hosters - They host the SaaS application in their web/application farms.
It is quite possible that in some cases only one party is playing the roles of ISV ,SaaS aggregator and SaaS hosters whereas it is quite possible that aggregators and hosters are one where as ISV is different.
*Types of SaaS provider
If we talk to ten different experts on what is SaaS? And how is it is related to ASP and on Demand? We are bound to get different answers. Some would say SaaS, ASP, On-Demand applications, are variants of hosted or managed services and some would say SaaS is more generic as compared to ASP, and some might say SaaS is same as ASP , etc. Just to make it more confusing, IBM has started to use Software as Service (SaS, but not SaaS) and On Demand in their marketing campaigns.
But it would make more sense if we say SaaS providers are classified under two categories
1. Hosted AM - Hosted application management (hosted AM) model is similar to traditional ASP. In this model customer purchases the software and ask hosting company to host it for them or provider hosts commercially available software for customers and delivers it over the internet. In this model applications typically support single-tenant architecture and their ability to share data and processes with other applications was very limited. HAM is based on One-time licensing model where model organization needs to pay license fess to software manufacturer and hosting fees to hosting company.
2. On Demand – in this model provider offers to customer a application that support Multi-tenant architecture .i.e. software is built for one-to-many hosting where one copy of software is installed for use of many companies and is accessed over the internet. On Demand is subscription based model where organization needs to pay subscription fees (per user, per transactions, no of hits based , per project, monthly, yearly, usage, transaction, etc) to the provider for using the application.
Note: There is one more model referred as appliance model. In this model vendor supplies a hardware/software component as a "black box" that is installed at customers/end user’s location, instead of the vendor's for e.g. PDA with some special software given to MR in life science industry, Shipping industries provide devices to their end users of application, etc.