The paper
SaaS architecture when code is cheap
SaaS architecture when writing the code is no longer the expensive part
Multi-tenant SaaS architecture rests on a premise that has held for decades: that the most expensive part of delivering software to many customers is writing the code. Every structural decision follows from it. Write once, share as many layers as possible, express customer difference as configuration, fall back to custom code only when configuration runs out. Because the resulting flexibility is fixed when the product is designed, requests outside it tend to be met under deadline with special cases in shared code, and technical debt accumulates.
This paper takes as its working assumption that the premise no longer holds, and follows the consequences. The question that organises the argument is what the product's core value is, stated in terms of the needs of its domain. The answer decides what stays shared, what can move, and how the product can be priced. When producing code becomes cheap, the layer at which a product draws its line between shared and per-customer can move down. Pressure to move it is arriving from three directions at once. Customers want to start using the product without a long onboarding. They want changes to be easy after go-live. They want it personalised below the tenant, down to the individual user, and they increasingly expect their own agents to operate it.
All sections of the paper
1The premise that has been withdrawn
SaaS architecture was built on four rules that follow from code being expensive.
2Multi-tenancy as a line through a stack
Multi-tenancy can be treated as a line through a stack of layers: shared below, per customer above.
3What the customer will ask for
Customers increasingly expect three things at once: use without a long implementation, easy change after go-live, and personalisation below the tenant, down to the individual user.
4Pricing what the customer assembles
A customer's domain document works as a bill of materials: the capabilities it uses and how they are assembled.
5Two directions of travel
Risk grows with depth in the stack.
6Onboarding first
Onboarding is the first layer to move because the product itself does not change.
7Horizontal and vertical modernisation
Modernising an interface screen by screen keeps cost linear in the number of screens, even with agents.
8The knowledge graph as the starting inventory
The product's knowledge graph records what does not vary between customers, which makes it the right starting inventory, at a level above the detail generating a screen needs.
9A grammar above the graph
A grammar above the graph records what a valid instance of each primitive looks like.
10Configuration schema and grammar
A configuration schema plus prose instructions leaves conditional rules unenforced and review running over every attribute.
11Degrees of freedom and what they cost
A grammar splits one long crossing, from natural language to a narrow schema, into two shorter ones with a readable document in between.
12Verification moves from reading to running
People reviewing formal artefacts miss errors, so verification should move from reading to running: a case corpus of inputs with known outputs that the agent runs its own document against, with results shown to someone qualified to judge them..
13Evidence from two applications
Two applications illustrate the approach.
14What this asks of a product roadmap
For an existing product the recommendation is about sequence: avoid a screen-by-screen programme, invest in the grammar and compiler, take onboarding first, and use any planned re-architecture to design the lower line in..
15What the grammar demands
Deciding what goes into the grammar is architectural judgement.
16What would show this wrong
The argument would be shown wrong if grammar coverage stalls, if more than 10% of validator-passing documents turn out semantically wrong in production, or if the case corpus proves impractical to build..
Drill-down chapters
The brownfield path, layer by layer. These play after the main video, or on their own.