Condividi tramite


Elenco di controllo per l'idoneità per la produzione

L'applicazione e il cluster sono pronti ad accettare il traffico della produzione? L'esecuzione e il test dell'applicazione e del cluster non implicano necessariamente che questi siano pronti per l'uso in produzione. Per assicurare il corretto funzionamento dell'applicazione e del cluster, esaminare le voci dell'elenco di controllo seguente. È altamente consigliabile verificare che tutti i requisti riportati nell'elenco siano soddisfatti. È ovviamente possibile scegliere di usare soluzioni alternative per una determinata voce, ad esempio framework di diagnostica personalizzati.

Prerequisiti per la produzione

  1. Procedure di Azure Service Fabric: Progettazione applicazioni, Sicurezza, Rete, Pianificazione della capacità e scalabilità, Infrastruttura come codice e Monitoraggio e diagnostica.
  2. Configurare le impostazioni di FabricTransport se è in uso il modello di programmazione Reliable Actors e si richiede una protezione delle comunicazioni tra servizi.
  3. Per i cluster con più di 20 core o 10 nodi, creare un tipo di nodo primario dedicato per i servizi di sistema. Aggiungere vincoli di posizionamento per riservare il tipo di nodo primario ai servizi di sistema.
  4. Per il tipo di nodo primario usare uno SKU D2v2 o superiore. È consigliabile scegliere uno SKU con capacità del disco rigido di almeno 50 GB.
  5. I cluster di produzione devono essere sicuri. Per un esempio di configurazione di un cluster sicuro, vedere questo modello di cluster. Usare nomi comuni per i certificati ed evitare i certificati autofirmati.
  6. Applicare vincoli di risorse a contenitori e servizi per evitare che utilizzino più del 75% delle risorse dei nodi.
  7. Comprendere la finalità del livello di durabilità e impostarlo. Un livello di durabilità Silver o superiore è consigliato per i tipi di nodo che eseguono carichi di lavoro con stato e per la produzione.
  8. Comprendere la finalità del livello di affidabilità del tipo di nodo e selezionarlo. È consigliabile impostare un livello di affidabilità Silver o superiore, mentre è richiesto per la produzione.
  9. Eseguire i test di carico e scalabilità dei carichi di lavoro per identificare i requisiti di capacità per il cluster.
  10. I servizi e le applicazioni sono sottoposti a monitoraggio e vengono generati e archiviati log delle applicazioni, con funzionalità di avviso. Vedere ad esempio Aggiungere la registrazione all'applicazione di Service Fabric e Monitorare i contenitori con Monitoraggio di Azure.
  11. Il cluster viene monitorato con funzionalità di avviso, ad esempio con i log di Monitoraggio di Azure.
  12. L'infrastruttura del set di scalabilità di macchine virtuali sottostante viene monitorata con funzionalità di avviso, ad esempio con i log di Monitoraggio di Azure.
  13. Il cluster ha sempre un certificato primario e uno secondario per evitare che gli utenti restino bloccati.
  14. Gestire cluster separati per lo sviluppo, la gestione temporanea e la produzione.
  15. Gli aggiornamenti delle applicazioni e quelli dei cluster vengono prima testati nei cluster di sviluppo e di gestione temporanea.
  16. Disattivare gli aggiornamenti automatici nei cluster di produzione e attivarli per i cluster di sviluppo e gestione temporanea, ripristinando lo stato precedente, quando necessario.
  17. Definire un Obiettivo del punto di ripristino (RPO) per il servizio, configurare un processo di ripristino di emergenza e testarlo.
  18. Pianificare il ridimensionamento del cluster manualmente o a livello di codice.
  19. Pianificare l'applicazione di patch ai nodi del cluster.
  20. Configurare una pipeline di integrazione continua/distribuzione continua (CI/CD) in modo che le modifiche più recenti vengano continuamente testate, Ad esempio, usando Azure DevOps o Jenkins
  21. Testare i cluster di sviluppo e gestione temporanea in condizioni di carico con il servizio di analisi degli errori e indurre una condizione di chaos in un ambiente controllato.
  22. Pianificare il ridimensionamento delle applicazioni.

Se si usa il modello di programmazione Reliable Actors o Reliable Services di Service Fabric, è necessario verificare che siano soddisfatti i requisiti seguenti:

  1. Aggiornare le applicazioni durante la fase di sviluppo locale per verificare che il codice del servizio rispetti il token di annullamento nel metodo RunAsync e chiuda i listener di comunicazione personalizzati.
  2. Evitare gli inconvenienti comuni che si verificano durante l'uso delle raccolte Reliable Collections.
  3. Monitorare i contatori delle prestazioni della memoria CLR .NET durante l'esecuzione dei test di carico e verificare la presenza di frequenze elevate di Garbage Collection o l'aumento delle dimensioni degli heap con eccessivo tempo di esecuzione.
  4. Mantenere copie di backup offline di Reliable Services e Reliable Actors e testare il processo di ripristino.
  5. Il numero di istanze di macchina virtuale di tipo nodo primario deve idealmente essere uguale al valore minimo per il livello di affidabilità dei cluster. Le condizioni che rendono appropriato il superamento temporaneo del valore minimo del livello sono: ridimensionamento verticale dello SKU del set di scalabilità di macchine virtuali dei nodi di tipo primario.

Procedure consigliate facoltative

Anche se gli elenchi precedenti includono i prerequisiti per passare alla fase di produzione, è necessario prendere in considerazione anche le procedure consigliate seguenti:

  1. Stabilire un collegamento al modello di integrità di Service Fabric per estendere le funzionalità predefinite di generazione di report e valutazione dell'integrità.
  2. Distribuire un watchdog personalizzato che esegue il monitoraggio dell'applicazione e genera report relativi al carico per il bilanciamento delle risorse.

Passaggi successivi