Thanks @high-optician-2097 I agree that there is not one right way to do multitenancy. Here's my perspective: As long as the logical isolation is available there is a huge range of resource isolation. When that resource isolation is provisioning completely separate instances it becomes more of a hosted or virtualized model. A single instance of the software should serve multiple tenants to be multi-tenant. I think separate kafka clusters does not make multi-tenant kafka, no matter out streamlined the ops are, whereas pulsar has an hierarchical authentication model that yields first class multiple tenants on the same software.
On face, console.ory.sh appears to be a multi-tenant control plane that is provisioning completely separate instances Keto and Kratos for each Ory Cloud Project.
What is logical isolation but authorization? So I dont think there is really any catch to supporting multiple tenants with one Keto, but for self-serve a tenant needs to be authorized to change only the permissions that do not effect others. Even if RBAC with predefined roles was the only self service option, then tenants do not need to write to Keto at all, just decide which of their users were labeled with which roles (I think, what am I misunderstanding?).
Kratos seems a bit trickier but probably because I dont understand, both how to provide tenant with self-service capabilities and to have the logical isolation.
This is the kicker - Its complex and there are so many options right? The term, multitenancy, seems to have some overload too, like 'data-mesh' and "devops'. I think a a doc explicitly describing Ory Cloud's, Keto's, and Kratos' multitenancy positions would be quite helpful. Even better would be the addition of implementation guides for one or two of those "right ways" that are compatible with Ory. Product compromises are made all the time in going to the market so my ideal might be less important than whats available when looking for vendor/partners.
I can send in an RFP, but I dont need to do that with other vednors and would only do it because Ory is open soruce and not open core (please dont let VC pressure changing this model!). Do you think there is a fast fail with how I have described multitenancy? I am after one UI for all tenants - like the rest of our app - with members of the tenant able to manager their own teams, permissions (even if just assigning existing roles), and federated SSO.