What is SaaS and What can it do for me?

Since I have mentioned I work at a software company that follows the software as a service (SaaS) model, I figure I should provide a little overview of what SaaS is and where I think it is going.  As small business IT professionals, we really have a lot on our plate and keeping up with the latest in technology isn’t always easy, so hopefully this overview will give you a good idea of what SaaS is and where/how it could be useful for you.

Basically, SaaS is software that is provided to you over the web that you pay for what you use (usually you pay for a certain number of user licenses, but there are a few different licensing/billing models out there).  To fully understand it, we can talk about some different levels of SaaS.

The first level is really just a hosted application.  In this arrangement, the software company basically installs new instances of the software you purchased that will only be used by your company.  So you really have an entire server (or multiple servers if it is an n-tier application) dedicated to your usage.  The provider may use hardware virtualization to reduce their costs, but as far as you know, it’s a server(s) dedicated to your use, be it virtual or physical.  The provider will handle upgrades to new versions but since you are on your own hardware, you can sometimes choose to opt-out of upgrades or schedule it when it is convenient to you.

The next level that really changes anything is when the software becomes multi-tenant.  It’s pretty costly for the provider to maintain separate hardware for each client, even if they are virtual servers, so the next obvious step is to host multiple clients on the same hardware.  That is what multi-tenant means.  So now your data and the data of other clients are all hosted from the same server but separated logically.  The data all lives in the same database tables, but the application separates the data out using foreign key constraints.  It’s fairly easy to tell if a provider has made this jump or not because the deployment time for a new client drastically reduces once this jump is made.  In this model, new clients can be setup very quickly as no new hardware needs to be deployed.  Access for a new client can usually be enabled in a matter of minutes.  This doesn’t necessarily mean it will be completely usable in a matter of minutes as it would not contain any customizations you require at that point, but the access to a generic instance is very quick to setup.

The only real step left isn’t really that different from the last step.  In this final step, the application must be scalable.  This really means that it should be fairly easy to increase the amount of transactions the system can handle without the end users noticing anything has changed.  This is achieved through a mutli-tier architecture design.  Pretty much any application that was created to be a SaaS application is going to be designed in this way from the start, so in many cases, applications will acheive this and the previous step at the same time.  A very common architecture would be a layer for the data, which would be a database server.  The scalability of this could be achieved in a few ways.  The provider could use clustering technology to increase the size and power of a single database server, or they could distribute the data across multiple databases and add new database servers as needed.  In that case, one client is usually (but not necessarily) kept in one single database and the clients are simply spread across the different servers.  You would then also have an application server which handles all the business logic and talks to the database server.  This would be scalable by the ability to add additional application servers and use network load balancing to spread the load across the servers.  And finally, the last piece to the most common architecture would be the presentation layer.  This would be the web servers which talk to the application servers.  So as you can see, there are many ways in which this sort of design can be expanded and the clients may not even know.

So what advantage does SaaS offer for a small business?  Well, the answer is it can offer a lot.  Hosting applications on site is a very expensive operation.  You have to buy servers, you have to have room to store the servers in a controlled environment, you have to maintain the servers, and that’s just the hardware costs.  Now, for the software cost, you have to either buy or develop the software, install and configure it, maintain it and install subsequent updates.  All of this takes time and requires certain skills and experiences.  SaaS gives you the ability to push all of these tasks off onto the software provider.  Sure, your data is hosted at another location and you need to consider this risk and ensure the provider you select has proper security controls in place for your data.  But the cost savings that can be had are great.  The easiest and biggest bang for the buck you will find with these applications are the processes that every business has to perform such as payroll.  These are fairly common processes and thus it is very easy for software companies to provide SaaS solutions that will offer a few customization points that can satisfy a large number of users.  The more custom a process is to your organization, the harder it will be to find a SaaS application that will satisfy your needs.  However, you also need to consider, is this process custom because it has to be, or custom just because that’s the way we’ve always done it.  If it’s simply custom because that’s how it’s always been done, you may be able to reap good benefits and some great best practices by switching to a standardized SaaS application.


5 Responses to What is SaaS and What can it do for me?

  1. From a small business perspective, SaaS seems fantastic. However, I am curious how SaaS providers are monetizing their software. It seems that this model requires significant volume increases to offset the price reduction. Do you know how SaaS providers are monetizing their solutions? What does the subscription model look like?

    I found one company, eVapt, that provides billing services and monetization strategies. Do SaaS companies usually contract with such companies as eVapt? This seems like a really interesting software model and I appreciate the post!

  2. itatsmallbiz says:

    Well, from what I’ve seen there are two main types of subscription models, but about as many variations of those two types that you can imagine, I’ve even seen one or two companies try to combine them. The two main types themselves would be the old style user licensing model, where you pay for the number of users you have. The second main type would be a per use model. This type would be based on number of transactions or some sort of indicator like that which definitely requires a good amount of logging and seems to be the type of subscription model the site you mention is targeting.

    Rule of thumb is usually that providers using the per transaction subscription model are going to appear to have a much lower cost than providers charging per user. However, that really isn’t necessarily the case at all and if you are evaluating two tools using the different models you really need to think about how much you are going to use it.

    Personally, my company stuck with the per user model so that we don’t have to bother with tracking usage statistics as it really seems to create quite an administrative and billing headache. In the model we use, clients get unlimited use of the software for however many users they want to pay for. So in order to control our usage and billing, we simply need good control over the user management section of the application, which is really required in the other model as well.

    I know my answer wasn’t as detailed as you would probably like, but this is a very interesting topic so I’ll add it to my list and potentially come back with a more in depth post dedicated to just this topic at a later date.

  3. itatsmallbiz says:

    Just thought I’d point out this nice, higher level view of SaaS I stumbled across today.


  4. Rebecca says:

    One advantage of SaaS is that if in a normal circumstance where software is installed and a system crashes, it will not be backed up and it will take alot of time and effort to recover any lost files. However, with SaaS technologies such as Brick N Click from MTI, all data is backed up and personnel can help recover these files in less time. You should read about this retail SaaS, it’s quite revolutionary and simplifies online retail as it requires less management by a retailer. (http://www.mtiretail.com/SaaS_Info.cfm). There is also an excellent webinar explaining the customizable technology that you may be interested in. (http://www.mtiretail.com/BrickNClick.cfm?PgID=1)

  5. itatsmallbiz says:

    Yes, you are correct, managing the backup process as well as other aspects of system management in general is one of the main benefits of SaaS. However, I do want to caution users out there on the “backups” provided. A lot of times, when people here that their data is being backed up, they may think “oh good, if I mess something up or accidentally delete something, I can call and have an old version restored.” With most (all that I’ve seen) SaaS solutions, this is not the case. Their backups are full backups meant for disaster recovery at their hosting facility. So, in other words, if a tornado takes out their main server room, they will be able to use the most recent backup to restore at a different location. They will not, generally, be able to restore one client’s data to some point of time in the past. If they do offer this, it will likely be additional costs.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: