Raccomandazioni per la pianificazione della capacità

Si applica a questa raccomandazione per l'efficienza delle prestazioni di Azure Well-Architected Framework:

PE:02 Eseguire la pianificazione della capacità. La pianificazione della capacità deve essere eseguita prima che siano previste modifiche nei modelli di utilizzo. Le modifiche stimate includono variazioni stagionali, aggiornamenti del prodotto, campagne di marketing, eventi speciali o modifiche normative.

Questa guida descrive i consigli per la pianificazione della capacità. La pianificazione della capacità si riferisce al processo di determinazione delle risorse necessarie per soddisfare le destinazioni di prestazioni del carico di lavoro. Implica la stima della quantità di risorse di calcolo, ad esempio CPU, memoria, archiviazione e larghezza di banda di rete necessarie per supportare i requisiti di prestazioni del carico di lavoro. La pianificazione della capacità consente di evitare il sottoprovisioning e assicurarsi che il carico di lavoro disponga di risorse sufficienti per gestire le richieste del carico di lavoro previste senza riscontrare riduzione delle prestazioni o colli di bottiglia. Consente inoltre di evitare il overprovisioning e i costi non necessari. Una mancanza di pianificazione della capacità può causare problemi di prestazioni, colli di bottiglia delle risorse, costi maggiori, allocazione inefficiente, sfide di scalabilità e prestazioni imprevedibili del carico di lavoro.

Definizioni

Termine Definizione
Pianificazione della capacità Il processo di stima delle risorse che un carico di lavoro deve soddisfare le relative destinazioni di prestazioni.
Requisiti funzionali Le funzionalità e le funzionalità di un carico di lavoro devono soddisfare lo scopo previsto.
Requisiti tecnici Codice e infrastruttura necessari per soddisfare i requisiti funzionali.
Analisi delle tendenze Analisi cronologica dei dati per prevedere la domanda futura.

Strategie di progettazione chiave

La pianificazione della capacità è un processo in avanti che comporta decisioni basate su richieste e modelli di carico di lavoro previsti. L'obiettivo è ottimizzare le prestazioni del carico di lavoro in scenari di carico continui e di picco. Comprendendo le modifiche apportate all'utilizzo, ad esempio i turni stagionali o le versioni del prodotto, è possibile allocare le risorse in modo strategico, impedendo il carico di sistema durante periodi di domanda elevata. Questa strategia proattiva riduce le interruzioni e aumenta l'efficienza delle prestazioni. Analizzando le tendenze di utilizzo precedenti e i dati di crescita, è possibile prevedere esigenze brevi e a lungo termine. È possibile individuare potenziali colli di bottiglia e problemi di ridimensionamento, garantendo prestazioni del carico di lavoro coerenti ed efficienti.

Raccogliere i dati sulla capacità

La raccolta dei dati sull'utilizzo del carico di lavoro comporta la raccolta e l'analisi delle informazioni su come un carico di lavoro usa le risorse. È consigliabile raccogliere dati sui modelli cronologici per carichi di lavoro esistenti e misure predittive per i nuovi carichi di lavoro. Questo processo consente di tradurre gli obiettivi aziendali in requisiti tecnici ed è essenziale per la capacità di previsione. Considerare le seguenti indicazioni:

Comprendere un carico di lavoro esistente

La comprensione di un carico di lavoro esistente per la pianificazione della capacità implica l'analisi dei dati cronologici correlati al modo in cui il carico di lavoro usa le risorse. Include metriche come l'utilizzo delle risorse, i dati sulle prestazioni e i modelli di carico di lavoro. Questa comprensione garantisce un'allocazione efficiente delle risorse, converte gli obiettivi aziendali in requisiti tecnici e consente di identificare potenziali colli di bottiglia.

  • Informazioni sui dati: esaminare i dati cronologici disponibili e comprendere la struttura, il formato e la pertinenza per la pianificazione della capacità. La revisione potrebbe includere metriche di utilizzo delle risorse, modelli di carico di lavoro, metriche delle prestazioni e altri punti dati pertinenti. Comprendere i processi aziendali e la criticità delle applicazioni. Identificare i tempi di utilizzo di picco, il carico utente, le tariffe delle transazioni e altre metriche pertinenti.

  • Pulire e pre-elaborare i dati: preparare i dati per l'analisi rimuovendo eventuali incoerenze, errori o outlier. La preparazione dei dati può comportare tecniche di pulizia dei dati, ad esempio l'imputazione dei dati, la gestione dei valori mancanti o la normalizzazione.

  • Identificare le metriche chiave: identificare le metriche rilevanti per la pianificazione della capacità. Le metriche possono includere l'utilizzo della CPU, l'utilizzo della memoria, la velocità effettiva di rete e i tempi di risposta.

  • Identificare i colli di bottiglia: misurare la velocità effettiva e i tempi di risposta per identificare i componenti specifici del sistema che potrebbero diventare colli di bottiglia man mano che il carico di lavoro aumenta. Le richieste al secondo e l'utilizzo della CPU del database possono essere indicatori validi della capacità.

  • Visualizzare i dati: creare visualizzazioni, ad esempio grafici o grafici, per ottenere informazioni dettagliate migliori sui dati cronologici. Le visualizzazioni consentono di identificare modelli, tendenze e anomalie nei dati per ottenere una comprensione più chiara del comportamento del carico di lavoro.

Informazioni su un nuovo carico di lavoro

La comprensione di un nuovo carico di lavoro per la pianificazione della capacità fa riferimento alla stima dei requisiti delle risorse di un'attività futura senza dati cronologici. La stima delle esigenze future di un nuovo carico di lavoro senza dati cronologici può essere più complessa. Questo processo garantisce l'allocazione delle risorse in modo efficiente e allinea le allocazioni con gli obiettivi del carico di lavoro quando viene introdotto il carico di lavoro. Considerare le seguenti indicazioni:

  • Ricerca di mercato: condurre ricerche di mercato per comprendere la domanda di prodotti o servizi simili può fornire informazioni preziose sulla potenziale domanda di un nuovo carico di lavoro. La ricerca può comportare l'analisi delle tendenze del mercato, l'esecuzione di sondaggi o lo studio delle offerte dei concorrenti.

  • Giudizio esperto: input da esperti o professionisti che hanno esperienza nel settore possono aiutare a stimare la domanda di un nuovo carico di lavoro. Le loro competenze e informazioni dettagliate possono fornire input preziosi per la previsione.

  • Progetti pilota o prototipi: progetti o prototipi su larga scala possono aiutare a raccogliere dati e commenti in tempo reale. È quindi possibile usare questi dati per informare il processo di pianificazione della capacità e modificare la domanda prevista.

  • Origini dati esterne: origini dati esterne come report del settore, studi di mercato o sondaggi dei clienti possono fornire informazioni aggiuntive per stimare la domanda di un nuovo carico di lavoro. Queste origini possono offrire informazioni preziose sulle preferenze dei clienti, sulle tendenze del mercato e sui potenziali driver di domanda.

Previsione della domanda

La previsione della domanda comporta l'uso dei dati del carico di lavoro per prevedere le esigenze future per un servizio o un prodotto. È essenziale per la pianificazione della capacità per garantire un'allocazione efficiente delle risorse, prevedere i modelli di crescita e preparare potenziali picchi in domanda. Quando si prevede una domanda futura, si usano i dati per ottenere un senso delle esigenze future. Si applicano analisi statistiche, analisi delle tendenze o tecniche di modellazione predittiva ai dati che è necessario prevedere la domanda futura. Questi metodi tengono conto dei modelli cronologici o previsti e li proiettano in futuro per fornire stime della domanda prevista del carico di lavoro. Per prevedere la domanda, prendere in considerazione queste strategie:

Account per vari scenari

Quando si esegue la pianificazione della capacità, è necessario pianificare scenari diversi che potrebbero verificarsi. Questa pianificazione deve includere sia modelli di crescita prevedibili che picchi imprevisti in domanda. I modelli di utilizzo possono aumentare o ridurre. Possono essere organici (più o meno utenti) o inorganici (un evento o un evento imprevisto di sicurezza). È necessario eseguire la pianificazione della capacità prima delle modifiche all'utilizzo, in momenti chiave:

  • Progettazione (stima)
  • Picchi regolari (8:00 Am sign-in rush)
  • Avviare (convalida della stima)
  • Modifica del modello di business
  • Acquisizione o fusione
  • Push di marketing
  • Modifica stagionale
  • Avvio delle funzionalità
  • Periodicamente

Usare le tecniche di stima

La previsione della domanda futura di un servizio o di un prodotto prevede l'uso di tecniche come l'analisi statistica, l'analisi delle tendenze e la modellazione predittiva. Ecco una panoramica di come usare queste tecniche:

  • Analisi statistica: i metodi statistici consentono di individuare modelli e relazioni all'interno dei dati cronologici. È possibile usare questi modelli per prevedere la domanda futura. È possibile usare tecniche come l'analisi delle serie temporali, l'analisi della regressione e le medie mobili per identificare tendenze, stagionalità e altri modelli nei dati.

  • Analisi delle tendenze: l'analisi delle tendenze prevede l'esame dei dati cronologici per identificare modelli coerenti e estrapolare tali modelli nel futuro. Ad esempio, se la domanda del carico di lavoro è aumentata del 10% durante l'ultimo anno, è possibile prevedere una continuazione di questa tendenza. Quando si analizzano i dati cronologici sulle richieste in un periodo di tempo, è possibile identificare le tendenze di crescita o riduzione. Usare queste tendenze come base per prevedere la domanda futura. L'analisi delle tendenze può anche identificare gli effetti degli eventi una volta che causano spostamenti rapidi nel traffico (inorganico). Ad esempio, le versioni delle funzionalità potrebbero aumentare in modo coerente la domanda del 5%. Se si hanno quattro versioni principali all'anno, è consigliabile pianificare la crescita del 5% ogni volta.

  • Modellazione predittiva: la modellazione predittiva è il processo di creazione di modelli matematici che usano dati cronologici e altre variabili rilevanti per eseguire stime sulla domanda futura. È possibile usare tecniche come algoritmi di Machine Learning, reti neurali o alberi delle decisioni. Questi modelli possono prendere in considerazione più fattori e variabili per fornire previsioni più accurate.

Allineare le previsioni agli obiettivi del carico di lavoro

L'allineamento delle previsioni con gli obiettivi del carico di lavoro comporta la regolazione dei modelli di capacità predittiva per garantire che soddisfino gli obiettivi e le richieste specifici di un determinato carico di lavoro. Questo allineamento garantisce che venga effettuato il provisioning delle risorse in modo adeguato, impedendo sia l'sottoutilizzazione che i potenziali overload del carico di lavoro. Ad esempio, se si intende supportare un'API per 1 milione di utenti per caricare file da 1 MB in un secondo, ma i dati correnti mostrano velocità di scrittura lente, è necessario regolare il sistema. È essenziale parlare con gli stakeholder per comprendere i requisiti del carico di lavoro. Assicurarsi che i piani siano allineati alle promesse dei provider di servizi. Questo allineamento garantisce che la capacità soddisfi la domanda prevista e consenta di individuare le aree del sistema che potrebbero richiedere modifiche.

Determinare i requisiti delle risorse

La determinazione dei requisiti delle risorse per la pianificazione della capacità comporta la valutazione delle risorse necessarie per soddisfare la domanda prevista. Ad esempio, se un'applicazione prevede un aumento del 50% degli utenti durante una campagna promozionale, potrebbe essere necessario allocare più istanze cloud o modificare i parametri di scalabilità automatica per gestire il carico aumentato.

Un carico di lavoro può avere molte risorse, quindi non esiste una metrica da osservare per determinare i requisiti delle risorse. È necessario misurare la capacità a livello di risorsa per ottenere risultati significativi. Stimare la domanda prevista per le risorse in base a dati cronologici, tendenze di mercato e proiezioni aziendali. Prendere in considerazione il numero di transazioni, utenti simultanei o altre metriche pertinenti.

In base alla domanda prevista, calcolare le risorse necessarie per soddisfare tale domanda. Prendere in considerazione fattori quali capacità del server, larghezza di banda di rete, capacità di archiviazione e personale:

  • Capacità del server: determinare la capacità del server necessaria in base al numero stimato di utenti o transazioni simultanei. Prendere in considerazione fattori come i requisiti di CPU, memoria e spazio su disco per garantire che i server possano gestire il carico di lavoro previsto.

  • Larghezza di banda di rete: valutare la larghezza di banda di rete necessaria per supportare il livello di traffico previsto. È consigliabile includere velocità di trasferimento dei dati sia in ingresso che in uscita per garantire comunicazioni uniformi ed efficienti tra server e client.

  • Capacità di archiviazione: stimare la quantità di dati generati o elaborati dal carico di lavoro durante la domanda prevista. Prendere in considerazione fattori come dimensioni del database, requisiti di archiviazione dei file e qualsiasi altra esigenza di archiviazione dei dati specifica per l'applicazione.

  • Personale: valutare le risorse umane necessarie per gestire e gestire l'infrastruttura, gestire il supporto clienti, eseguire la manutenzione del sistema e garantire operazioni senza problemi. Prendere in considerazione fattori come distribuzione del carico di lavoro, set di competenze e competenze necessarie.

Informazioni sulle limitazioni delle risorse

Le risorse nel carico di lavoro presentano limitazioni delle prestazioni. Le limitazioni delle prestazioni si applicano ai servizi e agli SKU all'interno di ogni servizio. È necessario comprendere le limitazioni delle risorse nel carico di lavoro e considerare tali limitazioni nelle decisioni di progettazione. Ad esempio, è necessario sapere se le limitazioni delle risorse richiedono di modificare gli SKU o di modificare completamente le risorse.

È anche necessario identificare i limiti raggiungibili. Si riferisce al punto di individuare le soglie o i limiti massimi di un carico di lavoro. Questi limiti si applicano in genere all'infrastruttura (calcolo, memoria, archiviazione, rete), applicazione (connessioni alle banche dati simultanee, tempi di risposta, disponibilità), servizio (richieste al secondo) e scalabilità. Quando la pianificazione della capacità identifica i limiti raggiungibili, è necessario modificare il carico di lavoro prima che il limite crei un problema di prestazioni. Le baseline delle prestazioni, il monitoraggio continuo e i test sono essenziali per convalidare i limiti e la soluzione.

Compromesso: la pianificazione della capacità non valutata può causare il provisioning eccessivo o il sottoprovisioning delle risorse. Il provisioning eccessivo comporta costi più elevati. Il provisioning in corso può comportare prestazioni scarse. Cercare di trovare il giusto equilibrio.

Facilitazione di Azure

Raccolta di dati di capacità e previsione della domanda: Monitoraggio di Azure consente di raccogliere e analizzare i dati di telemetria dalle applicazioni e dall'infrastruttura. Supporta il monitoraggio di varie risorse di Azure, tra cui macchine virtuali, contenitori e account di archiviazione. Gli strumenti chiave includono Application Insights e Log Analytics. Configurando la raccolta dei dati e definendo metriche e log da monitorare, è possibile raccogliere dati importanti del carico di lavoro per l'analisi. Per il monitoraggio della rete, combinare Monitoraggio di Azure con Azure Network Watcher, informazioni dettagliate sulla rete di Monitoraggio di Azure e monitoraggio di Azure ExpressRoute.

Monitoraggio di Azure consente di analizzare i dati cronologici e applicare tecniche di previsione per prevedere le tendenze e i requisiti di capacità futuri del carico di lavoro. È possibile generare previsioni utili per la pianificazione della capacità. Queste previsioni consentono di stimare la capacità del server, la larghezza di banda di rete, la capacità di archiviazione e altre esigenze di risorse usando modelli di domanda stimati.

Determinazione dei requisiti delle risorse: poiché forniscono un'ampia gamma di configurazioni, gli strumenti e i servizi di Azure consentono di definire i requisiti tecnici. È possibile allineare i requisiti del carico di lavoro alle risorse di Azure disponibili, assicurandosi di selezionare i componenti e le impostazioni appropriati per soddisfare le esigenze funzionali.

Informazioni sulle limitazioni delle risorse: Azure fornisce documentazione e risorse per comprendere le limitazioni delle prestazioni di vari servizi e SKU di Azure. Prendendo in considerazione queste limitazioni, è possibile prendere decisioni di progettazione informate e ottimizzare l'architettura del carico di lavoro per prestazioni ed efficienza dei costi.

Azure offre opzioni di scalabilità come la scalabilità automatica, che può modificare automaticamente le risorse in base alla richiesta del carico di lavoro. È possibile ridimensionare verticalmente aumentando la capacità di una risorsa usando una dimensione di macchina virtuale maggiore oppure è possibile ridimensionare orizzontalmente aggiungendo nuove istanze di una risorsa. I servizi di Azure con funzionalità di scalabilità automatica possono aumentare automaticamente le prestazioni per garantire la capacità durante i picchi del carico di lavoro e tornare alla normalità quando il carico diminuisce. Esistono limiti di scalabilità all'interno della configurazione e dei servizi di cui tenere conto. È possibile leggere la documentazione o eseguire i test. Azure offre strumenti come Test di carico di Azure, che consentono di simulare il carico e i diversi modelli di utilizzo per raccogliere dati pertinenti sul carico di lavoro.

Elenco di controllo dell'efficienza delle prestazioni

Fare riferimento al set completo di raccomandazioni.