Multiple clients / multitenant support


#1

Hi

We are considering SP for our data processing pipelines, right now we’ve our own tech covering most of the stuff SP is covering.

However, we wanted to understand if SP can handle multiple clients data. i.e. We are a SaaS provider(an alternative to Segment) collects data from various clients, we wanted to know how would SP support the multitenant architecture.

Thanks,


#2

Hi @vishnuvvn,

It really depends on what you are trying to do:

Build an opinionated reporting solution for multiple customers

This works fine. Typically you:

  • Come up with a standard set of events/contexts
  • Standardize your tracking
  • Multi-tenant based on app_id
  • Build standard reports which are filtered to a given tenant

Provide general event analytics to multiple customers from a single pipeline

This doesn’t work well. The Snowplow pipeline is extremely customizable, but it is designed around the idea that there will be one set of customizations applied to a single pipeline.

A simple example: the referer parser enrichment takes a single set of domain names - these are the domain names which will be treated as internal referrers for all events in the pipeline. It doesn’t make sense to have both coke.com and pepsi.com in that list.

To provide general Snowplow-powered event analytics, you need a Snowplow pipeline per customer.

Hope this helps!