Software as a Service (SaaS, typically pronounced 'sass') is a model of software deployment where an application is hosted as a service provided to customers across the Internet. By eliminating the need to install and run the application on the customer's own computer, SaaS alleviates the customer's burden of software maintenance, ongoing operation, and support. Conversely, customers relinquish control over software versions or changing requirements; moreover, costs to use the service become a continuous expense, rather than a single expense at time of purchase.
Using SaaS also can conceivably reduce that up-front expense of software purchases, through less costly, on-demand pricing. SaaS lets software vendors control and limit use, prohibits copies and distribution, and control all derivative versions of their software. This centralized control often allows the vendor to establish an ongoing revenue stream. The SaaS software vendor may host the application on its own web server, or this function may be handled by a third-party application service provider (ASP). This way, end users may reduce their investment on server hardware too.
The concept of "software as a service" started to circulate prior to 1999 and was considered to be "gaining acceptance in the marketplace" in Bennett et al., 1999 paper on "Service Based Software".
Whilst the term "software as a service" was in common use, the CamelCase acronym "SaaS" was allegedly not coined until several years later in a white paper called "Strategic Backgrounder: Software as a Service" by the Software & Information Industry's eBusiness Division published in Feb. 2001, but written in fall of 2000 according to internal Association records.
As a term, SaaS is generally associated with business software and is typically thought of as a low-cost way for businesses to obtain the same benefits of commercially licensed, internally operated software without the associated complexity and high initial cost. Many types of software are well suited to the SaaS model, where customers may have little interest or capability in software deployment, but do have substantial computing needs. Application areas such as Customer relationship management (CRM), video conferencing, human resources, IT service management, accounting, IT security, web analytics, web content management and e-mail are some of the initial markets showing SaaS success.
The distinction between SaaS and earlier applications delivered over the Internet is that SaaS solutions were developed specifically to leverage web technologies such as the browser, thereby making them web-native. The data design and architecture of SaaS applications are specifically built with a 'multi-tenant' backend, thus enabling multiple customers or users to access a shared data model. This further differentiates SaaS from client/server or 'ASP' (Application Service Provider) solutions in that SaaS providers are leveraging enormous economies of scale in the deployment, management, support and through the Software Development Lifecycle.
The key characteristics of SaaS software, according to IDC, include:
- network-based access to, and management of, commercially available 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
- centralized feature updating, which obviates the need for downloadable patches and upgrades.
- SaaS is often used in a larger network of communicating software - either as part of a mashup or as a plugin to a platform as a service. Service oriented architecture is naturally more complex than traditional models of software deployment.
SaaS applications are generally priced on a per-user basis, sometimes with a relatively small minimum number of users and often with additional fees for extra bandwidth and storage. SaaS revenue streams to the vendor are therefore lower initially than traditional software license fees, but are also recurring, and therefore viewed as more predictable, much like maintenance fees for licensed software.
According to Microsoft, SaaS architectures generally can be classified as belonging to one of four "maturity levels," whose key attributes are configurability, multi-tenant efficiency, and scalability. Each level is distinguished from the previous one by the addition of one of those three attributes:
- Level 1 - Ad-Hoc/Custom: At the first level of maturity, each customer has its own customized version of the hosted application and runs its own instance of the application on the host's servers. Migrating a traditional non-networked or client-server application to this level of SaaS typically requires the least development effort and reduces operating costs by consolidating server hardware and administration.
- Level 2 - Configurable: The second maturity level provides greater program flexibility through configurable metadata, so that many customers can use separate instances of the same application code. This allows the vendor to meet the different needs of each customer through detailed configuration options, while simplifying maintenance and updating of a common code base.
- Level 3 - Configurable, Multi-Tenant-Efficient: The third maturity level adds multi-tenancy to the second level, so that a single program instance serves all customers. This approach enables more efficient use of server resources without any apparent difference to the end user, but ultimately is limited in its scalability.
- Level 4 - Scalable, Configurable, Multi-Tenant-Efficient: At the fourth and final SaaS maturity level, scalability is added through a multitier architecture supporting a load-balanced farm of identical application instances, running on a variable number of servers. The system's capacity can be increased or decreased to match demand by adding or removing servers, without the need for any further alteration of application software architecture.
Virtualization also may be used in SaaS architectures, either in addition to multi-tenancy, or in place of it. One of the principal benefits of virtualization is that it can increase the system's capacity without additional programming. On the other hand, a considerable amount of programming may be required to construct a more efficient, multi-tenant application. Combining multi-tenancy and virtualization provides still greater flexibility to tune the system for optimal performance. In addition to full operating system-level virtualization, other virtualization techniques applied to SaaS include application virtualization and virtual appliances.
Various types of software components and frameworks may be employed in the development of SaaS applications. These tools can reduce the time to market and cost of converting a traditional on-premise software product or building and deploying a new SaaS solution. Examples include components for subscription management, grid computing software, web application frameworks, and complete SaaS platform products.
SaaS and SOA
Much like any other software, Software as a Service can also take advantage of Service Oriented Architecture to enable software applications to communicate with each other. Each software service can act as a Service provider, exposing its functionality to other applications via public brokers, and can also act as a Service requester, incorporating data and functionality from other services.
The traditional rationale for outsourcing of IT systems is that by applying economies of scale to the operation of applications, a service provider can offer better, cheaper, more reliable applications than companies can themselves. The use of SaaS-based applications has grown dramatically, as reported by many of the analyst firms that cover the sector. But it’s only in recent years that SaaS has truly flourished. Several important changes to the way we work have made this rapid acceptance possible.
- Everyone has a computer: Most information workers have access to a computer and are familiar with conventions from mouse usage to web interfaces. As a result, the learning curve for new, external applications is lower and less hand-holding by internal IT is needed.
- Computing itself is a commodity: In the past, corporate mainframes were jealously guarded as strategic advantages. More recently, the applications were viewed as strategic. Today, people know it’s the business processes and the data itself—customer records, workflows, and pricing information—that matters. Computing and application licenses are cost centers, and as such, they’re suitable for cost reduction and outsourcing. The adoption of SaaS could also drive Internet-scale to become a commodity.
- Insourcing IT systems requires expensive overhead including salaries, health care, liability and physical building space.
- Applications are standardized: With some notable, industry-specific exceptions, most people spend most of their time using standardized applications. An expense reporting page, an applicant screening tool, a spreadsheet, or an e-mail system are all sufficiently ubiquitous and well understood that most users can switch from one system to another easily. This is evident from the number of web-based calendaring, spreadsheet, and e-mail systems that have emerged in recent years.
- Parametric applications are usable: In older applications, the only way to change a workflow was to modify the code. But in more recent applications, particularly web-based ones, significantly new applications can be created from parameters and macros. This allows organizations to create many different kinds of business logic atop a common application platform. Many SaaS providers allow a wide range of customization within a basic set of functions.
- A specialized software provider can target global markets: A company that made software for human resource management at boutique hotels might once have had a hard time finding enough of a market to sell its applications. But a hosted application can instantly reach the entire market, making specialization within a vertical not only possible, but preferable. This in turn means that SaaS providers can often deliver products that meet their markets’ needs more closely than traditional “shrinkwrap” vendors could.
- Web systems are reliable enough: Despite sporadic outages and slow-downs, most people are willing to use the public Internet, the Hypertext Transfer Protocol and the TCP/IP stack to deliver business functions to end users.
- Security is sufficiently well trusted and transparent: With the broad adoption of SSL, organizations have a way of reaching their applications without the complexity and burden of end-user configurations or VPNs.
- Availability of enablement technology: According to IDC, organizations developing enablement technology that allow other vendors to quickly build SaaS applications will be important in driving adoption. Because of SaaS' relative infancy, many companies have either built enablement tools or platforms or are in the process of engineering enablement tools or platforms. A Saugatuck study shows that the industry will most likely converge to three or four enablers that will act as SaaS Integration Platforms (SIPs).
- Wide Area Network's bandwidth has grown drastically following Moore's Law (more than 100% increase each 24 months) and is about to reach slow local networks bandwidths. Added to network quality of service improvement this has driven people and companies to trustfully access remote locations and applications with low latencies and acceptable speeds.
If you would like more information, just fill in your details and one of our friendly team will contact you.