Accelerating SaaS with SourceFuse's ARC SaaS on AWS
SourceFuse Technologies, an AWS SaaS Competency partner, is joining us to discuss their modernization practices for customers who are transitioning to SaaS. Deep dive on their "ARC SaaS" solution - an open source framework with a customizable SaaS control plane on Amazon Elastic Kubernetes Service (EKS) and a collection of reusable modules to accelerate the transition to SaaS.
Anthony McClure
Amazon Employee
Published Sep 4, 2024
Hello, Builders! 👋
In the latest episode of AWS SaaS Factory's "Building SaaS on AWS" Twitch series, we got an in-depth look at ARC SaaS - an open source solution created by AWS SaaS Competency Partner SourceFuse to accelerate Software-as-a-Service (SaaS) development on AWS.
One of the key challenges SaaS providers face is building out the "control plane" - the layer that handles multi-tenant management, provisioning, metering, billing, and observability. While many founders are focused on their core application functionality, the control plane is critical for successfully operating and scaling a SaaS offering.
But as Kabir Chandhoke, COO at SourceFuse, explained, "Founders are always thinking about what value they can provide to their users. So the control plane or what the control plane offers doesn't even figure on their list."
This gap was the driving force behind ARC SaaS. Built as an extension of SourceFuse's existing ARC rapid application development framework, ARC SaaS provides the control plane functionality through a suite of reusable, open source microservices and infrastructure-as-code modules.
"ARC SaaS is something which is built following the reference architecture provided by the AWS SaaS Builder Toolkit. It adds a layer of actual microservices and a layer of IaC written in Terraform, which basically builds on top of it," explained Samarpan Bhattacharya , Head of Application Development at SourceFuse.
During the session, Samarpan provided an overview of the core components that make up the ArcSaaS control plane:
- Identity and Authorization: Handles tenant identity setup and isolation using AWS Cognito
- Tenant Management: Automates tenant provisioning workflows
- Subscription Management: Allows defining pricing plans and tiers
- Billing and Payments: Interfaces with AWS Marketplace for billing
- Feature Flagging: Enables/disables features per tenant based on their plan
- Analytics & Observability: Provides tenant-aware metrics, logs, cost tracking
The architecture follows an event-driven model, with tenant onboarding requests triggering provisioning pipelines via AWS EventBridge. These pipelines leverage AWS CodeBuild to deploy the application stack per the selected deployment model.
One key aspect of ARC SaaS is its support for multiple tenant isolation models:
- Pooled Compute & Storage: All tenants share the same compute (Amazon Elastic Kubernetes Service (EKS) cluster) and data stores. Ideal for free tiers.
- Pooled Compute & Siloed Storage: Tenants get a dedicated data store but share the underlying compute layer.
- Siloed Compute & Storage: Dedicated compute (EKS node groups) and data stores per tenant for maximum isolation.
"Using those plans, you can obviously within the same product, you can customize a plan and you can assign a plan accordingly to your customer," noted Samarpan.
To showcase ARC SaaS in action, Samarpan provided a live demo, and highlighted ARC SaaS' open source nature, allowing users to not only use the pre-built components but also extend and override them as needed.
SourceFuse has an ambitious roadmap for enhancing ARC SaaS into the future, including:
- Tenant off-boarding and data compliance process
- Deeper integration with AWS Marketplace
- Support for additional identity providers like Auth0 and Keycloak
- Expanding beyond EKS to support Amazon Elastic Container Service (ECS) and serverless deployment models
As Karthik Annamalaisamy from the AWS SaaS Factory team noted, "ARC SaaS as a solution will definitely help customers on accelerating their SaaS journey."
By open sourcing their learnings from supporting SaaS development engagements, SourceFuse aims to provide a head start for companies looking to build multi-tenant applications on AWS. With ARC SaaS handling complex control plane capabilities, SaaS providers can remain focused on developing their core product functionality.
Head over to our Twitch channel or YouTube and watch the full episode now! And don't forget to share your thoughts, questions, and feedback with us. We're always eager to hear from the community and continue pushing the boundaries of SaaS on AWS.
Happy building, folks! 🚀
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.