This interesting question recently arrived in our Ask the Experts inbox, so I thought I’d write a brief post clarifying the difference between ASP and SaaS models.
TEC’s Take on ASP and SaaS
Perhaps not surprisingly, Wikipedia’s definitions for these two terms contribute to the confusion:
An application service provider (ASP) is a business that provides computer-based services to customers over a network. Software offered using an ASP model is also sometimes called on-demand software or software as a service. The most limited sense of this business is that of providing access to a particular application program (such as customer relationship management) using a standard protocol such as HTTP.
Software as a service (SaaS, typically pronounced [sæs]), sometimes referred to as "software on demand," is software that is deployed over the internet and/or is deployed to run behind a firewall on a local area network or personal computer. With SaaS, a provider licenses an application to customers as a service on demand, through a subscription, in a "pay-as-you-go" model, or increasingly at no charge.
As we can see, these two previous definitions don’t throw enough light on the matter to distinguish clearly between ASP and SaaS.
Let’s start with their similarities:
Both a application service provider (ASP) and a SaaS provider provide access to a business software application through a network connection. This network connection could be a local area network (LAN) or a wide area network (WAN). The most common connection is an Internet connection, via a Web-based application. This thin client usage allows users to connect to business applications using a Web navigation tool (AKA a browser, such as Internet Explorer, Firefox, Chrome, Opera, etc.)
Another thing both models have in common is this: because of the way we connect to the business application, hardware, software, and data is allocated in a third-party location, this third party is in charge of maintaining the application and the infrastructure (hardware and software) to keep the application operating. So, companies use or consume applications “on-demand” or on a “pay as you go” basis.
To sum up: both ASP and SaaS providers enable a client (organization or individual) to use business applications, licensing them based on time periods, number of users, type of service, and functionality, as well as other factors.
So What’s the Difference?
The difference between ASP and SaaS providers lies mainly in the way they manage their respective computing resources.
Most ASPs use a single environment for each customer, which means that they provide a specific application that is set up for the individual customer. Each customer uses the business software as a single tenant, and does not share it with anyone else. All application setup configuration, and sometimes even server and operation configuration, is unique for each client.
On the other hand, with a SaaS provider, all customers share the same computing resources: servers, application, and database in a so-called multitenant model. So, while an ASP hosts the application environment in its own “building,” a SaaS provider uses the same application environment for all its customers, and they all share the same “building” (see figures 1 and 2).
Figure 1. General ASP service structure
Figure 2. General SaaS provider service structure
The Side Effects (Heterogeneous vs Homogeneous)
Taking into account this fundamental distinction between an ASP and a SaaS provider, there is an important side effect:
While an ASP environment tends to be very heterogeneous, with, e.g., data centers composed of servers, applications, and environments from a wide variety of types, a SaaS environment tends to be unique for all the provider’s customers: all of them are attached to the same type of server, operating system platform, business application, and database layout.
Both ASP and SaaS providers reduce customers’ costs in terms of infrastructure maintenance as well as the need for a specialized IT team. And while an ASP reduces maintenance efforts and costs for the customer, the same is true to an even greater extent within a SaaS application. This is because an ASP needs to maintain dedicated setups for each customer, while in a SaaS application infrastructure all configuration, upgrades and fixes are applied once in a unique environment for all customers. On the flip side, while ASP customers have total control over configuration, in SaaS applications clients have only limited possibilities for customization features.
Something else you should know is that often ASPs move or migrate customer applications into their own data centers—and if these applications are not designed to operate over the Internet, this could generate another set of issues to be solved. SaaS providers, on the other hand, use applications designed to be operated and exploited over the Internet, whereby customers migrate only their data into the new SaaS application.
Because of their nature, SaaS applications are often criticized for a lack of flexibility regarding specific configuration options, while ASPs are criticized for high maintenance costs. And while many organizations have more confidence in ASPs in terms of security issues, organizations still have concerns regarding security when using a SaaS provider.
It’s hard to tell if traditional ASPs will be entirely supplanted by SaaS providers—many companies still need full control of their data and application configuration (regardless of whether this involves a more costly and time-consuming deployment), while others need the speed and low total cost of ownership (TCO) that a SaaS application can bring. The secret, as with other software selection dilemmas, is to address it with a rigorous selection methodology to make the best possible decision.
I welcome your thoughts—please leave a comment below, and I’ll respond as soon as I can.