Vai al contenuto principaleVai al footer
Digital Strategy
|
27 aprile 22

Cos'è e quando adottare la multi-tenancy?

Software as a Service e cloud non solo solo dei trend. Al contrario, sono rapidamente diventati dei concetti chiave in ambito IT e ogni azienda che vuole stare al passo con i tempi e non perdere terreno sulla concorrenza non può farne a meno.
Ma ti sei mai chiesto quale sia l’architettura tecnologica alla base di questi due concetti chiave? Bene, la risposta è semplice e si chiama multi-tenancy.

Antonello ZaniniSoftware Engineer e Technical Writer

Cerchiamo quindi di capire meglio cosa sia la multi-tenancy, quali benefici porta, come implementarla e perché dovresti adottarla. Non perdiamo altro tempo e vediamo tutto quello che c’è da sapere sulla multi-tenancy.

Con multi-tenancy si fa riferimento a una architettura software in cui una applicazione è eseguita su un server in un'unica istanza ed è fruita da diversi utenti o gruppi di utenti distinti, chiamati appunto tenant.

Il termine multi-tenancy deriva dal mondo immobiliare, dove un singolo immobile viene tipicamente suddiviso in diverse unità o vani, i quali vengono poi affittati a molti locatari (tenant in inglese).

Pertanto, per multi-tenancy si intende la capacità di partizionare e gestire dati, configurazioni, software e/o servizi per supportare più tenant, i quali rappresentano gruppi di utenti distinti che generalmente operano nella stessa organizzazione. Ogni tenant vede il software, sistema o applicativo fruito tramite questa architettura come se fosse a suo utilizzo esclusivo e non è al corrente dell’esistenza degli altri tenant.

L’architettura multi-tenancy è un concetto opposto all'architettura multi-istanza, nella quale ogni istanza del software è installata presso il cliente, il quale la accede e utilizza tramite la sua macchina o rete interna. Ma cerchiamo di capire meglio cosa sia la multi-tenancy tramite degli esempi.

Esempi di multi-tenancy

Dal punto di visto software, l’esempio più comune di applicazione dell’architettura multi-tenancy è rappresentato dai software SaaS (Software as a Service).

Queste applicazioni offrono servizi a gruppi distinti di utenti, ma le configurazioni, gli accessi e i dati rimangono separati tra di loro, nonostante il software sottostante sia lo stesso.

Pertanto, i servizi Saas permettono a ogni tenant di vivere una esperienza isolata, per quanto tutti gli utenti stiano in realtà utilizzando lo stesso software.

In maniera analoga, l’architettura multi-tenancy può essere utilizzata in ambito hardware. Qui, l’esempio più banale è rappresentato dal cloud computing. Infatti, un provider cloud non fa altro che acquistare un pool di risorse, con potenza di elaborazione e memoria elevata, e distribuirle in modo dinamico tra i suoi clienti. Quindi, i dati e i carichi di lavoro di ciascun tenant rimangono isolati, ma dietro le quinte stanno utilizzando tutti le stesse risorse condivise.

Chiarito cosa sia la multi-tenancy, è ora di entrare nel dettaglio di quando questa sia la soluzione giusta da adottare.

Quando scegliere la multi-tenancy?

Ma capiamo ora i benefici derivanti dall’adozione di una architettura multi-tenancy.

Prima di tutto, devi capire che la multi-tenancy non è una scelta vincolante. Non sei obbligato a fare all-in e passare necessariamente a tutti software in logica multi-tenant. Allo stesso tempo, una volta abbracciata questa filosofia, potresti non riuscire più a farne a meno.

Se sei indeciso se l’approccio multi-tenant sia quello giusto per te, pensa al tuo core business attuale e a come credi che la tua azienda crescerà nel futuro. Se ciò include l’espansione su più mercati, l’utilizzo di diversi canali di comunicazione o la gestione di dipartimenti con permessi e obiettivi diversi, allora dovresti adottare un approccio multi-tenant. Questo perché ogni team potrebbe adottare strumenti e software diversi, portando a un caos organizzativo e gestionale. Ma con la multi-tenancy potresti centralizzare tutto o parte di ciò in un unico software, distribuendo poi accessi con permessi e visibilità diverse a seconda degli obiettivi dei vari team.

Pertanto, la multi-tenancy è ideale per tutte quelle aziende, figure professionali, o grandi corporazioni che perseguono obiettivi distinti che possono essere raggiunti tramite uno stesso strumento. Pensa per esempio a una azienda che si trova a dover gestire molti siti web o blog, potenzialmente in più lingue.

Ognuno ha obiettivi diversi ed è gestito da team o unità di lavoro distinte. Senza la multi-tenancy, ogni sito sarebbe completamente indipendente e necessiterebbe di una gestione e manutenzione dedicata, con tutte le problematiche in termini di costi e tempo che ne derivano. Con la multi-tenancy, ogni sito rimane indipendente dal punto di vista logico, ma è gestito in modo centralizzato, e quindi più efficiente, da un’unica soluzione applicativa.

Ma capiamo ora i benefici derivanti dall’adozione di una architettura multi-tenancy.

I vantaggi della multi-tenancy

Sono 3 i vantaggi principali della multi-tenancy:

  • ti permette di risparmiare tempo e denaro: la multi-tenancy è una soluzione efficiente ed economicamente vantaggiosa perché la gestione dell’infrastruttura, la manutenzione e gli aggiornamenti non sono a carico tuo, ma del provider. Non devi quindi fare grandi investimenti in ambito hardware e software;
  • ti garantisce flessibilità e scalabilità: la natura del cloud hardware o software è tale per cui non devi preoccuparti di problemi di scalabilità. Infatti, le soluzioni cloud sono nativamente multi-tenant e ti forniscono potenza di calcolo e numero di accessi in base alle tue necessità e agli accordi commerciali con il provider;
  • favorisce il riuso: la centralizzazione derivante dalla logica multi-tenant permette ai diversi team e gruppi di utenti di condividere più facilmente risorse e know-how. Questo è particolarmente vero se tutti accedono e utilizzano uno o pochi SaaS. Infatti, una volta trovata una soluzione tramite la piattaforma o definito un template, questo può essere duplicato infinite volte e, se necessario, adattato alle nuove esigenze con solo qualche click. Basta reinventare la ruota!

Approfonditi i benefici, cerchiamo di comprendere come implementare la multi-tenancy.

Come adottare la multi-tenancy

Per implementare un approccio multi-tenant è sufficiente adottare i servizi online su cui la multi-tenancy si basa. Nel dettaglio, per diventare multi-tenant in ambito software è fondamentale utilizzare delle applicazioni SaaS, come può esserlo per esempio un headless CMS. Questo ti permette di gestire i contenuti, i dati, e i permessi di cui la tua organizzazione multi-obiettivo ha bisogno in un unico posto. Inoltre, rappresenta uno strumento fondamentale per implementare un’architettura componibile.

In maniera simile, la multi-tenancy hardware si può raggiungere adottando uno dei molti provider cloud disponibili. Questi possono offrirti sia risorse di calcolo storage e ti permettono di raggiungere tutti i vantaggi elencati sopra.

Ma adottare la multi-tenancy non si riduce a selezionare dei servizi online e iniziare a usarli. Al contrario, adottare le tecnologie per diventare multi-tenant prevede un processo di selezione e integrazione che dipende dagli obiettivi della tua azienda. Questo è il motivo per il quale è fondamentale essere accompagnati da un team di esperti durante questo passaggio, il quale trasporterà la tua azienda direttamente nel futuro.

Questi vantaggi, oltre alla tua azienda, potrebbero essere molto interessanti per i tuoi clienti; potresti avere bisogno di offrire ai tuoi utenti un'esperienza di utilizzo in cloud basandoti sui principi della multi-tenancy.

Costruire un’architettura multi-tenant per il tuo progetto web

Potresti voler offrire ai tuoi clienti una piattaforma in cloud che offra loro servizi chiavi in mano, senza bisogno però di manutenzioni complesse né database separati da gestire.

In Cantiere Creativo abbiamo lavorato a svariati progetti con architettura multi-tenancy, dai siti dei centri commerciali di UniCoop Firenze alle riviste del gruppo l'Officiel. L'obiettivo è sempre stato quello di fornire la massima flessibilità e indipendenza a settori e gruppi di lavoro differenti eliminando al contempo ridondanze e azzerando i costi di manutenzione. 

L'esempio più recente è il lavoro in collaborazione con Tannico per WinePlatform, la soluzione e-commerce all-inclusive per cantine che offre un'esperienza d'acquisto senza frizioni e una gestione indipendente di tutti i contenuti, pur utilizzando lo stesso codice e lo stesso database su DatoCMS.

Un cliente di WinePlatform può aprirsi la sua cantina personalizzata in meno di un'ora e iniziare a vendere subito; un risultato inimmaginabile senza poter sfruttare la flessibilità di un'architettura multi-tenant.

Conclusione

In questo articolo abbiamo visto cosa è la multi-tenancy e perché ogni azienda che persegue più obiettivi su canali e mercati diversi dovrebbe adottarla. In particolare, abbiamo capito quando e come utilizzare la multi-tenancy e quali sono i vantaggi che ne derivano.

Questa architettura tecnologica indubbiamente rappresenta il futuro. Non è infatti un caso se il cloud hardware e software, che porta così tanti vantaggi alle aziende di tutto il mondo, sia basato su un approccio multi-tenant. Ma come abbiamo visto, adottare la multi-tenancy supportati dal giusto team di esperti è semplice, quindi non ti rimane che abbracciare il futuro.

Grazie per aver letto! Speriamo che questo articolo ti sia stato utile. Sentiti libero di contattarci qui per qualsiasi domanda, commento o suggerimento.