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 multitenant 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 Affidabilità. 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 (servizio Azure Kubernetes): il servizio Azure Kubernetes offre flessibilità per l'esecuzione di cluster multi-tenant e la possibilità di 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 connettività privata SaaS: una soluzione di esempio che illustra un approccio per automatizzare l'approvazione delle connessioni di endpoint privati 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
- 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 con 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 se si dispone di un volume elevato di tenant B2C di piccole dimensioni o di un volume basso di tenant B2B altamente asimmetrici.
- 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: usando chiavi di partizione gerarchiche, note anche come partizionamento secondario, è possibile partizionare in modo nativo il contenitore con più 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 gli sviluppatori lavorano con le app Microsoft Entra, possono scegliere di configurare l'app come tenant singolo o multi-tenant per supportare scenari diversi.
- 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 e 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 relativi 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 assegna in genere dispositivi tenant usando un gruppo di hub IoT distribuiti 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.
- 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.
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 e richiede una configurazione personalizzata. Questo articolo illustra i tipi di multi-tenancy kubernetes.
- Kubernetes Multi-Tenancy - Guida alle procedure consigliate: Kubernetes multitenancy è un argomento che le organizzazioni sono sempre più interessate man mano che l'utilizzo di Kubernetes si distribuisce. Tuttavia, poiché Kubernetes non è in modo esplicito un sistema multi-tenant, può essere difficile progettare un'implementazione kubernetes multi-tenant. Questo articolo descrive queste sfide e come superarle e 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 è 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.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autori principali:
- John Downs | Principal Software Engineer
- 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.