Elenco di controllo per la progettazione e la creazione di soluzioni multi-tenant in Azure
Quando si compila la soluzione multi-tenant in Azure, è necessario prendere in considerazione molti elementi. Usare questo elenco di controllo come punto di partenza per progettare e creare la soluzione multi-tenant. Questo elenco di controllo è una risorsa complementare per la progettazione di soluzioni multi-tenant in Azure serie di articoli. L'elenco di controllo è strutturato in base alle considerazioni aziendali e tecniche e ai cinque pilastri di Azure Well-Architected Framework.
Suggerimento
Dopo aver esaminato questo elenco di controllo, esaminare il percorso SaaS per valutare il prodotto SaaS analizzando la comprensione dell'architettura multi-tenant e il relativo allineamento con le procedure consigliate per le operazioni SaaS.
Considerazioni aziendali
- Comprendere il tipo di soluzione che si sta creando, ad esempio business-to-business (B2B), business-to-consumer (B2C) o il software aziendale e il modo in cui i tenant sono diversi dagli utenti.
- Definire i tenant. Comprendere il numero di tenant supportati inizialmente e i piani di crescita.
- Definire il modello di determinazione prezzi e assicurarsi che sia allineato al consumo delle risorse di Azure dei tenant.
- Comprendere se è necessario separare i tenant in livelli diversi. I livelli possono avere prezzi, funzionalità, promesse di prestazioni diverse, posizioni geografiche e così via.
- In base ai requisiti dei clienti, decidere i modelli di tenancy appropriati per varie parti della soluzione.
- Quando si è pronti, vendere la soluzione multi-tenant B2B usando Microsoft Commercial Marketplace.
Considerazioni sull'affidabilità
- Esaminare l'elenco di controllo per l'affidabilità ben progettato di Azure, applicabile a tutti i carichi di lavoro.
- Comprendere l'antipattern Noisy Neighbor. Impedire ai singoli tenant di influire sulla disponibilità del sistema per altri tenant.
- Progettare la soluzione multi-tenant per il livello di crescita previsto. Ma non sovraccaricare la crescita irrealistica.
- Definire gli obiettivi a livello di servizio e , facoltativamente , i contratti di servizio per la soluzione. I contratti di servizio e i contratti di servizio devono essere basati sui requisiti dei tenant.
- Testare la scalabilità della soluzione. Assicurarsi che funzioni correttamente con tutti i livelli di carico e che venga ridimensionato correttamente man mano che aumenta il numero di tenant.
- Applicare i principi di progettazione chaos per testare l'affidabilità della soluzione.
Considerazioni sulla sicurezza
- Applicare i principi zero trust e privilegi minimi in tutti i livelli della soluzione.
- Assicurarsi di poter eseguire correttamente il mapping delle richieste utente ai tenant. Prendere in considerazione l'inclusione del contesto del tenant come parte del sistema di identità o usando un altro mezzo, ad esempio l'autorizzazione del tenant a livello di applicazione.
- Progettare per l'isolamento del tenant. Testare continuamente il modello di isolamento.
- Assicurarsi che il codice dell'applicazione impedisca l'accesso tra tenant o la perdita di dati.
- Eseguire test di penetrazione continui e revisioni del codice di sicurezza.
- Comprendere i requisiti di conformità dei tenant, tra cui la residenza dei dati e gli standard normativi o di conformità richiesti.
- Gestire correttamente i nomi di dominio ed evitare vulnerabilità come attacchi di acquisizione del dns e del sottodominio.
- Seguire le indicazioni specifiche del servizio per la multi-tenancy.
Considerazioni sull'ottimizzazione dei costi
- Esaminare l'elenco di controllo Ottimizzazione costi ben progettato di Azure, applicabile a tutti i carichi di lavoro.
- Assicurarsi di poter misurare in modo adeguato il consumo per tenant e correlarlo con i costi dell'infrastruttura.
- Evitare antipattern. Gli antipattern includono la mancata registrazione dei costi, il monitoraggio dei costi con precisione non necessaria, la misurazione in tempo reale e l'uso degli strumenti di monitoraggio per la fatturazione.
Considerazioni sull'eccellenza operativa
- Usare l'automazione per gestire il ciclo di vita del tenant, ad esempio onboarding, distribuzione, provisioning e configurazione.
- Comprendere le differenze tra piano di controllo e piano dati nella soluzione multi-tenant.
- Trovare il giusto equilibrio per la distribuzione degli aggiornamenti del servizio. Prendere in considerazione sia i requisiti dei tenant che i requisiti operativi.
- Monitorare l'integrità del sistema complessivo, nonché ogni tenant.
- Configurare e testare gli avvisi per ricevere una notifica quando si verificano problemi specifici o superano i limiti di consumo.
- Organizzare le risorse di Azure per l'isolamento e la scalabilità.
- Evitare l'antipattern di distribuzione e configurazione. Gli antipattern includono l'esecuzione di versioni separate della soluzione per ogni tenant, configurazioni o logica specifiche del tenant hardcoding e distribuzioni manuali.
Considerazioni sull'efficienza delle prestazioni
- Esaminare l'elenco di controllo Per l'efficienza delle prestazioni ben progettata di Azure, applicabile a tutti i carichi di lavoro.
- Se si usa l'infrastruttura condivisa, pianificare come attenuare le preoccupazioni di Noisy Neighbor . Assicurarsi che un tenant non possa ridurre le prestazioni del sistema per altri tenant.
- Determinare come ridimensionare le risorse di calcolo, archiviazione, rete e altre risorse di Azure in base alle esigenze dei tenant.
- Prendere in considerazione i limiti di scalabilità di ogni risorsa di Azure. Organizzare le risorse in modo appropriato per evitare antipattern dell'organizzazione delle risorse. Ad esempio, non progettare eccessivamente la soluzione per lavorare all'interno di requisiti di scalabilità non realistici.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autori principali:
- Arsen Vladimirintune | Principal Customer Engineer
- Bohdan Cherchyk | Senior Customer Engineer
Altro collaboratore:
- John Downs | Principal Software Engineer
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Esaminare le considerazioni sull'architettura per le soluzioni multi-tenant.
- Esaminare gli approcci architetturali per la multi-tenancy.
- Esaminare le linee guida specifiche del servizio per la multi-tenancy.
- Esaminare le risorse aggiuntive per architetti e sviluppatori di soluzioni multi-tenant.