Software-as-a-Service (SaaS), also known as Cloud Computing, has been a buzzword around technology circles for a few years now. We’ve seen its ease and capability in many different forms, from the popular Salesforce.com CRM application to our own WebDAM solution. However, some confusion still remains regarding what a SaaS application can do compared to software with a hosted option. While some similarities exist, those are far outweighed by the distinct differences between the two, and it’s important to distinguish what these are before you select an application provider.
In recent years, many companies have added a hosted option for their applications to compete with the SaaS deployment model. Some similarities are obvious — in both cases, the application is hosted off the customer’s premises. The differences become apparent when you examine the details under the proverbial hood; a hosted application is running on an off-premises server but may not necessarily be managed by the application provider. However, the SaaS model is built with off-premises hosting in mind, and is thus integrated within the application developer’s IT infrastructure.
A quick look at the architecture widens the gap even further. Because SaaS applications are usually accessed via a web portal and designed for a large customer base, they are built with multi-tenant architecture. In other words, every SaaS customer is running the same instance of the software without, of course, sacrificing customizability (branding, etc.); those types of options are made available through the application’s programming. For example, if your favorite SaaS application doesn’t allow you to run a branded version featuring your logo, that’s because the developers didn’t include it — not because SaaS can’t handle it.
Multi-tenant architecture is designed to run across the application’s entire user base. It factors in scalability and performance so that a small business in the Midwest can get the same quality and performance as a big Silicon Valley corporation. To do this, the architecture often includes load balancers to handle large amounts of web traffic. From a hardware perspective, the application runs across a multi server environment, allowing it to tap into dedicated machines such as database servers, web servers, and specialized servers fully committed to CPU-intensive tasks: image processing, computations, etc. The SaaS architecture includes redundancy of all system components to provide fail-over should one component stop working. All of this is designed to work smoothly and efficiently to handle a large volume of requests.
Now, let’s compare this to what a hosted solution provides. In general, an individual copy of the software runs in a single-server environment per customer. Not only is this expensive, its durability, scalability and reliability are limited by the hardware — there are no redundant or dedicated machines that pick up the slack for specific system components. For example, in this environment, a database-intensive request (such as heavy searching) can act as a bottleneck, causing the website to run slowly since the web server and database run on the same machine.
We’ve outlined some of the major differences between SaaS and hosted from a design and architecture standpoint, but how does it impact the end-user? In Part 2, we’ll examine how a SaaS model directly benefits the user experience, from support to availability.