The common metaphor for multi-tenant systems is the block of flats where tenants share the building and its services (water, gar, electricity, security, etc) but each tenant may organise and furnish their flat differently.
The part – that is often left out – is where the landlord limits each tenant how much change they can make to the flats, how many guests they can invite, how much of the services they can use. These limits what make multi-tenant buildings viable by protecting the infrastructure for everyone’s benefit.
SaaS and PaaS and IaaS are good examples of shared environments where the multi-tenancy metaphor works well.
The service providers – landlords – manage these environments closely, and enforce the limits strongly. This way everybody benefits the same way and providers can maintain their service levels (SLAs).
This metaphor struggles when transitioning to the next level of abstraction – sharing resources within one tenancy.
Multiple projects, new features, updates, fixes from multiple sources draining resources within the same tenancy.
The river metaphor for a shared environment is more suitable1
Each project and feature is an industrial installation – a factory plant, a power station, or any other build directly connected to the water ways.
Well behaving projects will keep the environment clean and liveable for everybody.
Projects with weak or no governance will pollute the waterways and ruin it for themselves and everybody else. Those downstream will have to work extra hard to clean up and maintain it for the rest.
Why does the river metaphor work better?
Because the societal and policy issues better resonate with the equivalent governance issues. It emphasises the negative effects of badly managed changes as opposed to showcasing the positive effects of a well managed environment.
It highlights the need for better and stronger governance in the absence of hard limits.
1Inspired by Seth Godin’s podcast episode: The river of time