Pubblicato: 24 Marzo 2021  -  Ultimo aggiornamento: 23 Marzo 2021

La multi-tenancy conviene? Ecco tutti i vantaggi e rischi

La multi-tenancy conviene? Ecco tutti i vantaggi e rischi

Con la multi-tenancy si afferma il concetto di separazione delle risorse, offrendo una valida alternativa a chi cerca funzionalità diverse da quelle che offre una single-tenancy.

Cosa significa multi-tenancy

Con il termine multi-tenancy si indica un’architettura – software o hardware – in cui un’unica istanza software viene eseguita su un server e può essere utilizzata da più utenti distinti, o tenent.

Questo tipo di architettura è possibile grazie alla virtualizzazione, che ha permesso di creare degli ambienti virtuali separati tra loro ma condivisi dagli stessi componenti fisici.
Una soluzione molto vantaggiosa soprattutto per i privati.

La multi-tenancy, però, non è da confondere con le architetture multi-istanza: nel primo caso ogni tenent ha accesso a istanze applicative selezionate grazie a una separazione virtuale dei dati, nel secondo le istanze software o hardware sono separate a causa di organizzazioni diverse.

Il concetto di separazione di risorse è oggi molto attuale, ma ha iniziato a svilupparsi già negli anni ‘60, diventando nel tempo un’infrastruttura cardine di moltissime realtà.
Come il cloud computing, che vede alla base proprio un’architettura multi-tenant.

Con la multi-tenancy un’unica istanza software viene eseguita su un server e può essere utilizzata da più utenti distinti che condividono le risorse.

I vantaggi della multi-tenancy

La condivisione di infrastrutture è un’innovazione che comporta numerosi vantaggi per i tenent. Vediamoli tutti nel dettaglio.

  • Efficienza: con la multi-tenancy la gestione dell’infrastruttura, gli aggiornamenti e la manutenzione non sono a carico dell’utente, ma sono affidati a un provider di cloud centrale che mette a disposizione un team. Da questo deriva massima efficienza, precisione e ottimizzazione delle funzionalità.
  • Flessibilità: grazie al cloud le componenti hardware o software, e le risorse in generale, sono a disposizione degli utenti che ne hanno necessità. Non si deve, quindi, investire su componenti che potrebbero rivelarsi insufficienti nei periodi con alta richiesta o che rimarrebbero inattivi nei momenti in cui nessuno ne ha l’esigenza. L’utente, così, può pagare solo ciò che utilizza e avere accesso a funzionalità aggiuntive ogni volta che ne ha bisogno.
  • Risparmio: l’utente paga solo i servizi cloud e le applicazioni SaaS a cui ha accesso, evitando di pagare per componenti software o hardware che rischiano di rimanere inutilizzati.

I motivi per cui non conviene

Scegliere un’architettura multi-tenant, però, ha anche degli svantaggi di cui è giusto tenere conto.

Ecco quali:

  • Flessibilità: in questo caso la flessibilità si riferisce al servizio erogato dalle infrastrutture. È infatti difficile pretendere un approccio personalizzato e ci si deve accontentare di prestazioni standardizzate. Per esempio non è da escludere che i dati aziendali vengano archiviati nello stesso server in cui sono presenti anche quelli di un competitor.
  • Sicurezza: le architetture multi-tenant prestano grande attenzione alla sicurezza, adottando una rete di sistemi difensivi potenti ed efficaci. In caso di attacco, però, è giusto precisare che il rischio è moto alto. L’hacker avrebbe infatti accesso a un database enorme, in cui sono custoditi i dati di numerosissimi clienti.
  • Costi: decidere di servirsi di una piattaforma multi-tenant può essere una spesa molto importante per un’azienda, soprattutto se è un business piccolo.

Alla luce dei pro e dei contro, è importante valutare se una multi-tenancy può portare valore aggiunto, o se è meglio optare per un tenant singolo.

In generale quest’ultima soluzione è consigliata nel caso in cui si ha a che fare con dati estremamente sensibili e non ci si può permettere attacchi informatici o fughe di dati dovute a distrazione e errori umani.

Esempi pratici di multi-tenancy

Un moderno esempio di architettura multi-tenant sono le applicazioni Saas, o Software as a Service, che offrono servizi a più gruppi distinti di utenti pur sfruttando un’unica istanza.
I dati e gli accessi rimangono separati tra loro, ma il software utilizzato è lo stesso.

Un altro caso noto è Amazon: una piattaforma che condivide una stessa macchina tra più utenti, funzionando come una multi-tenancy a livello hardware.

Parlando invece di condivisione a livello di database, un esempio è Force.com, che condivide dati nelle stesse tabelle di database.

Anche gestire diversi blog su un sito come WordPress significa sfruttare un’architettura di tipo multi-tenant: ogni utente può accedere solo al proprio blog, gli archivi dati sono separati, ma c’è un unico processo in esecuzione.