Multitenancy
Multi-tenant architecture
Polytomic Connect supports multitenancy. That is, each of your customers’ Polytomic syncs can reside in separated environments that we refer to as Organizations.
Shared connections
Often, you will have a one or more systems that all your customer syncs read and write from. This could be a data warehouse, cloud storage bucket, and or a CRM like Salesforce.
Rather than creating separate Connection objects that are in fact the same underlying systems, Shared connections are a way to create pointers (i.e. shallow copies) to a parent connection. These shared connections (i.e. pointers) can be used like any regular Polytomic Connection object. The only thing you can’t do with them is edit their configuration - that can only happen on the parent connection.
The advantage of shared connections is to minimise the load from Polytomic’s connection health checks and periodic cache refreshes. By creating shared connections, you are telling Polytomic that it’s safe to run health check only on the single parent connection, rather than running them on every single connection object.
Typical workflow
A typical workflow when provisioning a new customer with Polytomic Connect looks like this:
- Create a parent connection (e.g. to your data warehouse) in your parent Organization.
- Create a new Organization for each new customer.
- Create a shared connection in this new Organization that points to your storage system in (1).
- Run all sync configuration updates for this customer using this new Organization’s API key.
The above steps cover best practices for multitenancy with Polytomic Connect.
