From small startups to large enterprises, software as a service (SaaS) is changing how software is designed, developed, and consumed. This document discusses different SaaS architectures as well as some emerging best practices in developing SaaS applications.
Introduction: From small startups to large enterprises, software as a service (SaaS) is changing how software is designed, developed and consumed. This document discusses different SaaS architectures as well as some emerging best practices in developing SaaS applications. Software as a Service is a new delivery model where companies pay not for owning the software itself but for using it. In the SaaS scenario, a software provider is responsible for its availability say maintenance, scalability, disaster recovery, etc.
Software as a Service (SaaS) is a model of software delivery where the software company provides maintenance, daily technical operation, and support for the software provided to their client. SaaS is a model of software delivery rather than a market segment; software can be delivered using this method to any market segment including home consumers, small business, medium and large business.
In a very simple sentence, SaaS can be defined as "Software deployed as a hosted service and accessed over the Internet". Have a better understanding of what a SaaS architecture is and how it differs from "on premise" software.
What is SaaS: Software as a Service, a provider hosts an application centrally and gives access to multiple customers over the Internet in exchange for a fee. SaaS has three different dimensions i.e how software is licensed, where it is located and how it is managed. More specifically,
Licensing: SaaS applications often are licensed with a usage-based transaction model. In which the customer is only billed for the number of service transactions used. In the time based subscription model customer have to pay a flat fee per seat for a particular time period i.e for a month or a quarter and the user is allowed unlimited use of the service during that period of time.
Location: Saas applications are installed at the SaaS host's location. But for a pre-existing application the software is installed within your own environment. For practical point of view, vendor supplies a hardware/software component as a “Black box” that is installed at your location, instead of the vendor's. Take a real time example of a logistics application with a periodically updated database. A shipping company might provide such a device to its large customers so they can query the device for shipping information instead of hitting the company's server with thousands of individual queries in a day.
Management: SaaS application are completely managed by the vendor or SaaS host.This is a big job for a organization to provides service to users. Which means being familiar with network, server and application platforms providing support and troubleshooting and maintaining security. For this task some companies subcontract some of these management responsibilities to third-party service providers that specialize in management.
Types of SAAS provider:
There are two types of SaaS providers.
- Application Service Provider (ASP).
- Software on-demand.
Application Service Provider, where a customer purchases and brings to a hosting company a copy of software, or the hosting company offers widely available software for use by customers. For example Microsoft Office, for this an available across the web to customers who pay a fee per month for access to the software. In this type of provider a licensing fee and a monthly fee are separate and are paid to the maker of the software and to the host of the software.
Software on-demand, where a company offers to customers software specifically built for one-to-many hosting. This means that one copy of the software is installed for use by many companies who access the software across the web. In this type of hosting there is no division between licensing and