Vai al contenuto

Multi-tenancy

La multi-tenancy è un’architettura software in cui un solo deployment serve più clienti, chiamati tenant, su un’infrastruttura condivisa, mantenendo i dati di ciascun tenant isolati a livello logico. Un’unica istanza dell’applicazione, un unico database e un’unica base di codice gestiscono molte organizzazioni insieme, e un identificativo di tenant separa i record di un cliente da quelli del successivo.

Aggiornato: 2 min di letturaDi fromHello

Punti chiave

  1. Multi-tenancy significa che un solo deployment serve molti tenant isolati su un’infrastruttura condivisa, con il confine imposto sia nell’applicazione sia nel database.

  2. L’isolamento va per gradi: un database condiviso con una chiave di tenant, uno schema per tenant o un database separato per tenant. Più l’isolamento è forte, più costa gestirlo.

  3. Ospitare sui tuoi server una piattaforma multi-tenant ti dà il tuo confine di tenant: una sola installazione può gestire più brand o workspace di clienti senza un abbonamento per brand.

Come funziona la multi-tenancy?

Un’applicazione multi-tenant associa un identificativo di tenant a ogni richiesta e a ogni record. Quando un utente accede, l’app determina a quale tenant appartiene, poi limita a quel tenant ogni query, ogni job in background e ogni messaggio. Tutti i tenant girano sugli stessi server e di solito sullo stesso database, il che tiene basso il costo operativo per tenant. Ma l’isolamento vale quanto il codice e i vincoli del database che lo impongono.

Quali sono i principali modelli di isolamento?

Modello di isolamentoCome funzionaCompromesso
Database condiviso, chiave di tenantOgni riga porta un ID di tenant; ogni query filtra su quell’IDIl più economico da gestire; un solo filtro dimenticato può far trapelare dati fra tenant
Uno schema per tenantOgni tenant ha il proprio schema dentro un database condivisoSeparazione più forte; le migrazioni si moltiplicano con il numero di tenant
Un database per tenantOgni tenant ha un database o un’istanza dedicatiIsolamento più forte; costo e carico operativo più alti
La multi-tenancy e i termini vicini.

Perché la multi-tenancy conta per un piccolo team?

Se gestisci un solo prodotto con un solo brand, la tenancy potrebbe non venirti mai in mente. Conta dal momento in cui servi più brand, workspace di clienti o ambienti da una sola installazione: il caso tipico di agenzie e piccole piattaforme. Strumenti di engagement open source come Dittofeed modellano la tenancy come workspace, e una configurazione di customer engagement self-hosted fa dell’intera installazione il tuo confine di tenant: i dati dei tuoi clienti non condividono l’infrastruttura con nessuno al di fuori della tua azienda.

Cosa cambia la multi-tenancy per la conformità?

In un SaaS condiviso sei un tenant fra migliaia, e dipendi dall’isolamento, dalle scelte di residenza dei dati e dai contratti del vendor. Il self-hosting ribalta la situazione: diventi tu il gestore, quindi spetta a te configurare l’isolamento per tenant, la conservazione dei dati e il registro di audit, e dimostrare che funzionano. Nessuno dei due modelli è conforme per natura; gli obblighi del GDPR seguono i dati, non l’architettura.

FAQ

Domande frequenti

  • Che differenza c’è tra multi-tenant e single-tenant?

    Un deployment multi-tenant serve molti clienti su un’infrastruttura condivisa, con un isolamento logico fra loro. Un deployment single-tenant dedica l’intero stack, applicazione e database, a un solo cliente. Il single-tenant offre un isolamento più netto e una conformità più semplice da dimostrare, a un costo per cliente più alto; il multi-tenant cede un po’ di profondità di isolamento in cambio di efficienza.

  • La multi-tenancy equivale ad avere più utenti?

    No. Gli utenti sono persone dentro un tenant; i tenant sono organizzazioni clienti separate. Una startup di due persone con 10.000 utenti può comunque essere single-tenant, mentre un’agenzia che gestisce tre clienti in una sola installazione è multi-tenant.

  • Un tenant può vedere i dati di un altro tenant?

    Non se l’isolamento è implementato correttamente. Il rischio però è reale: nei modelli a database condiviso, una sola query senza filtro può superare il confine. Per questo i controlli di tenancy vanno nel livello dei dati (row-level security o separazione per schema), non solo nel codice dell’applicazione.

  • Una startup ha bisogno della multi-tenancy?

    Solo se servi più organizzazioni da un solo deployment: clienti, brand o workspace. Se ospiti sui tuoi server uno strumento per una sola azienda, il single-tenant è più semplice. La multi-tenancy ripaga la sua complessità quando il numero di tenant cresce più in fretta della tua capacità di gestire installazioni separate.

fromHello è un software di marketing automation open source: messaggi attivati da ciò che fanno le persone.

fromHello Cloud è in accesso anticipato tramite la lista d’attesa.

Accesso anticipato

fromHello Cloud

Non si parte per restare piccoli.

L’accesso anticipato a fromHello Cloud si apre a scaglioni. L’onboarding è guidato: ti aiutiamo a configurare tutto e a portare i tuoi contatti.

Ti scriveremo quando il tuo accesso sarà pronto. Niente spam.

Vuoi aspettare ancora un po’? Vedi su GitHub