Developing your next project with SaaS

Anyone who’s ever used Google Docs, Dropbox, or DocuSign, has experienced the power of SaaS (Software-as-a-Service). The approach has been gaining traction due to how easy SaaS products are to deploy while offering plenty of features and great scalability at a fair price. If you’re planning to develop on-demand software of this kind, choosing the right SaaS architecture will be one of the first forks in the road.

We know this first hand. Dedicated to developing reliable, well-designed software for over 23 industries, Acropolium has been on the market since 2005. We’ve successfully delivered more than 170 projects, providing our clients with state-of-the-art custom solutions to achieve their business goals. And now, we’re excited to share our knowledge with a wider audience.

In this article, we’ll talk about the main concepts of SaaS architecture, delve into its subtypes, and discuss the best practices for creating applications with it. Ready to become a Software as a Service architecture expert? Let’s begin.

What is SaaS architecture and why does it matter?

Implementing SaaS has many advantages

SaaS, or Software-as-a-Service, is a cloud-based distribution and licensing model. It’s part of the cloud-computing universe, along with PaaS (Platform-as-a-Service) and IaaS (Infrastructure-as-a-Service). In the SaaS model, apps and data are hosted on remote servers, and users only need a device with internet connectivity and a browser to access them. Instead of a perpetual license, SaaS providers charge for their services on a pay-as-you-go basis.

Whether you’re making the move to the cloud by updating your legacy software or building brand new apps, going with SaaS is a smart choice. This cloud solution has a lot to offer.

Here are some of the top reasons businesses invest in SaaS-based development:

  • Lower TCO (total cost of ownership) compared to traditional software models. First, the infrastructure is not your concern, so you’re not paying for hardware maintenance. Second, the subscription fees are nothing compared to a full one-time license payment.
  • Easy access from any location. Unless specified otherwise for security reasons, all your employees/customers need is a web browser and their login/password.
  • Quick deployment and ease of use. Once the application has been built and configured, you don’t need to install it individually on every machine. Just set up access to the software in a couple of clicks, and you’re ready to go.
  • Excellent scalability. Whether you need to scale horizontally or vertically, the SaaS model has you covered. Free from the hassle of setting up new servers (providers take care of that), you can focus on growing your core business.
  • Robust support. No need to worry about updating the software locally — your vendor will do it in the cloud. Keep working as usual.
  • High standards of security and compliance. The SaaS model has been built with data security in mind, so you’ll automatically be getting the safest protocols and storage options. The same goes for compliance — it’s built into the cloud-hosted application.

These are some of the key benefits of implementing SaaS. But there’s more than one type of it, and you’ll need a little more help to make the right choice.

SaaS system architecture: What kind to go for?

Types of SaaS architecture

To better understand SaaS architecture, let’s take a look at its core logic.

At the most basic level, a SaaS system consists of:

  • A database
  • Nodes hosting an application with:
    • Backend (functional code with no user access)
    • Frontend (user interface)

The difference between the types of SaaS architectures lies in the way these layers are designed and set up, according to the various use cases.

For instance, the database layer may also consist of multiple nodes for better scalability or data isolation — if that’s what the target audience requires. In the case of multiple nodes that host the application(s), there may be a need for dynamic load balancing and/or a gateway, a consolidated point of user access.

Let’s look at the various classifications of SaaS architecture in more detail. We’ve split them into pairs as juxtaposing their applications and internal structures works best for explanatory purposes.

Monolithic vs. microservices architecture

Just as heavy as it sounds, monolithic architecture was the forebear of the modern SaaS and has now almost become obsolete.

Back in the day, it seemed to make sense to keep every line of code, including the database, the server- and client-side functionality, as one executable process. However, there was a need for a more dynamic approach, and things quickly changed with the arrival of DevOps and CI/CD (Continuous Integration/Continuous Deployment).

Monolithic SaaS apps were too clunky, and updating them required more time and effort than anyone could afford in a competitive market.

That’s when microservices entered the scene. This architecture is native to cloud environments, relies on APIs (advanced programming interfaces) and is relevant today. The APIs serve the function of universal liaisons between the various modules of the app. The Lego-like structure of microservice-based apps allows for more flexibility, as many components are reusable once built. It’s also easy to update and scale these blocks individually.

Horizontal vs. vertical SaaS

This next classification mostly refers to how niche or universal the final SaaS-based product should be. Horizontal architecture has been the default type until recently, meeting the demands of a wide variety of users in most industries. The horizontal approach is focused on satisfying standard business needs and capturing a broader segment of the market.

As the name suggests, the purpose of vertical SaaS is to dive deep into the specific requirements of a particular domain. Healthcare, finance, and real estate eagerly adopt vertical SaaS application architecture because it offers the niche functionality and security they need. This type of architecture emerged only recently but is quickly gaining popularity.

Isolation of data/runtime components

Depending on the security requirements, the speed of deployment, and other parameters, we can divide SaaS applications into four categories. By the way, no one’s bothered to come up with actual names for these:

Type 1. A “cloudless” solution, where both databases and applications are isolated. Banks and fintechs frequently request this type of SaaS architecture. For security reasons, those businesses need their own storage and differentiated access to data and apps.

Type 2. Similar to Type 1 in the data and runtime isolation department, but with cloud hosting. The security standards of these clients allow cloud storage, but separate access to data and runtime modules is still necessary.

Type 3. Data must be isolated, but shared application access is permitted. The customers or users of such SaaS systems only need their data to be marked for individual use while sharing the same application components/hardware.

Type 4. The most standard of the four SaaS architecture patterns, the use cases for this type don’t require separate access to data or runtime. The majority of SaaS solutions fall under this category.

Single- and multi-tenant solutions

Single-tenant vs. multi-tenant SaaS architecture

These two SaaS architecture patterns are closely connected with the previous four types, as they also revolve around the principle of isolated access.

When you build a product with single-tenant SaaS architecture, you do so because it will be serving one client at a time. This means running a single instance of the software per each user, as well as a dedicated database. The single-tenant model can deliver better security and flexibility when the project requires data segregation and sophisticated access privileges.

However, it’s also more taxing on resources and comes with high maintenance and configuration costs.

Solutions that utilize multi-tenant architecture work with a codebase shared among all users.

Past that point, as we get to the data level, there are two SaaS architecture patterns to choose from:

  • A single database for all users to access
  • Different databases assigned to individual users or selected groups

Many startups and enterprise businesses that are getting into cloud solutions opt for multi-tenant SaaS architecture as it covers most typical scenarios. Such systems are usually less resource-hungry and deliver superior performance when compared to single-tenant products. They are also easier to scale, maintain, and back up.

Check out our in-depth comparison of single-tenant vs. multi-tenant SaaS architecture patterns to gain a better understanding of the two.

As we conclude this section on the various types of SaaS solution architecture, there is another important subtype of SaaS worth mentioning.

Serverless SaaS architecture

Serverless architecture options: BaaS and FaaS

The word “serverless” might mislead you into thinking that these SaaS products run entirely on goodwill. The truth is, server nodes are still there, they just won’t be involved directly. The idea behind serverless SaaS is putting third-party services right where you need them, without the need for always-on servers.

You’ll be dealing with one of the two possible options: BaaS (Backend-as-a-Service) or FaaS (Function-as-a-Service). Let’s see what they are.

BaaS

Backend, as we briefly mentioned earlier, is the code that end users never interact with — the app’s backbone services, including the data layer. The technology was originally conceived for mobile apps, and for a while, was known as mBaaS (mobile BaaS).

When developers choose BaaS, they want a ready hassle-free solution to build the frontend functionality upon. It’s a huge marketplace: different BaaS products offer complete packages of backend features to run any service imaginable.

FaaS

The simplest example of Function-as-a-Service is a trivial contact form on a website. A user event triggers an action with a single click of a button, and — voila — the message is sent! When you don’t need complex functionality, why make a full-blown app if you can pull one function from a microservice? Call it, execute, and then kill it off when the required action is completed. That’s the essence of FaaS: simple to implement, lightweight, speedy.

Just in case you want to go a level deeper, we have an excellent article on our blog describing the difference between BaaS and FaaS.

With the choice of architecture behind us, it’s time to think about the actual development phase. What can you do to create a SaaS-based app that is both successful and sustainable?

We might have a few ideas.

Read also: How not to spend a fortune on cloud hosting.

Making it work: SaaS architecture best practices

Best practices for developing your SaaS application

You want a product that meets your specific business needs. And aligns perfectly with your startup’s mission. You need to be ready for a rapid expansion, so you want scalability at its best. You also want a short time to market, so you can’t afford delays. Your organization requires multiple levels of security access, and the industry you’re in is heavily regulated.

The guidelines listed below will help you get a clearer picture of how to achieve your goals.

Focus on the user’s needs

That’s always a great place to start. Knowledge about your potential user is immensely helpful and will govern many of your decisions. Like creating a user-friendly interface with the essential features easily available.

Strive for self-service & personalization

Your app should be robust and not require admin privileges for the basic functions to work. Operations like creating a login and password, setting up the workspace, or accessing data must work flawlessly. It’s best to minimize onboarding efforts and avoid service calls.

Go for the multi-tenant SaaS model

Unless your project has very specific restrictions, the multi-tenant approach should cover the majority of use cases. When implementing the model, remember to be very consistent with identification, so users only have access to their data.

Ensure easy integration

The SaaS architecture is built around the idea of integration. Using SaaS cloud-native architecture, you’ll have access to standard APIs when developing your app. This way, your customers will be able to connect other SaaS-based software when needed.

Get the best cloud provider

If you don’t need on-premise servers, it’s best to consider going with a known cloud provider. Start with the holy trinity of Amazon Web Services, Microsoft Azure, and Google Cloud, and dig deeper into smaller brands if you need to. With the multitude of options currently on the market, you’ll be able to find a subscription plan that fits your needs.

Don’t forget about security and compliance

Who’s going to take responsibility for compromised private data if a breach occurs? To avoid reputation losses and legal battles, make sure your SaaS-based solution has industry-standard security standards in place. For instance, an integrated firewall that is also properly set up is a must.

There may be additional requirements for projects that operate with very sensitive data, such as financial institutions or medical facilities. The servers must be kept at a secure location, and the software needs to be compliant with data privacy standards like HIPAA or GDPR.

Monitor performance and be ready to fix issues

When your new SaaS solution is up and running, it’s easy to rest on the laurels and forget about maintenance. Yes, we said you’d be able to cut back on maintenance but not eliminate the need for it altogether. Your IT department (or your software partner) will have to monitor the app’s performance and interfere when necessary.

Read also: How to choose a SaaS tech stack.

Bottom line

Software-as-a-Service has become a universal go-to approach for migrating to the cloud. Its web delivery method is convenient for the user, while its modular structure makes the developer’s job easier. From $104.7 billion in 2020 to $140,629 in 2022 — the SaaS market growth figures speak for themselves (with a little help from Gartner).

Adopting SaaS is a great opportunity to cut down on infrastructure costs while getting access to an unlimited variety of software. SaaS applications are reliable, scalable, and adhere to the highest security standards.

When choosing an available SaaS-based solution or building one from square one, it’s important to plan ahead and not lose sight of the big picture. Your initial choices will define the success of your product.

Finding the right partner to handle the development of your software is one of the choices you will never regret.

Acropolium is ready to support your project on any level. We can start with consulting and continue by offering you a dedicated team of highly trained professionals to get the job done.

Get in touch today, and we’ll talk you through the options.