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 | Riepilogo | Campo tecnologico |
---|---|---|
SaaS multi-tenant in Azure | Architettura di riferimento per uno scenario SaaS multi-tenant in Azure, distribuito in più aree | Web |
Usare gateway applicazione controller di ingresso con un servizio Azure Kubernetes multi-tenant | Esempio per l'implementazione di multi-tenancy con servizio Azure Kubernetes e AGIC | Kubernetes |
Tutte le architetture multi-tenant | Elenca tutte le architetture che includono multi-tenancy | Multipla |
Modelli di progettazione cloud
I modelli di progettazione cloud seguenti vengono usati di frequente nelle architetture multi-tenant.
Modello | Riepilogo |
---|---|
Modello degli stamp di distribuzione | Distribuire più copie indipendenti (unità di scala) dei componenti dell'applicazione, inclusi gli archivi dati. |
Identità federativa | È possibile delegare l'autenticazione a un provider di identità esterno. |
Gatekeeper | Proteggere applicazioni e servizi usando un'istanza host dedicata che funge da broker tra client e l'applicazione o il servizio, convalida e sanifica le richieste e passa richieste e dati tra di essi. |
Livellamento del carico basato sulle code | Usare una coda che funge da buffer tra un'attività e un servizio che richiama, per uniformare 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 di un'applicazione, da un singolo tenant o da un intero servizio. |
Antipattern
Si consideri l'antipattern Noisy Neighbor, in cui l'attività di un tenant può avere un impatto negativo sull'uso del sistema da parte di un altro tenant.
Microsoft Azure Well-Architected Framework
Anche se l'intero framework ben progettato di Azure è importante per tutte le soluzioni, prestare particolare attenzione al pilastro resilienza. La natura dell'hosting cloud porta ad 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. Ciò aumenta la probabilità che si verifichino errori temporanei e più permanenti.
Linee guida per l'architettura multi-tenant
- Progettazione di soluzioni multi-tenant in Azure (video): questo video illustra come progettare, progettare e creare soluzioni multi-tenant in Azure. Se si sta creando un prodotto SaaS o un altro servizio multi-tenant, è necessario considerare molto quando si pianificano prestazioni elevate, isolamento del tenant e per gestire le distribuzioni. Questa sessione è rivolta a sviluppatori e architetti che creano applicazioni multi-tenant o SaaS, incluse le startup e gli ISV.
- Azure Friday - Progettazione di soluzioni multi-tenant in Azure (video): questo video di Azure Friday illustra come progettare, progettare e creare soluzioni SaaS (Software as a Service) multi-tenant in Azure.
- Accelerate and De-Risk Your Journey to SaaS (Video): questo video fornisce indicazioni per la transizione al modello di distribuzione SaaS (Software as a Service), indipendentemente dal fatto che si stia avviando sollevando e spostando una soluzione esistente dall'ambiente locale ad Azure, considerando un'architettura multi-tenant o cercando di modernizzare un'applicazione Web SaaS esistente.
Risorse per i servizi di Azure
Governance e conformità
- Organizzazione e gestione di più sottoscrizioni di Azure: è importante considerare come gestire le sottoscrizioni di Azure, nonché come allocare le risorse del tenant alle sottoscrizioni.
- Esperienze di gestione tra tenant: in qualità di 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 tra tenant gestiti, usando la gestione risorse delegata di Azure.
- Applicazioni gestite di Azure: in un'applicazione gestita le risorse vengono distribuite in un gruppo di risorse gestito dall'editore dell'app. Il gruppo di risorse è presente nella sottoscrizione del consumer, ma un'identità nel tenant dell'entità di pubblicazione dell'app ha accesso al gruppo di risorse.
Calcolo
- Procedure consigliate per l'isolamento del cluster in servizio Azure Kubernetes: il servizio Azure Kubernetes offre flessibilità nel modo in cui è possibile eseguire cluster multi-tenant e isolare le 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 in servizio Azure Kubernetes: quando si gestiscono i cluster in servizio Azure Kubernetes (servizio Azure Kubernetes), il carico di lavoro e la sicurezza dei dati è una considerazione fondamentale. Quando si eseguono cluster multi-tenant usando l'isolamento logico, è soprattutto necessario proteggere l'accesso alle risorse e ai carichi di lavoro.
Rete
Collegamento privato
- collegamento privato di Azure spiegazione del servizio e demo del provider (ISV SaaS) e delle prospettive dei consumer: un video che esamina la funzionalità del servizio collegamento privato di Azure che consente ai 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 collegamento privato di Azure Service - Approfondimento: video che illustra 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 dal servizio collegamento privato di Azure: un video che illustra come usare NGINX Plus per ottenere il protocollo TLV
linkIdentifier
v2 del protocollo proxy TCP dal servizio collegamento privato di Azure. Il video mostra come estrarre e decodificare il valore numericolinkIdentifier
, dettoLINKID
anche , 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 Connessione ivity privato SaaS: una soluzione di esempio che illustra un approccio per automatizzare l'approvazione delle connessioni endpoint private usando applicazioni gestite di Azure.
Web
- Routing basato sulle attestazioni per le soluzioni SaaS: questo articolo illustra 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.
Risorse di archiviazione e dati
- Azure Cosmos DB e sistemi multi-tenant: post di blog che illustra come creare un sistema multi-tenant che usa Azure Cosmos DB.
- Chiavi di partizione gerarchiche di Azure Cosmos DB (anteprima privata): post di blog che annuncia l'anteprima privata delle chiavi di partizione gerarchiche per Azure Cosmos DB per NoSQL. Con le chiavi di partizione gerarchica, note anche come sub-partizionamento, è ora possibile partizionare in modo nativo il contenitore con un massimo di tre livelli di chiavi di partizione. Ciò consente strategie di partizionamento più ottimali per scenari multi-tenant o carichi di lavoro che altrimenti usano chiavi di partizione sintetiche.
- database SQL di Azure modelli di tenancy del database SaaS multi-tenant: set di articoli che descrivono vari modelli di tenancy disponibili per un'applicazione SaaS multi-tenant, usando database SQL di Azure.
- 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 Database di Azure per PostgreSQL Hyperscale
- Partizionamento orizzontale, verticale e funzionale dei dati: in molte soluzioni multi-tenant e su larga scala i dati sono suddivisi in partizioni a cui è possibile accedere 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 in base al servizio di Azure: questo articolo descrive alcune strategie per il partizionamento dei dati in vari archivi dati di Azure.
- Compilazione di applicazioni multi-tenant con Database di Azure per PostgreSQL Hyperscale Citus (video)
- Applicazioni multi-tenant con Azure Cosmos DB (video)
- Creazione di un saaS multi-tenant con Azure Cosmos DB e Azure (video): un case study reale su come Whally, un'avvio SaaS multi-tenant, ha creato una piattaforma moderna da zero in 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, allo streaming in tempo reale dal feed di modifiche a SignalR e altro ancora, usando ASP.NET Core nei servizi app Azure.
- Modelli di progettazione multi-tenant per applicazioni SaaS in database SQL di Azure (video)
Messaggistica
- Griglia di eventi di Azure domini: Griglia di eventi di Azure domini consentono di gestire architetture di eventi multi-tenant su larga scala.
- bus di servizio esempio: comunicazione tra tenant tramite bus di servizio di Azure: implementazione di esempio di bus di servizio di Azure che illustra come comunicare tra un provider centrale e uno o più clienti (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 si lavora con le app Microsoft Entra, gli sviluppatori possono scegliere di configurare l'app come tenant singolo o multi-tenant.
- Soluzione di gestione delle identità personalizzata con Azure AD B2C: Azure Active Directory B2C è una soluzione di gestione degli accessi alle identità dei clienti in grado di supportare milioni di utenti e miliardi di autenticazioni al giorno.
- 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.
- Procedura dettagliata sull'architettura di Azure: Creazione di un'architettura di Azure multi-tenant per uno scenario B2C: una procedura dettagliata sull'architettura dietro un'app per dispositivi mobili multi-tenant con Azure Active Directory B2C e Gestione API.
- Definire e implementare autorizzazioni, ruoli e ambiti con Microsoft Entra ID nella soluzione SaaS: questo articolo illustra tre concetti principali correlati all'autenticazione e all'autorizzazione di Microsoft Entra, che possono essere usati dai provider SaaS. Vengono illustrate le funzionalità dei ruoli applicazione, le autorizzazioni delegate e le autorizzazioni dell'applicazione e le funzionalità Ambiti.
Analisi
- 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.
IoT
- Multi-tenancy in hub IoT servizio Device Provisioning: una soluzione IoT multi-tenant assegnerà in genere i dispositivi tenant usando un gruppo di hub IoT sparsi tra aree.
Intelligenza artificiale/Machine Learning
- Modelli di progettazione per applicazioni SaaS multi-tenant e Ricerca cognitiva di Azure: questo documento illustra le strategie di isolamento del tenant per le applicazioni multi-tenant create con Ricerca cognitiva di Azure.
Contenuto 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.
- Informazioni sulla multi-tenancy di Kubernetes: Kubernetes non è un sistema multi-tenant operatore. Anche se è possibile configurare la multi-tenancy, questa operazione può risultare complessa. Questo articolo illustra i tipi di multi-tenancy kubernetes.
- Kubernetes Multi-Tenancy - Guida alle procedure consigliate: Kubernetes multitenancy è un argomento che più organizzazioni sono interessate quando l'utilizzo di Kubernetes si estende. Tuttavia, poiché Kubernetes non è un sistema multi-tenant per se, ottenere il diritto multi-tenancy comporta alcune sfide. Questo articolo descrive queste sfide e come superarle, nonché alcuni strumenti utili per la multi-tenancy di Kubernetes.
- Capsule: la multi-tenancy Kubernetes è semplice: Capsule consente di implementare un ambiente multi-tenancy e basato su criteri nel cluster Kubernetes. Non è destinato ad essere ancora un altro PaaS, ma è stato progettato come ecosistema basato su microservizi con l'approccio minimalista, sfruttando solo kubernetes upstream.
- Loft: aggiungere multi-tenancy ai cluster: Loft offre estensioni Kubernetes leggere per la multi-tenancy.
- 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.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autori principali:
- John Downs | Principal Customer Engineer, FastTrack per Azure
- Paolo Salvatori | Principal Customer Engineer, FastTrack per Azure
- Arsen Vladimirintune | Principal Customer Engineer, FastTrack per Azure
- LaBrina Loving | Principal Customer Engineering Manager, FastTrack per Azure
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per