Designing a Shared Platform to Serve Competing Institutional Clients Without Cross-Contamination

https://hackernoon.imgix.net/images/K4Q6BbZTrWdXyvuSHrJRXNwJGpw2-ib03bo9.png

Key Takeaways

  • In the SaaS multi-tenancy model, we assume tenants to be the same. When you have competition between tenants, and at the same time the platform operator is a player in the same market, we have a conflict of interest issue that is beyond that of simple access control.
  • We use RBAC, separate schemas per tenant, and network segmentation to prevent unauthorized access. This does nothing to stop the issue of an on-call engineer or an internal trading desk from being in a structural conflict of interest.
  • Split: we divide the platform into a truly tenant blind core, separate per-client extensions which are independent for each instance, and infrastructure which enforces isolation. This turns “whose code is running” from a runtime decision into at deployment time which is also auditable.
  • We put isolation forward as a tiered versioned feature which we discuss in commercial terms instead of it being...

Copyright of this story solely belongs to hackernoon.com. To see the full text click HERE

Read more