Scalable Software as a Service Architecture
Ardy Dedase
TL;DR
The paper tackles the challenge of building scalable and maintainable SaaS platforms by advocating an isolate-and-reuse architectural pattern. It defines core components—Routing Service, Product Web Apps, Web App Repository, Authentication, and RBAC—and explains how they interact to route requests, enforce permissions, and share common functionalities. High-level design and sequence diagrams illustrate ownership, separation of concerns, and dynamic exposure of internal versus public product apps, with practical implementation tips. The work emphasizes treating documentation as part of the product and provides templates to onboard engineers and facilitate design reviews to avoid costly architectural missteps.
Abstract
This paper explores the architecture of Software as a Service (SaaS) platforms, emphasizing scalability and maintainability. SaaS, a flexible software distribution model suitable for individuals and organizations, has become prevalent with the advent of Cloud services. This paper aims to provide a high-level design reference for establishing a scalable and maintainable SaaS architecture.
