# Software as a Service

## Summary


Software-as-a-Service (SaaS) is a software delivery model that allows multiple users to use a software hosted on a cloud server. It has replaced the traditional model of software installation on on-premise servers and desktop computers. 

SaaS leads to rapid deployment, better user adoption, reduced support needs and less maintenance overheads. Customer support is also faster and more efficient than traditional on-premise software. Salesforce, Dropbox, Cisco and Webex are some famous examples of SaaS providers. 

While adoption of SaaS solutions has been exponential, there are still some organizations reluctant to adopt SaaS mainly due to the risk of data security and limited customization.

## Discussion

### What's the reason of exponential growth of SAAS?

SAAS has replaced the traditional on-premises software which needed to be installed at organizations. On-premise software have many hidden costs in terms installation, maintenance, personnel training or even downtime. SAAS has eliminated the hardware installation & maintenance cost of software. It allows the users to only focus on their dedicated services without thinking about availability, speed or maintenance of the software. Also, it is very easier to use than traditional on-premises software. 

In SaaS deployment models, software vendors are responsible for the reliability of the software delivery platform, IT infrastructure, software development, hardware maintenance, security, user support and data backup. The consumer can be assured of the reliability of the hosted software service through a contract called a service level agreement (SLA). 

SaaS proved to be a profitable model for both consumers & software vendors. While consumers could avoid the overhead of maintenance & in-house IT resources, vendors could have more economic benefits in software production and distribution and a shorter product development lifecycle. 

Due to these competitive advantages over traditional software SaaS grew exponentially over the years.


### What are some famous examples of SaaS?

There are multiple examples of SaaS based companies, that not only affect our day-to-day lives but also generate millions of dollars in revenue. Some famous examples of SaaS are as following-

**Salesforce**: It is a cloud-based CRM (Customer Relationship Management) used to boost the sales of organizations by managing all the leads and prospects at one place.It is one of the oldest & most esteemed examples of SaaS. It was launched in the year 1999. It generates a revenue of 13.28 billion USD. 

**Dropbox**: It is a cloud-based file storage platform used to store and access files worldwide. It's one of the reputed startups of USA. It was launched in the year 2007 & generates a revenue of 1.6 billion USD. 

**Google Applications (G suite)**: Google provides a bunch of SaaS applications inside G suite such as Gmail, Google Docs, Google Sheets, Google Drive & many more which makes our daily professional life very easy & convenient. It was launched in the year 2006 & generates a revenue of 2.6 billion USD. 


### What are different types of SaaS architectures?

Different types of SaaS architectures as following -

**Monolithic Architecture**: The monolithic SaaS software is an indivisible module consisting a big database & a solution that is built around a server-side and client-side interface. All the functions are managed and served at one location.  

**Microservices Architecture**: In this architecture, each function of the SaaS product is an independent module that can be deployed separately as required. Application Programming Interfaces (APIs) enable modules to communicate with each other and sync their independent processes to work as one single entity. Each service can be upgraded, updated, and scaled separately.  

**Single-tenant Architecture**: This architecture serves a dedicated client. Dedicated software instance, infrastructure & database is given to the client. 

**Multi Tenant Architecture**: Unlike single tenant architecture, multi-tenant architecture allows sharing resources. Each tenant's data is secured and protected. 


### What does it take to build a SaaS product?

Below are the steps to create a SaaS product-

**Analyze the market**: The prior step is to analyze the market. Questions such as who is the target customer?, who are the competitors?, what is the problem that the product will solve? should be asked. 

**Develop a business & marketing plan**: Plan for making the SaaS product unique, profitable & successful in solving the targeted problem. 

**Define SaaS requirements** There are many common characteristics of SaaS solutions such as multi-tenancy, optimized solution and data security . Decide the features & functionalities of the product. 

**Choose the technical stack**: The technology stack is list of programming languages, frameworks and tools used to develop the software. Decide the preferred technologies for front-end, back-end & database of the SaaS product. 

**Choose the SaaS hosting provider**: There are many SaaS hosting providers such as Amazon (AWS), Google, Microsoft, Heroku and many more. Choose any of them to host the software. 

**Create the team**: For the success of the SaaS product, a team of experts in different fields such as marketing & designing should be made. One can also hire a software development company for developing the software. 


### What are some important characteristics of SaaS?

Following are some important characteristics of a SaaS product-

**Total cost of ownership (TCO)**: There are no hidden costs in SaaS. 

**Data Security**: Data security is an important aspect of any SaaS product. Due to multiple users, it's important to encrypt the data of each user. 

**Scalability**: Resources are allocated/released dynamically to serve immediate performance requirements. SaaS can scale vertically (more powerful resources) or horizontally (more resource instances). 

**Multi-tenant**: Multi-tenant is a method in which a single software hosted on a remote server, serves multiple clients(tenants). Muti-tenancy allows faster updates deployment. 

**Personalised Customization**: Unlike the on-premises software, users can customize the software accordingly at both UI level & software business logic level. 

**Optimized utilization** Customers can purchase exactly the requirements(data storage, bandwidth, software features) & can extend it whenever they want. 

**Subscription fee**: The consumers pay a monthly/annually fee to use the software. Hence, they save the costs of software installation, maintenance & upgradation. 

**Reliability**: The requirements of businesses to run 24/7 is fulfilled efficiently with SaaS. Many vendors mention the reliability promise as an integral part of their contract, guarranting an uptime of upto 99.5 per cent. 


### What is Open SaaS?

Open SaaS is a form of SaaS that is built on open-source code. Such software are initially developed by an individual or organization but later used & improved by many developers. OpenStack, OpenNebula, Cloudify, Wordpress, OpenShift and CloudStack are good examples of Open SaaS. 

Major upgrades & product updates are controlled by the central provider whereas the community of users also contribute to the development of the software. 

Whereas Wordpress is developed by the company Automattic, it is completely open source, in terms of both licensing & practical usage. Automattic never charged a penny to the thousands of Wordpress-based website owners while many developers who contributed in making continous improvements in WordPress code base and plug-ins never received a dollar for it. 


### What's the difference between vertical & horizontal SAAS?

Horizontal SaaS is a type of SaaS that targets a wider network of businesses, regardless of their industry. Examples of Horizontal SaaS are QuickBooks (accounting) and Salesforce (CRM). Horizontal SaaS is more familiar than Vertical SaaS. Due to targeting a wider market, Horizontal SaaS business owners manage to acquire the customers at a lower cost.

Whereas, Vertical SaaS software are made for a specific niche industry. BioIQ(MedTech) & Health Assurance Plan(dental software) are examples of Vertical SaaS software. Due to a industry specific solution, the size of potential market for Vertical SaaS owners is lower. Vertical SaaS solutions are often made by the experts of a certain industry. 


### What can be the challenges of adopting SaaS?

Consumers can face some challenges in adopting SaaS. Adopting SaaS model involves risks in terms of data recovery and migration, high switching costs, lack of software customization features and integration with software. There is a risk of losing important data for consumers while migrating the data from one SaaS vendor to another. Service suspension due to lack or delay of payment can also cause data loss. Customers may find it hard to customize features with SaaS. The critical & important data of enterprises should also be kept hidden to other users of the service. Availability of the services is also a big concern. The disruption of the Amazon cloud service in the year 2011, took down a number of websites including Reddit, Foursquare, and Quora. SaaS works on a muti-tenancy model in which data of different users reside at the same location. Intrusion of data of one user by another becomes possible in this environment. 

Weak cloud standards can also resist enterprises from adopting SAAS. SAS 70 Audit is a common cloud standard. ISO 27001 is a better cloud standard than SAS 70 Audit. 

## Milestones

1999

Salesforce, a company based on the complete SaaS software is released. It serves the purpose of Customer Relationship Management (CRM). 

2006

Amazon introduces Amazon Web Services(AWS), providing on-demand cloud computing platforms and APIs to individuals, companies, and governments. Now, developing & hosting the SaaS software becomes easy for SaaS developers. 

2020

The market size of SaaS reaches to 157 billion US dollars.