I am of the opinion that a true SaaS Maturity Model 4 with multi-tenancy of single DBs are not desirable always. In this age, where infra is cheap and dynamic provisioning is very much achievable, I would tend to think of a serviceable model on demand.
It has some added advantages in my view
- Databases are segregated and its a good thing. Different databases for different clients - this is also a way to ensure data segregation for security and data protection and compliance perspective.
- If a subscriber pulls out, this is much easier to close down the environments.
- Easier to maintain client specific environments and data.
I can well imagine a dynamic environment on the cloud, where one can provision on demand
- A container having just the services are spun up,
- A separate database instance is spun up (maybe using the same database server but logically separate)
- Connection URLs are setup to the database instances from the services, proxies and firewalls/routings configured, certificate setup etc etc
I know there are lots of work to be done, but I believe with right team and infrastructure automation, this is the right way to go.