Why Develop a SaaS App
Control Plane?
The global SaaS market is growing rapidly, projected to reach $317.55 billion in 2024, up from $273.55 billion in 2023. This growth highlights the increasing adoption of SaaS solutions across various industries and underscores the need for robust and scalable SaaS solutions.
At SourceFuse, we’ve been building SaaS apps and platforms for more than a decade, but we really started thinking about it as a practice in 2019. That’s when we started building ARC – an accelerator that provides reusable assets to quickly put together the foundation of an enterprise grade SaaS app.
ARC provides more than a dozen microservices, reusable IaC modules, and frontend boilerplates that significantly accelerates an application build. This can be considered as the “Application Plane” of a SaaS app i.e. the actual features that you sell to your customers. However, the key ingredient that goes into building a solid SaaS foundation is the “Control Plane” i.e. how you deliver these features to your customers and get paid for them.
SaaS founders/companies typically don’t prioritize building control planes when getting started, since control planes don’t offer any direct customer value. Therefore, it’s hard to justify spending months of engineering effort building them.
But almost always, as the business scales and acquires customers, there’s a need to automate customer onboarding and provisioning, upgrading subscription tiers (which could involve complex data migration), build features toggles, etc. This is when teams then try to retrofit the control plane features into the app without any real segregation of responsibility. The result is a giant ball of tightly-coupled ‘spaghetti’ with app features entangled with the control plane, also known as ‘technical debt’.
Solving Challenges with ARC-SaaS
Our mission is to empower SaaS companies and traditional ISVs to focus on their core business and leave the heavy lifting of building a solid technological foundation to us. With ARC-SaaS we’re able to solve the most common challenges faced by SaaS companies.
Tenant Onboarding and Provisioning
Implementing a streamlined process with just a few onboarding steps, guided setup, personalized support, and an orchestrator to seamlessly roll out new tenants is the need of the hour. Such an approach makes it easy for tenants to integrate and start using the services efficiently from day one but is a difficult challenge to solve after the launch of the application.
Tenant Isolation
Balancing resource allocation without compromising performance or security for any tenant adds another layer of difficulty. Ultimately, while tenant isolation is fundamental for building trust and maintaining the integrity of a SaaS application, it demands meticulous planning and implementation to address these challenges effectively.
Tenant Management
Tenant Identity
Tenant identity is critical for a SaaS application because it enables the precise identification and authentication of each tenant, ensuring that users access only their own data and services. This mechanism is fundamental for maintaining security, enforcing access controls, and providing a personalized user experience. However, implementing tenant identity management poses several challenges. It requires a sophisticated identity and access management system capable of handling multiple tenants with varying permission levels and access needs.
Ensuring seamless single sign-on (SSO) and multi-factor authentication (MFA) across diverse tenant environments can be complex. Additionally, the system must be robust enough to prevent identity spoofing and unauthorized access, which can compromise the integrity of the application. Balancing these security measures with user convenience is crucial but challenging, as overly stringent controls can hinder user experience, while lax measures can expose the application to security risks.
Customizable Plans
Tenant Observability and Analytics
When building a SaaS product, ensuring resource health, preventing over or underutilization, and avoiding discrepancies are critical concerns. Implementing robust observability and analytics tools allows providers to monitor and manage resources effectively, ensuring optimal performance and reliability.
These tools provide real-time insights, enabling proactive issue resolution and maintaining service quality. In addition to this, having observability at a tenant level into cost and performance helps a business take data driven decisions on how to charge for their service and create sensible tiered plans for different customer segments. This can make or break a SaaS business.
The SourceFuse ARC-SaaS Approach
To build a scalable SaaS product, providers need a framework that addresses all the above challenges out of the box, allowing them to focus on delivering their core services to customers. A SaaS control plane accelerator that handles everything while accommodating the unique requirements of each product is essential. This is where ARC-SaaS by SourceFuse comes into play, effectively meeting your needs.
The ARC-SaaS Control Plane provides an out-of-the-box solution to the above mentioned challenges as an open source project that implements the patterns, principles and best practices laid out by the AWS SaaS Builder Toolkit.
The ARC-SaaS Control Plane is responsible for managing and orchestrating the overall operation of the SaaS product on Amazon EKS and is foundational to any multi-tenant SaaS model. It includes components and services that handle configuration, monitoring, scaling, security, and IaC modules written in Terraform for streamlined deployment and operations.
ARC-SaaS Control Plane will include those services that give consumers the ability to manage and operate their tenants through a single, unified experience. The core services (shown above) represent the collection of services that are used to orchestrate a multi-tenant experience, ensuring the system runs smoothly and efficiently. The application plane, on the other hand, is where the actual business logic and product services reside – the layer that directly interacts with end-users and handles their requests.
Our control plane utilizes a catalog of prebuilt microservices and Infrastructure as Code (IaC) modules to streamline these operations. This allows for rapid deployment and management of products across both private and public cloud environments, ensuring high availability and robust security measures.
Frequently asked questions
ARC-SaaS is an open source control plane that can be leveraged by anyone trying to build a solid foundation for their SaaS build on AWS.
Apache 2.0
Tenant onboarding, provisioning, isolation, subscription plans and pricing, tenant specific observability and cost monitoring.
ARC-SaaS provides Siloed, pooled and hybrid models across compute and storage.
Each SaaS application is different. You may use tens of different infrastructure elements like compute types, queues, databases, etc. ARC-SaaS currently only deploys to EKS and provides storage isolation on SQL databases like Postgresql, MySQL, etc.
YES! Our SaaS and AWS cloud experts can help you tailor ARC-SaaS for your needs and extend it to your application and deployment architecture.
For those looking to streamline their SaaS development process and avoid the pitfalls of an unmanaged control plane, SourceFuse and ARC-SaaS provide the expertise and tools needed to succeed.