Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce un set di collegamenti e risorse per architetti e sviluppatori di soluzioni multi-tenant.
Architetture per applicazioni multi-tenant
Gli articoli seguenti forniscono esempi di architetture multi-tenant in Azure.
Architettura | Sommario | Campo tecnologico |
---|---|---|
Software come servizio multitenant (SaaS) su Azure | Architettura di riferimento per uno scenario SaaS multi-tenant in Azure, distribuito in più aree | Rete Internet |
Usare Application Gateway Ingress Controller (AGIC) con un cluster multi-tenant di Azure Kubernetes Service (AKS) | Esempio di come implementare la multitenancy con Azure Kubernetes Service e AGIC | Kubernetes |
Tutte le architetture multi-tenant | Elenca tutte le architetture che includono multitenancy | Molteplici |
Modelli di progettazione cloud
I modelli di progettazione cloud seguenti vengono usati di frequente nelle architetture multi-tenant.
Modello | Sommario |
---|---|
Modello dei timbri di distribuzione | Distribuire più copie indipendenti (o unità di scala) dei componenti dell'applicazione, inclusi gli archivi dati. |
Identità federativa | È possibile delegare l'autenticazione a un provider di identità esterno. |
Portiere | Proteggere applicazioni e servizi usando un'istanza host dedicata che funge da broker tra i client e l'applicazione o il servizio, convalida e purifica le richieste e passa richieste e dati tra di essi. |
Bilanciamento del carico basato su coda | Utilizzare una coda che funge da buffer tra un'attività e un servizio che essa richiama per gestire i carichi pesanti intermittenti. |
Partizionamento orizzontale | Dividere un archivio dati in un set di partizioni orizzontali. |
Limitazione | Controllare l'utilizzo delle risorse usate da un'istanza dell'applicazione, da un singolo tenant o da un intero servizio. |
Antipatterns
Si consideri l'antipattern Noisy Neighbor, in cui l'attività di un tenant può influire negativamente sull'uso del sistema da parte di un altro tenant.
Microsoft Azure Struttura Ben Progettata
Se progetti un SaaS, utilizza il framework di lavoro Microsoft Azure Well-Architected per SaaS per ottenere indicazioni pratiche sull'architettura specifica delle soluzioni SaaS.
L'intero framework diWell-Architected è importante per tutte le soluzioni, incluse le architetture multi-tenant, ma prestare particolare attenzione al pilastro Affidabilità. La natura dell'hosting cloud comporta applicazioni che sono spesso multi-tenant, usano servizi di piattaforma condivisa, competono per risorse e larghezza di banda, comunicano su Internet e vengono eseguiti su hardware di base. Questo ambiente aumenta la probabilità che si verifichino errori temporanei e più permanenti.
Linee guida per l'architettura multi-tenant
Progettare soluzioni multi-tenant in Azure (video): questo video descrive come progettare, progettare e creare soluzioni multi-tenant in Azure. Se si costruisce un prodotto SaaS o un altro servizio multi-tenant, bisogna considerare diversi aspetti quando si pianificano prestazioni elevate, isolamento del cliente e gestione del deployment. Questa sessione è rivolta a sviluppatori e architetti che creano applicazioni multi-tenant o SaaS, incluse le startup e gli ISV.
Azure Friday - Progettare soluzioni multi-tenant in Azure (video): questo video di Azure Friday descrive come progettare, progettare e creare soluzioni SaaS multi-tenant in Azure.
Accelerare e de-rischiare il percorso verso SaaS (video): questo video fornisce indicazioni su come eseguire la transizione al modello di distribuzione SaaS, indipendentemente dal passaggio di una soluzione esistente dall'ambiente locale ad Azure, considerando un'architettura multi-tenant o modernizzare un'applicazione Web SaaS esistente.
Risorse per i servizi di Azure
Usare le risorse seguenti per creare architetture multi-tenant in Azure.
Governance e conformità
Organizzare e gestire più sottoscrizioni di Azure: è importante considerare come gestire le sottoscrizioni di Azure e come allocare le risorse del tenant alle sottoscrizioni.
Esperienze di gestione tra tenant: come provider di servizi, è possibile usare Azure Lighthouse per gestire le risorse per più clienti dall'interno del proprio tenant di Microsoft Entra. Molte attività e servizi possono essere eseguiti in tenant gestiti usando la gestione risorse delegata di Azure.
Applicazioni gestite da Azure: in un'applicazione gestita le risorse vengono distribuite in un gruppo di risorse gestito dal server di pubblicazione dell'app. Il gruppo di risorse è presente nella sottoscrizione del consumatore, ma un'identità nel tenant dell'editore ha accesso al gruppo di risorse.
Calcolo
Procedure consigliate per l'isolamento del cluster nel servizio Azure Kubernetes: il servizio Azure Kubernetes offre flessibilità per l'esecuzione di cluster multi-tenant e l'isolamento delle risorse. Per ottimizzare l'investimento in Kubernetes, è prima necessario comprendere e implementare le funzionalità di multi-tenancy e isolamento del servizio Azure Kubernetes. Questo articolo sulle procedure consigliate è incentrato sull'isolamento per gli operatori del cluster.
Procedure consigliate per la sicurezza e gli aggiornamenti del cluster nel servizio Azure Kubernetes: quando si gestiscono i cluster nel servizio Azure Kubernetes, la sicurezza dei carichi di lavoro e dei dati è una considerazione fondamentale. Quando si eseguono cluster multi-tenant usando l'isolamento logico, la protezione dell'accesso alle risorse e al carico di lavoro è fondamentale.
Rete
Collegamento privato di Azure
- spiegazione e demo del servizio collegamento privato di Azure dal provider (ISV SaaS) e dalle prospettive dei consumer: un video che esamina la funzionalità del servizio Collegamento privato di Azure che consente provider di servizi multi-tenant (ad esempio fornitori di software indipendenti che creano prodotti SaaS). Questa soluzione consente ai consumer di accedere al servizio del provider usando indirizzi IP privati dalle reti virtuali di Azure del consumer.
- TCP Proxy Protocol v2 con il servizio collegamento privato di Azure- Approfondimento: un video che presenta un approfondimento sul protocollo PROXY TCP v2, una funzionalità avanzata del servizio Collegamento privato di Azure. È utile negli scenari multi-tenant e SaaS. Il video illustra come abilitare il protocollo proxy v2 nel servizio Collegamento privato di Azure. Viene inoltre illustrato come configurare un servizio NGINX per leggere l'indirizzo IP privato di origine del client originale, anziché l'IP NAT, per accedere al servizio tramite l'endpoint privato.
-
Uso di NGINX Plus per decodificare il protocollo proxy TLV
linkIdentifier
dal servizio Collegamento privato di Azure: un video che illustra come usare NGINX Plus per ottenere il protocollo TLV del protocollo proxy TCP v2 dal servizio Collegamento privato di Azure. Il video mostra come è possibile estrarre e decodificare il numerolinkIdentifier
, noto anche comeLINKID
, della connessione all'endpoint privato. Questa soluzione è utile per i provider multi-tenant che devono identificare il tenant consumer specifico da cui è stata stabilita la connessione. - modello di connettività privata SaaS: una soluzione di esempio che illustra un approccio per automatizzare l'approvazione delle connessioni di endpoint privato tramite applicazioni gestite di Azure.
Rete Internet
- Routing basato sulle attestazioni per soluzioni SaaS: questo articolo descrive l'uso di un proxy inverso per facilitare il routing dei tenant e il mapping delle richieste ai tenant, migliorando la gestione dei servizi back-end nelle soluzioni SaaS.
Archiviazione e dati
Progettare e creare app SaaS multi-tenant su larga scala con Azure Cosmos DB (video): Informazioni su come progettare e ottimizzare applicazioni SaaS multi-tenant usando Azure Cosmos DB. Questa sessione illustra le considerazioni principali sulla progettazione relative all'isolamento del tenant, all'ottimizzazione dei costi e alla distribuzione globale. Il contenuto di questa sessione si applica sia che si abbia un elevato numero di tenant business-to-consumer (B2C) di piccola impresa sia che si abbia un ridotto numero di tenant business-to-business altamente differenziati.
Azure Cosmos DB e sistemi multitenant: un post sul blog che discute come costruire un sistema multitenant che utilizza Azure Cosmos DB.
chiavi di partizione gerarchiche di Azure Cosmos DB: usando chiavi di partizione gerarchiche, note anche come partizionamento secondario, è possibile partizionare in modo nativo il contenitore con più livelli di chiavi di partizione. Questo approccio consente strategie di partizionamento più ottimali per scenari multi-tenant o carichi di lavoro che altrimenti usano chiavi di partizione sintetiche.
Modelli di tenancy per database SaaS multi-tenant su Azure SQL Database: una serie di articoli che descrivono i vari modelli di tenancy disponibili per un'applicazione SaaS multi-tenant che utilizza Azure SQL Database.
Esecuzione di 1 milione di database in Azure SQL per un provider SaaS di grandi dimensioni: Microsoft Dynamics 365 e Power Platform: un post di blog che descrive come il team di Dynamics 365 gestisce i database su larga scala.
Progettare un database multi-tenant usando Azure Cosmos DB per PostgreSQL
partizionamento orizzontale, verticale e funzionale dei dati: in molte soluzioni su larga scala e multi-tenant i dati sono suddivisi in partizioni che possono essere gestite e accessibili separatamente. Il partizionamento può migliorare la scalabilità, ridurre la contesa e ottimizzare le prestazioni, Può anche fornire un meccanismo per la divisione dei dati, in base al modello di utilizzo e al tenant.
strategie di partizionamento dei dati da parte del servizio di Azure: questo articolo descrive alcune strategie per il partizionamento dei dati in vari archivi dati di Azure.
Creare applicazioni multi-tenant con Database di Azure per PostgreSQL Hyperscale Citus (video)
Costruire un SaaS multi-tenant con Azure Cosmos DB e Azure (video): un caso di studio reale su come Whally, un avvio SaaS multi-tenant, ha creato una piattaforma moderna da zero su Azure Cosmos DB e Azure. Whally mostra le decisioni di progettazione e implementazione prese in relazione al partizionamento, alla modellazione dei dati, alla multi-tenancy sicura, alle prestazioni e allo streaming in tempo reale dal feed di modifiche a SignalR, tutto usando ASP.NET Core nei servizi app di Azure.
modelli di progettazione multi-tenant per applicazioni SaaS nel database SQL di Azure (video)
Messaggistica
domini di Griglia di eventi di Azure: i domini di Griglia di eventi di Azure consentono di gestire architetture di eventi multi-tenant su larga scala.
Comunicazione tra tenant tramite il bus di servizio di Azure: implementazione di esempio del bus di servizio di Azure che illustra come comunicare tra un provider centrale e uno o più clienti (o tenant).
Identità
Tenancy in Microsoft Entra ID: Microsoft Entra ID ha il proprio concetto di multi-tenancy, che si riferisce al funzionamento in più directory di Microsoft Entra. Quando gli sviluppatori lavorano con le app Microsoft Entra, possono scegliere di configurare l'app come tenant singolo o multi-tenant per supportare scenari diversi.
Creare un daemon multi-tenant con l'endpoint di Microsoft Identity Platform: questa applicazione di esempio illustra come usare l'endpoint di Microsoft Identity Platform per accedere ai dati dei clienti aziendali Microsoft in un processo non interattivo a esecuzione prolungata. Usa la concessione delle credenziali client OAuth2 per acquisire un token di accesso, che quindi usa per chiamare Microsoft Graph e accedere ai dati aziendali.
Autenticare e autorizzare app multi-tenant usando Microsoft Entra ID: informazioni su come Microsoft Entra ID consente di migliorare le funzionalità delle app native del cloud in scenari multi-tenant.
Definire e implementare autorizzazioni, ruoli e ambiti con Microsoft Entra ID nelle soluzioni SaaS: questo articolo illustra tre concetti principali relativi all'autenticazione e all'autorizzazione di Microsoft Entra, che i provider SaaS possono usare. Vengono illustrate le funzionalità dei ruoli delle applicazioni, le autorizzazioni applicative delegate & e le funzionalità degli ambiti.
Analisi dei dati
- Soluzioni multi-tenancy con l'analisi incorporata di Power BI: quando si progetta un'applicazione multi-tenant che contiene Power BI Embedded, è necessario scegliere con attenzione il modello di tenancy più adatto alle proprie esigenze.
Internet delle cose
- Multitenancy nel Servizio di Provisioning dei Dispositivi in IoT Hub: una soluzione IoT multi-tenant assegna in genere dispositivi tenant usando un gruppo di hub IoT distribuiti tra le regioni.
Intelligenza artificiale e Machine Learning
Guida alla progettazione di una soluzione di inferenza Retrieval-Augmented Generation (RAG) sicura multi-tenant: questo documento descrive come applicare il modello RAG all'interno di soluzioni multi-tenant, in cui i dati specifici del tenant devono essere usati per l'inferenza.
Modelli di progettazione per applicazioni SaaS multi-tenant e Ricerca di intelligenza artificiale di Azure: questo documento descrive le strategie di isolamento dei tenant per le applicazioni multi-tenant create con Ricerca di intelligenza artificiale.
Una soluzione per la pipeline di Machine Learning in modalità multi-tenancy: questo post di blog descrive come le pipeline di Azure Machine Learning possono essere progettate per supportare più tenant usando le aree di lavoro di Azure Machine Learning.
Contenuti della community
Kubernetes
Tre modelli di tenancy per Kubernetes: i cluster Kubernetes vengono in genere usati da diversi team di un'organizzazione. Questo articolo illustra tre modelli di tenancy per Kubernetes.
Comprendere la multitenancy di Kubernetes: Kubernetes non è un sistema multitenant per impostazione predefinita. Richiede una configurazione personalizzata. Questo articolo illustra i tipi di multitenancy in Kubernetes.
Guida alle procedure consigliate per la multi-tenancy su Kubernetes: Kubernetes multitenancy è un argomento a cui le organizzazioni sono sempre più interessate man mano che l'uso di Kubernetes si diffonde. Tuttavia, poiché Kubernetes non è esplicitamente un sistema multi-tenant, può essere difficile progettare un'implementazione multi-tenant in Kubernetes. Questo articolo descrive queste sfide, come superarle e alcuni strumenti utili per la multi-tenancy di Kubernetes.
Capsule: la multitenancy Kubernetes resa semplice: Capsule aiuta a implementare un ambiente multitenancy e basato su policy nel tuo cluster Kubernetes. Non è un'offerta PaaS (Platform as a Service), ma è invece un ecosistema basato su microservizi con un approccio di progettazione minimalista, usando solo Kubernetes upstream.
Crossplane: il framework del piano di controllo nativo del cloud: crossplane consente di creare piani di controllo per la propria soluzione usando un approccio basato su Kubernetes.
Contributori
Microsoft gestisce questo articolo. I collaboratori seguenti hanno scritto questo articolo.
Autori principali:
- John Downs | Ingegnere Software Principale
- Paolo Salvatori | Principal Customer Engineer, FastTrack per Azure
- Arsen Vladimirskiy | Ingegnere Principale per la Clientela, FastTrack per Azure
- LaBrina Loving | Responsabile Principale dell'Ingegneria per i Clienti, FastTrack per Azure
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.