Software as a service (SaaS) is a way of delivering software, whereby the program is hosted by a third-party provider and available to approved end-users through the Internet. This way, users don’t have to download the software to run it locally on their PCs; they can simply access it through a web browser.
This opens a world of possibilities for businesses to scale and accelerate their time to market. Hence, it’s not surprising that SaaS has gone mainstream, just like cat videos on Youtube. In Gartner’s latest projections about the public cloud service revenue, SaaS continues to represent the largest cloud market, expected to reach $143.7 USD by 2022.
And the reason is simple: SaaS is a cost-effective and practical choice for all types of business, especially in an era where digital needs and customer expectations are continually changing and delivery from the cloud enables the agility to respond quickly. However, although SaaS is wildly popular in some circles, there are still concerns, risks, and misconceptions. Mainly because this type of cloud service implies relying on an external source for data storage and the available functions and features provided by the solution.
In this blog post, I’ll cover the benefits and risks of SaaS solutions, but I will also discuss options to make the most out of those benefits without hitting a wall.
Before I get into the details, I still see a lot of confusion in the industry about the different models of cloud service. I’m talking about platform as a service, software as a service, and infrastructure as a service. So, to ensure we’re all on the same page, let’s do some cloud housekeeping first.
What Is Software as a Service (SaaS)?
Software as a service (SaaS) is a software delivery model licensed by subscription and centrally hosted. The vendor provides a single copy specifically designed for SaaS distribution, most often in a multi-tenant architecture, to all customers. This way, the source code is the same for all end-users, and when new features are added, they are automatically available to all customers.
Examples of SaaS are Cisco WebEx, Zendesk, and even Facebook. Which is very different from infrastructure as a service or platform as a service. IaaS is pay-as-you-go for services like servers, storage, networking, and operating systems. Examples of IaaS are Amazon EC2 and S3, and Google Compute Engine. PaaS, as the name reveals, is a platform provider that gives you the tools to develop applications, like AWS Elastic Beanstalk, Heroku, Microsoft Azure, and Red Hat OpenShift (Red Hat is now an IBM company).
Here’s what I mean:
A few weeks ago, I wrote a post about PaaS and what it has to do with Application Platform as a Service (aPaaS, yes, another acronym to make your life easier). You should pay it a visit if you want to learn more.
Benefits of SaaS
The biggest benefit of using SaaS applications is that you don’t need to install and run applications on your devices like you do with on-premises solutions. This way, you are able to cut initial costs related to hardware acquisition and maintenance. Furthermore, the SaaS provider manages everything related to security, availability, and performance, thus, helping you reduce costs associated with software licensing, installation, and support.
Here are a few more advantages of SaaS:
- Payment flexibility: SaaS is a subscription, pay-as-you-go model. Customers can manage their budgets better because they can choose the best licensing that adapts to their needs and make payments accordingly. SaaS models also give them the flexibility to terminate the contract at any time, eliminating those recurring costs.
- Scalability: Customers can always revisit their licensing model and access more or fewer services depending on their business needs at that time.
- Simpler upgrades: With SaaS, IT departments don’t have to worry about painful upgrades. The provider takes care of that for them. Users always have access to the latest version of the service. When the SaaS is delivered from a multi-tenant architecture, the software provider benefits, too, because new updates and upgrades are automatically available to all users in all the companies that subscribe.
- Accessibility: Customers can access SaaS anywhere at any time as long as they have an Internet connection and a web browser.
- Easy customization: Despite the multi-tenant architecture, most SaaS applications can be easily customized to fit the business needs of each customer. These customizations don’t impact the common infrastructure and are always preserved when an upgrade is performed.
Disadvantages of SaaS
So, if software as a service is that great, why hasn’t the whole world gone SaaS crazy? The reason is simple: although its benefits are very attractive, there are concerns about the model as well.
- Security: This is the number one concern companies have when they consider a SaaS application. By adopting this type of solution, you’re entrusting business data to a third-party service provider. If you’re dealing with sensitive information, you need to be especially cautious with identity and access management. When you adopt a cloud solution, data leaks, hacker attacks, and other incidents are always a risk.
- Risk of service termination: If, for some reason, the provider has to cease the service, the customer won’t be able to continue to use it and will lose all the data shared with the provider. The good news is, usually, if the service is discontinued because the company went bankrupt, for example, the vendor lets the user know with enough time to recover their data.
- The need for a good Internet connection: If the access through a web browser is what makes SaaS so accessible, a poor Internet connection can limit its usage. For example, slow internet connection can lead to annoying load times, and no connection at all as makes the app inaccessible. This is particularly true with field workers. This problem limits the optimal use of SaaS, and ultimately, it may cause economic damage.
- Inaccessible during downtime periods: Because of its multi-tenant architecture, if the service is down from the provider’s end, every customer—and I mean everyone that uses that SaaS—won’t be able to access the application.
- Limited features: Although SaaS usually gives you some customization bandwidth, it’s still limited. When you subscribe to a hosted application, you are constrained to the features and functionalities that the solution provides, which may not cover all your business needs and use cases.
Evaluating Other Options
Okay, despite the risks that SaaS entails, you just can’t ignore the changes it’s brought to the software world. SaaS democratized access to features and workflows while having a higher level of security and service availability, which was previously only available to Fortune 100 companies.
But, as technology continues to evolve, new alternatives to SaaS applications have been gaining traction in the software industry. Namely, platforms that support rapid application development.
One of the most popular alternatives is low-code and no-code development platforms. In fact, just this year, Gartner launched the Magic Quadrant for Enterprise Low-Code Application Platforms describing the market as follows:
“LCAP vendors represent the the vanguard of the movement to democratize application development by increasingly replacing standard business application development in Java or .NET, and providing differentiating alternatives to commercial off-the-shelf or SaaS applications.”
Low-code and no-code platforms allow companies of any size to quickly design, build, customize, and deploy business apps with little (low-code) to no coding (no-code). By using a drag-and-drop user interface (UIs), form builders, and visual process modeling, organizations can accelerate software development from months and even years to weeks and boost innovation.
Low-Code vs. SaaS
Given the risks and limitations of SaaS solutions, low-code platforms have been growing in popularity as they share the benefits of SaaS discussed above while circumventing the risks associated with these solutions.
One of the leading vendors in Gartners’ Magic Quadrant, OutSystems, allows companies to develop applications visually, easily integrate with any system, and change applications with no limits. The advantage of using this application platform as a service, instead of buying a SaaS solution are many:
- Trust: OutSystems offers Sentry, a security service for cloud-based applications that reinforces the more than 200 (and growing) risk and security controls in-built in the platform. Those points cover application protection, continuity, and availability, data protection, infrastructure protection, policies, and procedures.
- No-vendor lock-in: With a standard architecture with no lock-in, if you ever stop your OutSystems subscription, you can retrieve and keep the last version of the generated source code for your applications and your application data.
- Offline features: With OutSystems, you can build apps that aren’t necessarily dependent on Internet connectivity. The platform provides the necessary capabilities to implement use cases that require having offline access on your mobile apps, from a very simple app that caches data and content for performance to very complex apps that do offline calculations and require complex conflict resolution.
- Unlimited customization: With low-code platforms, you’re not limited to the existing features, as you can quickly build software that adapts to the way your organization works.
Let me make a disclaimer herer: DIY and I are not joined at the hip. There are situations where an existing SaaS solution is perfectly enough for your needs. Why waste your time building apps that don’t even need that much customization, when the market already offers a great product? For example, commodity applications, like HR or Finance apps. Personally, I use Adobe Creative Cloud and Microsoft 360 and appreciate how they save wear and tear on my hard drive and keep me up to date with releases.
The power of low-code is that it allows you to create any mobile or web application from scratch without limits or to create apps that integrate with an existing SaaS and complements it with the functionality you need.
Consulting firm ISB Global, for example, built Smart!World, a SaaS solution that manages customer service requests and presents them to field workers on any device. Just the first ISB SaaS customer saved close to $300,000 in software and hardware in the first year after subscribing to Smart!World.
“In two months with OutSystems, we were able to deploy the first version of Smart!World extending the power of SAP to mobile and web. OutSystems is a key component of our product development roadmap and its capabilities enabled us to build and deliver functionalities to meet our customer’s requirements and timelines.”,
Chris Williams, Managing Director
Wheels, on the other hand, used low-code to rapidly add new capabilities that seamlessly coexist with their core application, a SaaS-based multi-tenant client portal. Now, Wheels can quickly and flexibly add new capabilities to its core system and integrate the end-to-end client experience, business operations, and supplier network.
“OutSystems gives us control over the user experience so clients can seamlessly navigate between applications built with different underlying technologies.”
Tim O'Hara, CIO
The “build versus buy” dilemma can be a painful one. If you’re looking for resources to help you make that decision, our CEO, Paulo Rosado, wrote a great blog post about it.
To learn more about low-code platforms, check out this page. And if you want to find out who the leading platform vendors are, according to Gartner, get a free copy of the Magic Quadrant for Enterprise Low-Code Application Platforms right here.