Multi-tenancy

Il multi-tenancy è un'architettura in cui una singola istanza di un'applicazione software serve più clienti. Ogni cliente è chiamato inquilino. I tenant possono avere la possibilità di personalizzare alcune parti dell'applicazione, come il colore dell'interfaccia utente (UI) o le regole aziendali, ma non possono personalizzare il codice dell'applicazione.

In un'architettura multi-tenant, più istanze di un'applicazione operano in un ambiente condiviso. Questa architettura è in grado di funzionare perché ogni tenant è integrato fisicamente, ma logicamente separato; ciò significa che una singola istanza del software verrà eseguita su un server e quindi servirà più tenant. In questo modo, un'applicazione software in un'architettura multi-tenant può condividere un'istanza dedicata di configurazioni, dati, gestione degli utenti e altre proprietà.

Le applicazioni multi-tenancy possono condividere gli stessi utenti, display, regole, sebbene gli utenti possano personalizzarli in una certa misura, e schemi di database, che gli inquilini possono anche personalizzare.

Importanza della multi-tenancy

Il multi-tenancy ha visto molte adozioni e viene utilizzato principalmente con il cloud computing. Le architetture multi-tenant si trovano sia in ambienti di cloud pubblico che di cloud privato, consentendo di separare i dati di ciascun tenant l'uno dall'altro. Ad esempio, in un cloud pubblico multi-tenant, gli stessi server verranno utilizzati in un ambiente ospitato per ospitare più utenti. A ciascun utente viene assegnato uno spazio separato e idealmente protetto all'interno di tali server per archiviare i dati.

Questo articolo fa parte di

Cos'è il cloud pubblico? Tutto quello che devi sapere

  • Che include anche:
  • 5 tipi di competenze cloud che i professionisti IT dovrebbero conoscere
  • 8 caratteristiche chiave del cloud computing
  • 10 domande frequenti sul cloud computing

Scaricare1

Scarica subito l'intera guida GRATUITAMENTE!

Il multi-tenancy è importante anche per la scalabilità dei cloud pubblici e privati ​​e ha contribuito a rendere il multi-tenancy uno standard. L'architettura multi-tenant può anche aiutare a fornire un ROI migliore per le organizzazioni, oltre ad accelerare il ritmo di manutenzione e aggiornamenti per i tenant.

Tipi di architettura multi-tenant

Esistono tre principali tipi di modelli multi-tenancy, tutti con diversi livelli di complessità e costi. Un singolo schema di database condiviso è un modello multi-tenancy con un database multi-tenant. Questa è la forma più semplice delle tre ed è un costo relativamente basso per gli inquilini a causa dell'uso di risorse condivise. Questo modulo utilizza una singola applicazione e istanza di database per ospitare i tenant e archiviare i dati. L'utilizzo di un unico schema di database condiviso consente un ridimensionamento più semplice; tuttavia, i costi operativi possono essere più elevati.

Un'altra architettura multi-tenant include l'uso di un singolo database con più schemi. Questo sistema tenant utilizza una singola istanza dell'applicazione con database individuali per ogni tenant. Inoltre, questa architettura ha un costo maggiore con un sovraccarico maggiore per ogni database. È un'architettura preziosa quando i dati di tenant diversi devono essere trattati in modo diverso, ad esempio se dovessero passare attraverso normative geografiche diverse.

Il terzo tipo di architettura multi-tenant ospita i dati in più database. Questo modello è relativamente complesso in termini di gestione e manutenzione, ma gli inquilini possono essere separati da un criterio scelto.

Vantaggi e svantaggi della multi-tenancy

Ci sono una serie di vantaggi e svantaggi che derivano dal diventare un host provider e un tenant con multi-tenancy. Alcuni vantaggi includono:

  • È meno costoso rispetto ad altre architetture di hosting tenant.
  • Un'offerta di modelli di prezzo a pagamento.
  • Gli inquilini non devono preoccuparsi degli aggiornamenti, poiché vengono eliminati dal provider host.
  • Gli inquilini non devono preoccuparsi dell'hardware su cui vengono ospitati i dati.
  • I provider devono solo monitorare e amministrare un singolo sistema.
  • L'architettura è facilmente scalabile.

Alcuni svantaggi, tuttavia, che derivano dal multi-tenancy includono:

  • Le app multi-tenant tendono ad essere meno flessibili delle app in altre architetture tenant, come il single-tenancy.
  • Il multi-tenancy è, in generale, più complesso del single-tenancy.
  • Le app multi-tenant richiedono un'autenticazione e controlli di accesso più rigorosi per la sicurezza.
  • Gli inquilini devono preoccuparsi dei vicini rumorosi, ovvero qualcun altro sulla stessa CPU che consuma molti cicli, il che potrebbe rallentare il tempo di risposta.
  • I tempi di inattività possono anche essere un problema a seconda del provider.

Esempi

Nel cloud computing, il significato di architettura multi-tenant si è ampliato grazie ai nuovi modelli di servizio che sfruttano la virtualizzazione e l'accesso remoto. Un provider SaaS (Software-as-a-Service), ad esempio, può eseguire un'istanza della sua applicazione su un'istanza di un database e fornire l'accesso Web a più clienti. In tale scenario, i dati di ogni tenant sono isolati e rimangono invisibili agli altri tenant. Il multi-tenancy può essere implementato anche in sistemi multi-tier come un sistema SAP.

multi-tenant vs. single-tenant

Un confronto tra architetture multi-tenancy e single-tenancy per cliente.

Multi-tenant vs. single-tenant

Il multi-tenancy può essere contrastato con il single-tenancy, un'architettura in cui ogni cliente ha la propria istanza software e può avere accesso al codice sorgente. Nelle architetture single-tenant, un tenant avrà una singola istanza di un'applicazione SaaS a lui dedicata, a differenza del multi-tenancy in cui sono presenti servizi condivisi. Poiché ogni tenant si trova in un ambiente separato, non è vincolato nello stesso modo in cui lo sarebbero gli utenti dell'infrastruttura condivisa; ciò significa che le architetture single-tenant sono molto più personalizzabili.

Il multi-tenancy è l'opzione più utilizzata tra le due, poiché la maggior parte dei servizi SaaS opera in multi-tenancy. Rispetto alla single-tenancy, la multi-tenancy è più economica, ha un utilizzo più efficiente delle risorse, minori costi di manutenzione e un potenziale per una maggiore capacità di elaborazione. Con un'architettura multi-tenant, il provider deve eseguire gli aggiornamenti solo una volta. Con un'architettura single-tenant, il provider deve toccare più istanze del software per eseguire gli aggiornamenti.

Un potenziale cliente probabilmente sceglierebbe un'infrastruttura single-tenant piuttosto che multi-tenancy per la capacità di avere più controllo e flessibilità nel proprio ambiente, in genere per soddisfare requisiti specifici.