Whether you like it or not, software as a service (SaaS) has become extremely popular amongst both individuals and companies. But how good of an idea is it?
The past decade or so has seen an ever-increasing number of people turning towards software as a service (SaaS) providers to meet their computing needs.
Popular examples include Gmail, Google Drive, Google Docs, Jira, etc., but hundreds if not thousands of other companies both large and small have started offering SaaS. Some of their offerings are free and others require the user to subscribe.
This all sounds fine and dandy and there are certainly a lot of benefits, but is it all rainbows, fairies and roses? Or is there a darker side to it as well? Should everyone jump on the bandwagon or are there still reasons for sticking with more traditional applications installed locally on a user’s machine?
Those are some of the questions we are going to be exploring here.
First of all, let’s start by establishing a few of the basics of SaaS.
What is SaaS?
For the purposes of this article, we will be looking at the offerings that provide full-fledged applications on the internet. They run in a browser and/or as an app on a smartphone or tablet and are available from any modern device with an internet connection.
The data produced in or by the application is saved on a server and is only accessible by the user through the application itself. In most cases, an internet connection is required to even use the application at all.
Here are some popular examples:
- G Suite (Google Docs, Gmail, etc)
- Jira Cloud
- WordPress.com (not WordPress.org)
There are, of course, examples of SaaS that are more open such as WordPress.org or Jira Server which allow you to download the software and install it on your own server. However, we are only going to focus on the closed systems for now.
Who Uses SaaS?
Users range from private individuals looking for an easy and convenient way to get stuff done on their digital devices to large, multi-national corporations who are looking for a way to outsource part of their IT expenses as well as a way to provide a secure, consistent, centralized way for their employees to do their work and collaborate online.
The new and sudden challenges faced by companies to keep their employees productive and working during the current COVID-19 pandemic has driven even more to use SaaS.
So now that we’ve covered some of the basics, let’s get to the good part.
The Good Parts
It’s always good to start positively, so we’ll first explore some of what makes SaaS a (rightfully) attractive option for people. Software as a service offers an enormous amount to the average user as well as to companies. Here is a quick list:
- It’s fast
- It’s generally compatible with all devices with an internet connection
- It’s available from anywhere at any time
- It’s convenient
- There’s no maintenance required
- There’s no need to worry about backups
- Security is handled by someone else
- Licensing is uncomplicated
- Updates don’t have to be installed and/or distributed throughout an organization
- All users with access will always have the latest, up-to-date version of whatever kind of data the application handles without any hassle of synchronization
- Most SaaS applications offer some sort of ability to collaborate with other users
- All things considered, it doesn’t cost much
The list could go on for quite a long time and will, of course, differ greatly for each specific use-case.
Individuals love it because they can set it up and use it without much or even any technical know-how. They don’t have to worry about backups or about security and they can access it from any of their devices.
Companies love it because it is easy to license and update, it saves them the time and money of setting up and maintaining a comparable self-hosted system and it allows their employees to be productive from wherever they are working. They always have the latest version of whatever they need to work on or reference and can even usually collaborate with other employees.
This last point has become even more vital with the challenges currently faced by companies during the COVID-19 pandemic. Individuals can also take advantage of it if they want to, say, share something with friends or family that they can’t currently visit.
It also allows businesses to be more flexible in terms of which devices they provide their employees. A lot of modern companies let their employees choose between Windows, Macs or Linux machines which would not be possible if they were tied to a single piece of software that only ran on a single platform.
All of these are certainly perfectly legitimate reasons to use SaaS, but what are some of its detriments?
The Bad Bits
As we’ve seen, there are certainly plenty of benefits to using SaaS, but no concept is without its darker side. We’ll start with a few major points and then break them down.
Since this article is already full of bullet-lists, let’s make another one:
- Security is handled by someone else (yes, that was also on the good list)
- Direct access to your data and vendor lock-in
- Reliability and offline access
These few points sum up the fundamental problems of software as a service. Now let’s take a look at them one at a time.
Security Is Handled By Someone Else
At first glance, this point seems quite beneficial. It certainly is for those who have little to no experience in securing servers and may well be better in most cases for most people. However, that also means you have to rely on someone else to make sure that your data is safe from hackers, from other users accidentally being able to access it, etc.
This issue becomes particularly thorny when sensitive company data is involved such as financial records or trade secrets.
Of course another thing to consider is communication of security breaches. In the past decade or so, there have been some very high profile instances of SaaS companies whose databases were breached and information was stolen, but they didn’t inform their customers at all. The breach was only made known by disgruntled employees or accidental internal communication leaks. For companies relying on services with sensitive data, that could be fatal.
These high profile cases also show another detriment in terms of security. If a service is particularly popular, it is a massive target for hackers since they know that if they can breach the system, they will have gained access to a gold mine of data.
If a company maintains their own software and manages their own security, they can lock their systems down in a way that works for them and they are most likely not going to be a prime target for hackers. They will also know for sure if there have been any security breaches or attempts to hack the system.
Direct Access to Your Data and Vendor Lock-In
At the beginning of this article, we defined SaaS as an application that only allows you to access data produced in it through it. What that means is that you have no direct access to your data whatsoever. You can’t just open up the database and perform a quick query to find something. You have to rely on the application itself in order to access it.
The vast majority of the time, that isn’t going to be a problem. You might be thinking that you wouldn’t want to do anything in the database directly anyway or that most users won’t even know what a database is. And that is probably correct in most cases.
But now what if you decide you would like to change the software you or your company uses? Without direct access to your data, you can’t perform any automated migrations. Instead, you have to have hope that the SaaS provider also provides an export tool of some sort that exports your data in a format that the new software understands. Alternatively, you can hope that the new software can import from the old provider.
If neither is possible, then the data will have to be copied by hand to the new system which could be problematic and expensive if you have massive amounts of it.
That is what is known as vendor lock-in. It is not in a SaaS provider’s best interest to offer robust exporting tools for other systems. If anything, they may build importing tools to entice users of other systems to switch to theirs, but there is no guarantee that they will do either or that it will work perfectly. Data may be lost or become corrupt when being exported or imported if the provided tools aren’t well-built.
Reliability and Offline Access
Most software as a service providers tout their reliability as a major benefit of their service. You will see claims saying that they have a record of 99.999% uptime or something to that extent and most of the time, it’s probably true.
But what if you’re lucky enough to have a tight deadline and you just so happen to fall into the 0.001% of downtime that they have? Anyone who regularly uses SaaS will know the frustration you feel when all you want to do is get something done, but the system is down. No system is perfect and even with self-hosted systems, there will be downtime.
This is where native applications have a real advantage over online SaaS providers. If, for example, you rely on Google Docs, but for some reason it’s inaccessible, there isn’t anything you can do. You just have to sit and wait it out.
If, however, you use native applications such as those provided by LibreOffice, Apple iWork or Microsoft Office, you don’t have anything to worry about. You can still access your documents because a service being online and running is not a prerequisite to opening a locally stored document.
The same applies for working offline entirely. When traveling, for example, there is no way to ensure that you always have a reliable internet connection, but if you don’t have to rely on SaaS providers, you can work offline at any point without a problem.
The elephant in the room here is, of course, the ability to collaborate. Working offline obviously precludes the ability to collaborate with other people. Native applications in general offer at best a mediocre collaboration experience if they offer it at all.
No one said it was perfect.
The last point on the list above is longevity. When you rely on another company providing and maintaining a service, you have to take into consideration the fact that said company or service may not be around forever. That even applies to massive SaaS providers such as Google or Microsoft.
In a volatile world, it is perfectly possible that providers will quite suddenly go belly up and there you are unable to access any of your data. Some, if they’re nice and still have enough resources, may provide ways of exporting your data before they shut down their services, but others may just shut it down from one day to the next. It’s entirely unpredictable.
You may be thinking that this is an unlikely scenario and, especially for the bigger SaaS providers, it probably is. However, a more likely situation to find yourself in is one that Google users have quite a bit of experience with: the provider suddenly losing interest in the product and shutting it down.
In this case, the result is the same as if the company went out of business. You will lose access to the product you rely on and they may or may not provide a way for you to export your data to another format.
Again, this is where native applications clearly have the advantage. Sure, their creators may just as well go out of business or simply discontinue the product, but at least then you have access to a local version that doesn’t rely on them maintaining their servers and that you can continue to use for as long as you want — or at least as long as it takes to convert your data to another format.
Whether or not you choose to use software as a service is highly dependent on your situation. If you are part of a massive, international corporation with offices around the globe and you want to ensure that all of the tens of thousands of employees have the same ability to communicate, collaborate and get work done, then SaaS may be the way to go. If you are an individual only looking to write a document or two and don’t need most of the benefits of SaaS, it may not be worth it.
This article mostly focused on the negative aspects of SaaS, but that doesn’t mean there aren’t perfectly legitimate reasons to use it. In fact, there are tons of good reasons, but it is also extremely important to take a critical look at it as well and ask yourself whether the benefits truly outweigh the detriments. Just because it’s popular or shiny and new doesn’t necessarily mean it’s better all of the time.
What are your experiences with software as a service? Have you had any bad experiences? Or have they been primarily good? Let us know down in the comments below.
An episode of the Developer’s Notebook Podcast also covers this issue. If you would like to listen to it, visit the post for the episode.