1. Home
  2. /
  3. Blog
  4. /
  5. Multi tenancy: definizione, esempi...

Multi tenancy: definizione, esempi e vantaggi

 

Negli ultimi anni stiamo assistendo alla grande diffusione dei modelli a servizio in cloud. Nell’ambito delle applicazioni, il SaaS (Software as a Service) rappresenta ormai uno standard consolidato, al punto da essere ormai diffuso praticamente in tutti gli ambiti applicativi, consentendo a tutti gli utenti aziendali di accedere da remoto alle risorse di cui necessitano senza dover installare nulla in locale.

La gestione centralizzata selle applicazioni, tipica del cloud, è resa oggi possibile dall’architettura multi tenant, e più genericamente dalla multi tenancy. Vediamo in cosa consistono e quali vantaggi essa comporta per le aziende che si avvalgono dei servizi basati su questo modello architetturale, anche grazie al supporto consulenziale di un player esperto e dotato di un comprovato know-how in questo ambito come deda tech.

Definizione di multi tenancy

Secondo la definizione offerta dalla Cloud Native Computing Foundation: “La multi tenancy è una singola installazione software che serve più tenant. Un tenant può essere un utente, un’applicazione o un gruppo di utenti / applicazioni che utilizzano il software per operare sul proprio set di dati. Questi tenant non condividono dati (a meno che non siano espressamente istruiti in tal modo dal proprietario) e possono non essere a conoscenza l’uno dell’altro”.

Il concetto di tenant spazia dal singolo utente, che effettua un singolo ID di accesso, ad esempio per un’applicazione di produttività personale, alla grande azienda che, grazie ad una strategia di accounting, può effettuare anche migliaia di ID di accesso, ognuno caratterizzato da una policy che ne definisce le autorizzazioni e i vincoli.

Le applicazioni basate sulla multi tenancy possono condividere utenti, regole e schema di database, che i singoli tenant possono personalizzare in varia misura per adattare nel migliore dei modi alle loro esigenze di business.

A livello tecnologico, la multi tenancy è basata su ambienti IT isolati come le macchine virtuali (VM) o i container, giusto per citare due tra i modelli di virtualizzazione più diffusi. Grazie alla loro moderna concezione, i container semplificano il deployment multi tenancy di più applicazioni, condividendo un kernel anche tra più tenant, a differenza di quanto avviene con le tradizionali VM.

Questi aspetti rendono i container e la tecnologia Kubernetes, utilizzata per orchestrarli, particolarmente scalabili, flessibili e generalmente molto apprezzati nell’ambito dello sviluppo del software cloud native.

Differenze tra multi tenant e tenant singolo (multi tenant vs single tenant)

Le architetture multi tenant consentono di utilizzare una singola istanza e renderla disponibile a più tenant, come nel caso del cloud pubblico, mentre l’architettura a tenant singolo (single tenant) consente di dedicare l’istanza in maniera esclusiva ad un singolo tenant, che nella maggioranza dei casi coincide con un’azienda che utilizza servizi IT on-premises o in cloud privato all’interno del proprio data center. In senso ampio, il cloud privato, a seconda della tipologia specifica, può basarsi sia su architettura multi tenant che single tenant.

Non vi è un fattore tecnologico predominante, in quanto vi sono soluzioni molto valide per soddisfare entrambi gli scenari IT. La scelta tra un’architettura multi tenant o single tenant va indirizzata sulla base delle specifiche esigenze di ogni organizzazione, ad esempio in merito alla possibilità di gestire i loro dati su risorse di terzi.

Il contributo di un player esperto come deda tech è ad esempio molto utile per comprendere l’effettivo livello di controllo che l’organizzazione deve esercitare sull’architettura IT per soddisfare le proprie esigenze di business in totale sicurezza. Tale valutazione consente di ottenere una configurazione ibrida della propria architettura IT, per ottimizzare ogni singolo aspetto sia dal punto di vista funzionale che economico.

È ad esempio possibile scegliere la convenienza del cloud pubblico (multi tenancy) in tutte quelle circostanze che non richiedono un livello di controllo che soltanto soluzioni basate sulla single tenancy, come on-premise e cloud privato, possono attualmente garantire.

Esempi di architetture multi-tenant

Attualmente esistono vari esempi di modelli multi tenancy molto diffusi ed impiegati nel contesto IT delle organizzazioni in tutti gli ambiti di business. In sintesi, per offrire una panoramica completa dell’architettura multi tenant, possiamo citare la multi tenancy hardware (VM e container), cloud pubblico, cloud pubblico, SaaS e serverless.

Multi tenancy hardware

La virtualizzazione a livello hardware consente di creare macchine virtuali (VM) e container su un server fisico. A sua volta, ogni VM può eseguire applicazioni e servizi gestiti per tenant differenti, sia interni all’organizzazione, che esterni, come nel caso dei clienti finali degli stessi.

La multi tenancy hardware risulta particolarmente diffusa nei data center di moderna concezione, alla base dell’attività dei cloud server provider, oltre ad essere impiegata per strutturare servizi di colocation, strutture che ospitano server privati garantendo tutte le funzionalità del data center, esonerando le imprese a doverne implementare uno di proprietà.

Multi tenancy cloud privato

Il cloud privato è un concetto piuttosto ibrido, che può essere articolato sia avvalendosi di un’architettura multi tenant che sulla base di un single tenant. Per quanto riguarda il primo caso, un servizio in cloud privato equivale funzionalmente ad un cloud pubblico, con la differenza di essere reso disponibile soltanto ad un utente, anziché a vari tenant.

Multi tenancy cloud pubblico

In ambito IT è possibile sentire che l’architettura multi tenant sia la base su cui, attraverso le tecnologie di virtualizzazione, si struttura il cloud computing. Questo particolare è evidente soprattutto se parliamo di cloud pubblico, in cui i clienti utilizzano risorse in remoto, on-demand, per definire la propria infrastruttura hardware e software. Sul cloud pubblico si basa gran parte dell’offerta dei cloud provider, ormai in grado di garantire tutti gli elementi IT ad una gamma di tenant sempre più ampia e variegata.

Multi tenancy SaaS

Il SaaS è un modello di servizio in cloud che si basa sulla multi tenancy, in quanto un’istanza software viene distribuita a più tenant, che vi accedono da remoto sulla base delle condizioni contrattuali definite con il provider del servizio stesso. L’architettura multi tenant consente di condividere l’applicazione e mantenere separato il livello dei dati, che rimangono isolati per ciascun tenant.

In merito ai casi reali, esistono celebri applicazioni SaaS basate su architettura multi tenant, in tutti gli ambiti applicativi, come Google Mail, Mailchimp, Google Workspace, Microsoft 365, Salesforce CRM, Hubspot, Slack, Zendesk, Zoom, Dropbox, Netflix e moltissimi altri.

Multi tenancy serverless

Negli ultimi anni, gli sviluppatori software, oltre al PaaS (Platform as a Service) hanno iniziato ad utilizzare con maggior frequenza anche le architetture multi tenant serverless, così definite per il fatto di rendere totalmente trasparente il rapporto che lega l’applicazione alle risorse necessarie per eseguirla, che vengono scalate automaticamente dal provider. Il serverless si basa infatti su una logica ad eventi per avviare e cessare le applicazioni, rendendo disponibili le risorse soltanto nel tempo esatto necessario all’esecuzione.

Vantaggi e rischi della multi tenancy

La multi tenancy, in maniera simile al cloud computing, è in grado di offrire una serie di significativi vantaggi, a fronte di alcune criticità di cui è opportuno tenere conto. Tra i principali benefici delle architetture multi tenant ritroviamo:

  • Costi: dal momento che il provider utilizza un’unica istanza dell’applicazione per soddisfare le esigenze di più utenti. La centralizzazione delle risorse e della manutenzione del servizio rende la multi tenancy di base più conveniente rispetto alle soluzioni single tenant.
  • Scalabilità: i singoli tenant possono scalare le risorse per soddisfare dinamicamente le esigenze dei loro carichi di lavoro, oltre a poter configurare in qualsiasi momento nuovi account per i propri utenti.
  • Personalizzazione: le applicazioni multi tenant, pur offrendo schemi predefiniti, sono altamente configurabili per consentire ad ogni tenant di personalizzare l’applicazione di default.
  • Minor lavoro IT: lo sviluppo, gestione e manutenzione dell’applicazione multi tenant rimane a carico del provider lungo il suo intero ciclo di vita, evitando ai singoli tenant impegni per quanto riguarda la gestione in locale, usufruendo in maniera trasparente dei servizi da remoto.

Tra le principali criticità che possono caratterizzare la multi tenancy, specie se approcciata in maniera non sufficientemente consapevole, è opportuno citare:

  • Costi: i modelli a servizi, nel caso di alcune situazioni aziendali, possono caratterizzare un boomerang, soprattutto nel caso delle organizzazioni più piccole, che necessitano di risorse limitate. Una formula ad abbonamento nel medio e lungo termine potrebbe risultare più dispendioso rispetto alle soluzioni tradizionali.
  • Controllo: anche se le applicazioni multi tenant sono attualmente caratterizzate da un buon livello di personalizzazione, è impossibile poter configurare ogni singolo aspetto. Analogamente, va considerata la possibilità e l’opportunità di conservare i dati su risorse di terzi.
  • Sicurezza: le architetture multi tenant dei provider sono mediamente molto sicure e ben poche aziende, soprattutto nel caso delle PMI, potrebbero permettersi altrettanti sforzi per garantire la sicurezza informatica dei loro sistemi. Tuttavia, la co-responsabilità che si crea tra il provider e il tenant non si risolve automaticamente, ma comporta da parte di quest’ultimo un lavoro di formazione e cultura informatica dei dipendenti, soprattutto in merito alla condivisione dei dati, che va oltre il semplice concetto di sicurezza dei sistemi.

Il supporto di un player esperto come deda tech può facilitare le aziende nell’affrontare e superare con successo queste criticità, ottimizzando al tempo stesso i vantaggi offerti dalla multi tenancy.