Revisione di Azure Well-Architected Framework - Azure Service Fabric

Azure Service Fabric è una piattaforma di sistemi distribuiti che semplifica la creazione di pacchetti, la distribuzione e la gestione di microservizi e contenitori scalabili e affidabili. Queste risorse vengono distribuite in un set connesso alla rete di macchine virtuali o fisiche, denominato cluster.

In Azure Service Fabric sono disponibili due modelli di cluster: cluster standard e cluster gestiti.

I cluster standard richiedono di definire una risorsa cluster insieme a una serie di risorse di supporto. Queste risorse devono essere configurate correttamente durante la distribuzione e mantenute correttamente durante il ciclo di vita del cluster. In caso contrario, il cluster e i servizi non funzioneranno correttamente.

I cluster gestiti semplificano le operazioni di distribuzione e gestione. Il modello di cluster gestito è costituito da una singola risorsa cluster gestita di Service Fabric che incapsula e astrae le risorse sottostanti.

Questo articolo illustra principalmente il modello di cluster gestito per semplicità. Tuttavia, i call-out vengono effettuati per eventuali considerazioni speciali applicabili al modello di cluster standard.

Questo articolo illustra le procedure consigliate per l'architettura per Azure Service Fabric. Le linee guida si basano sui cinque pilastri dell'eccellenza architetturale:

  • Affidabilità
  • Sicurezza
  • Ottimizzazione dei costi
  • Eccellenza operativa
  • Efficienza prestazionale

Prerequisiti

  • Comprendere i pilastri di Well-Architected Framework può contribuire a produrre un'architettura cloud di alta qualità, stabile ed efficiente. Vedere la pagina di panoramica di Azure Well-Architected Framework per esaminare i cinque pilastri dell'eccellenza dell'architettura.

  • La revisione dei concetti di base dell'architettura di Microservizi e di Azure Service Fabric consente di comprendere il contesto delle procedure consigliate fornite in questo articolo.

Affidabilità

Le sezioni seguenti illustrano le considerazioni di progettazione e le raccomandazioni sulla configurazione, specifiche di Azure Service Fabric e affidabilità.

Quando si discute di affidabilità con Azure Service Fabric, è importante distinguere tra affidabilità del cluster e affidabilità del carico di lavoro. L'affidabilità del cluster è una responsabilità condivisa tra l'amministratore del cluster di Service Fabric e il provider di risorse, mentre l'affidabilità del carico di lavoro è il dominio di uno sviluppatore. Azure Service Fabric include considerazioni e raccomandazioni per entrambi questi ruoli.

Nell'elenco di controllo di progettazione e nell'elenco di raccomandazioni seguenti vengono effettuate chiamate per indicare se ogni scelta è applicabile all'architettura del cluster, all'architettura del carico di lavoro o a entrambi.

Per altre informazioni sull'affidabilità del cluster di Azure Service Fabric, vedere la documentazione sulla pianificazione della capacità.

Per altre informazioni sull'affidabilità del carico di lavoro di Azure Service Fabric, fare riferimento al sottosistema di affidabilità incluso nell'architettura di Service Fabric.

Elenco di controllo della progettazione

Quando si effettuano scelte di progettazione per Azure Service Fabric, esaminare i principi di progettazione per aggiungere affidabilità all'architettura.

  • Architettura del cluster: usare lo SKU Standard per gli scenari di produzione. Cluster Standard: usare il livello di durabilità Silver (5 macchine virtuali) o versione successiva per gli scenari di produzione.
  • Architettura del cluster: per i carichi di lavoro critici, è consigliabile usare zone di disponibilità per i cluster di Service Fabric.
  • Architettura del cluster: per gli scenari di produzione, usare il servizio di bilanciamento del carico di livello Standard. I cluster gestiti creano un Load Balancer Standard pubblico di Azure e un nome di dominio completo con un indirizzo IP pubblico statico per i tipi di nodo primario e secondario. È anche possibile usare un servizio di bilanciamento del carico personalizzato, che supporta sia i servizi di bilanciamento del carico basic che standard.
  • Architettura del cluster: creare tipi di nodo aggiuntivi secondari per i carichi di lavoro.

Consigli

Esplorare la tabella di raccomandazioni seguente per ottimizzare la configurazione di Azure Service Fabric per l'affidabilità del servizio:

Raccomandazione per Azure Service Fabric Vantaggio
Architettura del cluster: usare lo SKU Standard per gli scenari di produzione. Questo livello garantisce che il provider di risorse mantenga l'affidabilità del cluster. Cluster standard: un cluster gestito con SKU Standard offre l'equivalente del livello di durabilità Silver. Per ottenere questo risultato usando il modello di cluster standard, è necessario usare 5 macchine virtuali (o più).
Architettura del cluster: prendere in considerazione l'uso di zone di disponibilità per i cluster di Service Fabric. Il cluster gestito di Service Fabric supporta distribuzioni che si estendono su più zone di disponibilità per garantire la resilienza della zona. Questa configurazione garantisce la disponibilità elevata dei servizi di sistema critici e delle applicazioni da proteggere da singoli punti di errore.
Architettura del cluster: prendere in considerazione l'uso di Azure Gestione API per esporre ed eseguire l'offload delle funzionalità di taglio incrociato per le API ospitate nel cluster. Gestione API può essere integrato direttamente con Service Fabric.
Architettura del carico di lavoro: per gli scenari di carico di lavoro con stato, prendere in considerazione l'uso di Reliable Services. Il modello Reliable Services consente ai servizi di rimanere operativi anche in ambienti inaffidabili in cui i computer hanno esito negativo o hanno avuto esito negativo sulla rete o in casi in cui i servizi stessi riscontrano errori e arresti anomali o errori. Per i servizi con stato, lo stato viene mantenuto anche in presenza di errori di rete o di altro tipo.

Per altri suggerimenti, vedere Principi del pilastro dell'affidabilità.

Sicurezza

Le sezioni seguenti illustrano le considerazioni di progettazione e le raccomandazioni sulla configurazione, specifiche di Azure Service Fabric e della sicurezza.

Quando si discute di sicurezza con Azure Service Fabric, è importante distinguere tra sicurezza del cluster e sicurezza del carico di lavoro. La sicurezza del cluster è una responsabilità condivisa tra l'amministratore del cluster di Service Fabric e il provider di risorse, mentre la sicurezza del carico di lavoro è il dominio di uno sviluppatore. Azure Service Fabric include considerazioni e raccomandazioni per entrambi questi ruoli.

Nell'elenco di controllo di progettazione e nell'elenco di raccomandazioni seguenti vengono effettuate chiamate per indicare se ogni scelta è applicabile all'architettura del cluster, all'architettura del carico di lavoro o a entrambi.

Per altre informazioni sulla sicurezza del cluster di Azure Service Fabric, vedere Scenari di sicurezza del cluster di Service Fabric.

Per altre informazioni sulla sicurezza del carico di lavoro di Azure Service Fabric, vedere Sicurezza delle applicazioni e dei servizi di Service Fabric.

Elenco di controllo della progettazione

Quando si effettuano scelte di progettazione per Azure Service Fabric, esaminare i principi di progettazione per aggiungere sicurezza all'architettura.

  • Architettura del cluster: assicurarsi che i gruppi di sicurezza di rete siano configurati per limitare il flusso del traffico tra subnet e tipi di nodo. Assicurarsi che le porte corrette siano aperte per la distribuzione e i carichi di lavoro dell'applicazione.
  • Architettura del cluster: quando si usa l'archivio segreti di Service Fabric per distribuire segreti, usare un certificato di crittografia dei dati separato per crittografare i valori.
  • Architettura del cluster: distribuire i certificati client aggiungendoli ad Azure Key Vault e facendo riferimento all'URI nella distribuzione.
  • Architettura del cluster: abilitare l'integrazione di Microsoft Entra per il cluster per assicurarsi che gli utenti possano accedere a Service Fabric Explorer usando le credenziali di Microsoft Entra. Non distribuire i certificati client del cluster tra gli utenti per accedere a Explorer.
  • Architettura del cluster: per l'autenticazione client, usare i certificati client di sola lettura e amministratore e/o l'autenticazione Di Microsoft Entra.
  • Architetture di cluster e carichi di lavoro: creare un processo per il monitoraggio della data di scadenza dei certificati client.
  • Architetture di cluster e carichi di lavoro: gestire cluster separati per lo sviluppo, la gestione temporanea e la produzione.

Consigli

Prendere in considerazione i consigli seguenti per ottimizzare la configurazione di Azure Service Fabric per la sicurezza:

Raccomandazione per Azure Service Fabric Vantaggio
Architettura del cluster: assicurarsi che i gruppi di sicurezza di rete siano configurati per limitare il flusso del traffico tra subnet e tipi di nodo. Ad esempio, è possibile avere un'istanza di Gestione API (una subnet), una subnet front-end (che espone direttamente un sito Web) e una subnet back-end (accessibile solo al front-end).
Architettura del cluster: distribuire i certificati di Key Vault nei set di scalabilità di macchine virtuali del cluster di Service Fabric. Centralizzando l'archiviazione dei segreti delle applicazioni in Azure Key Vault è possibile controllare la distribuzione dei segreti. Key Vault riduce notevolmente le probabilità di divulgazione accidentale dei segreti.
Architettura del cluster: applicare un elenco di Controllo di accesso al certificato client per il cluster di Service Fabric. L'uso di un elenco di controllo di accesso fornisce un livello di autenticazione aggiuntivo.
Architettura del cluster: usare le richieste di risorse e i limiti per gestire l'utilizzo delle risorse nei nodi del cluster. L'applicazione dei limiti delle risorse consente di garantire che un servizio non consumi troppi risorse e diserisci altri servizi.
Architettura del carico di lavoro: crittografare i valori dei segreti del pacchetto di Service Fabric. La crittografia sui valori dei segreti offre un livello di sicurezza aggiuntivo.
Architettura del carico di lavoro: includere i certificati client nelle applicazioni di Service Fabric. Avere le applicazioni che usano certificati client per l'autenticazione offre opportunità di sicurezza sia a livello di cluster che di carico di lavoro.
Architettura del carico di lavoro: autenticare le applicazioni di Service Fabric nelle risorse di Azure usando l'identità gestita. L'uso dell'identità gestita consente di gestire in modo sicuro le credenziali nel codice per l'autenticazione in vari servizi senza salvarle in locale in una workstation per sviluppatori o nel controllo del codice sorgente.
Architetture di cluster e carichi di lavoro: seguire le procedure consigliate di Service Fabric per l'hosting di applicazioni non attendibili. Seguendo le procedure consigliate viene fornito uno standard di sicurezza da seguire.

Per altri suggerimenti, vedere Principi del pilastro della sicurezza.

Azure Advisor consente di garantire e migliorare la sicurezza di Azure Service Fabric. È possibile esaminare le raccomandazioni nella sezione Azure Advisor di questo articolo.

Definizioni dei criteri

Criteri di Azure consente di mantenere gli standard dell'organizzazione e di valutare la conformità tra le risorse. Tenere presenti i criteri predefiniti seguenti durante la configurazione di Azure Service Fabric:

  • I cluster di Service Fabric devono avere la proprietà ClusterProtectionLevel impostata su EncryptAndSign. Questo è il valore predefinito per i cluster gestiti e non è modificabile. Cluster standard: assicurarsi di impostare ClusterProtectionLevel su EncryptAndSign.
  • I cluster di Service Fabric devono usare solo Microsoft Entra ID per l'autenticazione client.

Tutte le definizioni di criteri predefinite correlate ad Azure Service Fabric sono elencate in Criteri predefiniti - Service Fabric.

Ottimizzazione dei costi

Le sezioni seguenti illustrano le considerazioni di progettazione e le raccomandazioni di configurazione, specifiche per Azure Service Fabric e l'ottimizzazione dei costi.

Quando si discute dell'ottimizzazione dei costi con Azure Service Fabric, è importante distinguere tra i costi delle risorse del cluster e i costi delle risorse del carico di lavoro. Le risorse del cluster sono una responsabilità condivisa tra l'amministratore del cluster di Service Fabric e il provider di risorse, mentre le risorse del carico di lavoro sono il dominio di uno sviluppatore. Azure Service Fabric include considerazioni e raccomandazioni per entrambi questi ruoli.

Nell'elenco di controllo di progettazione e nell'elenco di raccomandazioni seguenti vengono effettuate chiamate per indicare se ogni scelta è applicabile all'architettura del cluster, all'architettura del carico di lavoro o a entrambi.

Per l'ottimizzazione dei costi del cluster, passare al calcolatore prezzi di Azure e selezionare Azure Service Fabric nei prodotti disponibili. È possibile testare piani di configurazione e pagamento diversi nel calcolatore.

Per altre informazioni sui prezzi del carico di lavoro di Azure Service Fabric, vedere il processo di calcolo dei costi di esempio per la pianificazione delle applicazioni.

Elenco di controllo della progettazione

Quando si effettuano scelte di progettazione per Azure Service Fabric, esaminare i principi di progettazione per ottimizzare il costo dell'architettura.

  • Architettura del cluster: selezionare lo SKU di macchina virtuale appropriato.
  • Architettura del cluster: usare il tipo di nodo e le dimensioni appropriati.
  • Architetture di cluster e carichi di lavoro: usare il livello e le dimensioni del disco gestito appropriati.

Consigli

Esplorare la tabella seguente di consigli per ottimizzare la configurazione di Azure Service Fabric per i costi:

Raccomandazione per Azure Service Fabric Vantaggio
Architettura del cluster: evitare SKU di MACCHINE virtuali con offerte di dischi temporanei. Service Fabric usa i dischi gestiti per impostazione predefinita, evitando così offerte di dischi temporanei che non si pagano per le risorse non necessarie.
Architettura del cluster: se è necessario selezionare un determinato SKU di macchina virtuale per motivi di capacità e si verifica un'offerta di disco temporaneo, è consigliabile usare il supporto del disco temporaneo per i carichi di lavoro senza stato. Sfruttare al meglio le risorse per cui si paga. L'uso di un disco temporaneo anziché di un disco gestito può ridurre i costi per i carichi di lavoro senza stato.
Architetture di cluster e carichi di lavoro: allineare la selezione dello SKU e le dimensioni del disco gestito ai requisiti del carico di lavoro. La corrispondenza tra la selezione e le richieste del carico di lavoro garantisce che non si paghino risorse non necessarie.

Per altri suggerimenti, vedere Principi del pilastro di ottimizzazione dei costi.

Eccellenza operativa

Le sezioni seguenti illustrano le considerazioni di progettazione e le raccomandazioni sulla configurazione, specifiche per Azure Service Fabric ed eccellenza operativa.

Quando si discute di sicurezza con Azure Service Fabric, è importante distinguere tra l'operazione del cluster e l'operazione del carico di lavoro. L'operazione del cluster è una responsabilità condivisa tra l'amministratore del cluster di Service Fabric e il provider di risorse, mentre l'operazione del carico di lavoro è il dominio di uno sviluppatore. Azure Service Fabric include considerazioni e raccomandazioni per entrambi questi ruoli.

Nell'elenco di controllo di progettazione e nell'elenco di raccomandazioni seguenti vengono effettuate chiamate per indicare se ogni scelta è applicabile all'architettura del cluster, all'architettura del carico di lavoro o a entrambi.

Elenco di controllo della progettazione

Quando si effettuano scelte di progettazione per Azure Service Fabric, esaminare i principi di progettazione per l'eccellenza operativa.

  • Architettura del cluster: preparare una soluzione di monitoraggio del cluster.
  • Architettura del cluster: esaminare i criteri di integrità del cluster nel modello di integrità di Service Fabric.
  • Architettura del carico di lavoro: preparare una soluzione di monitoraggio delle applicazioni.
  • Architettura del carico di lavoro: esaminare i criteri di integrità dell'applicazione e del tipo di servizio nel modello di integrità di Service Fabric.
  • Architetture di cluster e carichi di lavoro: preparare una soluzione di monitoraggio dell'infrastruttura.
  • Architetture di cluster e carichi di lavoro: progettare il cluster con pipeline di compilazione e versione per l'integrazione e la distribuzione continue.

Consigli

Esaminare la tabella di raccomandazioni seguente per ottimizzare la configurazione di Azure Service Fabric per l'eccellenza operativa:

Raccomandazione per Azure Service Fabric Vantaggio
Architettura del carico di lavoro: usare Application Insights per monitorare i carichi di lavoro. Application Insights si integra con la piattaforma Azure, incluso Service Fabric.
Architetture di cluster e carichi di lavoro: creare un processo per il monitoraggio della data di scadenza dei certificati client. Ad esempio, Key Vault offre una funzionalità che invia un messaggio di posta elettronica quando una percentuale del x% della durata del certificato è trascorsa.
Architetture di cluster e carichi di lavoro: per i cluster di pre-produzione usare Azure Chaos Studio per eseguire il drill-down dell'interruzione del servizio in un errore dell'istanza del set di scalabilità di macchine virtuali. L'esercitazione degli scenari di interruzione del servizio consente di comprendere cosa è a rischio nell'infrastruttura e come attenuare al meglio i problemi se si verificano.
Architetture di cluster e carichi di lavoro: usare Monitoraggio di Azure per monitorare gli eventi dell'infrastruttura di cluster e contenitori. Monitoraggio di Azure si integra bene con la piattaforma Azure, tra cui Service Fabric.
Architetture di cluster e carichi di lavoro: usare Azure Pipelines per la soluzione di integrazione e distribuzione continua. Azure Pipelines si integra bene con la piattaforma Azure, tra cui Service Fabric.

Per altri suggerimenti, vedere Principi del pilastro dell'eccellenza operativa.

Efficienza prestazionale

La sezione seguente illustra le raccomandazioni di configurazione, specifiche per Azure Service Fabric e l'efficienza delle prestazioni.

Quando si discute di sicurezza con Azure Service Fabric, è importante distinguere tra l'operazione del cluster e l'operazione del carico di lavoro. Le prestazioni del cluster sono una responsabilità condivisa tra l'amministratore del cluster di Service Fabric e il provider di risorse, mentre le prestazioni del carico di lavoro sono il dominio di uno sviluppatore. Azure Service Fabric include considerazioni e raccomandazioni per entrambi questi ruoli.

Nell'elenco di controllo di progettazione e nell'elenco di raccomandazioni seguenti vengono effettuate chiamate per indicare se ogni scelta è applicabile all'architettura del cluster, all'architettura del carico di lavoro o a entrambi.

Per altre informazioni sul modo in cui Azure Service Fabric può ridurre i problemi delle prestazioni per il carico di lavoro grazie ai contatori delle prestazioni di Service Fabric, vedere Procedure consigliate per monitoraggio e diagnostica per Azure Service Fabric.

Elenco di controllo della progettazione

  • Architettura del cluster: escludere i processi di Service Fabric da Windows Defender per migliorare le prestazioni.
  • Architettura del cluster: selezionare lo SKU di macchina virtuale appropriato.
  • Architettura del carico di lavoro: decidere quale modello di programmazione si userà per i servizi.
  • Architetture di cluster e carichi di lavoro: usare il livello e le dimensioni del disco gestito appropriati.

Consigli

Prendere in considerazione i consigli seguenti per ottimizzare la configurazione di Azure Service Fabric per garantire l'efficienza delle prestazioni:

Raccomandazione per Azure Service Fabric Vantaggio
Architettura del cluster: escludere i processi di Service Fabric da Windows Defender per migliorare le prestazioni. Per impostazione predefinita, Windows Defender Antivirus è installato in Windows Server 2016 e 2019. Per ridurre l'impatto sulle prestazioni e il sovraccarico dell'utilizzo delle risorse dovuto a Windows Defender e se i criteri di sicurezza consentono di escludere processi e percorsi per il software open source, è possibile escludere.
Architettura del cluster: è consigliabile usare la scalabilità automatica per il cluster. La scalabilità automatica offre un'elevata elasticità e consente l'aggiunta o la riduzione dei nodi su richiesta in un tipo di nodo secondario. Questo comportamento automatizzato ed elastico riduce il sovraccarico di gestione e il potenziale impatto aziendale monitorando e ottimizzando la quantità di nodi che consentono di gestire il carico di lavoro.
Architettura del cluster: prendere in considerazione l'uso della rete accelerata. La rete accelerata consente un percorso ad alte prestazioni che ignora l'host dal percorso dati, riducendo così la latenza, il jitter e l'utilizzo della CPU per i carichi di lavoro di rete più impegnativi.
Architettura del cluster: prendere in considerazione l'uso della crittografia nell'host invece di Crittografia dischi di Azure (ADE). Questo metodo di crittografia migliora l'ambiente Di azure supportando tutti i tipi di sistema operativo e le immagini, incluse le immagini personalizzate, per le macchine virtuali crittografando i dati nel servizio Archiviazione di Azure.
Architettura del carico di lavoro: esaminare i modelli di programmazione di Service Fabric per decidere il modello più adatto ai servizi. Service Fabric supporta diversi modelli di programmazione. Ognuno presenta i propri vantaggi e svantaggi. Conoscere i modelli di programmazione disponibili può essere utile per effettuare le scelte migliori per la progettazione dei servizi.
Architettura del carico di lavoro: sfruttare i microservizi ad accoppiamento libero per i carichi di lavoro, se appropriato. L'uso di microservizi consente di sfruttare al meglio le funzionalità di Service Fabric.
Architettura del carico di lavoro: sfruttare l'architettura guidata dagli eventi per i carichi di lavoro, se appropriato. L'uso dell'architettura basata su eventi consente di sfruttare al meglio le funzionalità di Service Fabric.
Architettura del carico di lavoro: sfruttare l'elaborazione in background per i carichi di lavoro, se appropriato. L'uso dell'elaborazione in background consente di sfruttare al meglio le funzionalità di Service Fabric.
Architetture di cluster e carichi di lavoro: esaminare i diversi modi in cui è possibile ridimensionare la soluzione in Service Fabric. È possibile usare il ridimensionamento per abilitare l'utilizzo massimo delle risorse per la soluzione.

Per altri suggerimenti, vedere Principi del pilastro dell'efficienza delle prestazioni.

Consigli di Azure Advisor

Azure Advisor è un consulente cloud personalizzato che facilita l'applicazione delle procedure consigliate per ottimizzare le distribuzioni di Azure. Ecco alcune raccomandazioni che consentono di migliorare l'affidabilità, la sicurezza, l'efficacia dei costi, le prestazioni e l'eccellenza operativa quando si usa Azure Service Fabric.

Sicurezza

  • I cluster di Service Fabric devono avere la proprietà ClusterProtectionLevel impostata su EncryptAndSign. Questo è il valore predefinito per i cluster gestiti e non è modificabile. Cluster standard: assicurarsi di impostare ClusterProtectionLevel su EncryptAndSign.
  • I cluster di Service Fabric devono usare solo Microsoft Entra ID per l'autenticazione client.

Risorse aggiuntive

Vedere l'articolo Opzioni di configurazione del cluster gestito di Azure Service Fabric per un elenco di tutte le opzioni disponibili durante la creazione e la gestione del cluster.

Esaminare i concetti fondamentali sull'architettura delle applicazioni di Azure per indicazioni su come sviluppare i carichi di lavoro. Anche se Service Fabric può essere usato esclusivamente come piattaforma di hosting di contenitori, l'uso di carichi di lavoro ben strutturati sfrutta la funzionalità completa di Service Fabric.

Passaggi successivi

Usare questi consigli durante la creazione del cluster gestito di Service Fabric usando un modello di Resource Manager o tramite il portale di Azure: