PERF02-BP05 Utilizzo dell'elasticità disponibile delle risorse
Il cloud offre la flessibilità necessaria per espandere o ridurre le risorse in modo dinamico attraverso una serie di meccanismi per soddisfare il mutare della domanda. Attraverso la combinazione di questa elasticità con metriche di calcolo, un carico di lavoro può rispondere automaticamente alle variazioni in modo da usare esclusivamente le risorse necessarie.
Anti-pattern comuni:
-
Provisioning in eccesso per affrontare possibili picchi.
-
Risposta agli allarmi aumentando manualmente la capacità.
-
Aumento della capacità senza tenere conto dei tempi di provisioning.
-
Mantenimento della maggiore capacità dopo un evento di dimensionamento, senza ripristinare quella originale.
-
Monitoraggio di metriche che non riflettono direttamente gli effettivi requisiti del carico di lavoro.
Vantaggi dell'adozione di questa best practice: la domanda può essere fissa, variabile, basata su un modello o caratterizzata da picchi. La corrispondenza tra offerta e domanda assicura il costo minore per un carico di lavoro. Il monitoraggio, la verifica e la configurazione dell'elasticità del carico di lavoro permettono di ottimizzare le prestazioni, risparmiare denaro e migliorare l'affidabilità in base al mutare delle esigenze di utilizzo. Benché sia possibile adottare un approccio manuale per raggiungere questi obiettivi, su scala più vasta risulta poco pratico. Un approccio automatico e basato su metriche permette alle risorse di soddisfare le esigenze in qualsiasi momento.
Livello di rischio associato alla mancata adozione di questa best practice: medio
Guida all'implementazione
L'automazione basata su metriche deve essere usata per usufruire dell'elasticità, con l'obiettivo di far corrispondere le risorse fornite con quelle richieste dal carico di lavoro. Ad esempio, puoi usare metriche Amazon CloudWatch per monitorare le risorse
Se combinato con parametri relativi all'elaborazione, un carico di lavoro può rispondere automaticamente a questi cambiamenti e utilizzare la gamma di risorse più opportuna per raggiungere il suo obiettivo. Devi anche pianificare i tempi di provisioning e i possibili errori delle risorse.
Istanze, container e funzioni forniscono meccanismi per l'elasticità, come funzionalità del servizio, sotto forma di Application Auto Scaling
Convalida le metriche per aumentare o ridurre risorse elastiche rispetto al tipo di carico di lavoro implementato. Ad esempio, se implementi un'applicazione di transcodifica di video, è previsto il 100% di utilizzo della CPU e questa non deve essere la metrica principale. In alternativa, puoi misurare la profondità della coda dei processi di transcodifica in attesa di dimensionare i tipi di istanze.
Le implementazioni dei carichi di lavoro devono gestire eventi di aumento e riduzione delle risorse. Ridimensionare in modo sicuro i componenti del carico di lavoro è fondamentale quanto ricalibrare le risorse quando richiesto dalla domanda.
Crea scenari di test per eventi di dimensionamento in modo da verificare che il carico di lavoro si comporti come previsto.
Passaggi dell'implementazione
-
Utilizza dati cronologici per analizzare le esigenze in fatto di risorse del carico di lavoro nel corso del tempo. Poniti domande specifiche, ad esempio:
-
Il carico di lavoro è fisso e aumenta nel tempo a una velocità nota?
-
Il carico di lavoro aumenta o diminuisce in base a modelli stagionali ripetibili?
-
Il carico di lavoro presenta picchi? I picchi possono essere previsti?
-
-
Utilizza servizi di monitoraggio e dati cronologici quanto più spesso possibile.
-
L'applicazione di tag alle risorse può semplificare il monitoraggio. Quando usi tag, consulta le best practice per l'applicazione di tag. Inoltre, i tag semplificano la gestione, l'identificazione e l'organizzazione delle risorse.
-
Con AWS puoi adottare varie strategie per associare l'offerta alla domanda. Le principali best practice per l'ottimizzazione dei costi (da COST09-BP01 a COST09-03) descrivono come usare gli approcci seguenti alla gestione dei costi:
-
Crea scenari di test per eventi di riduzione delle risorse in modo da verificare che il carico di lavoro si comporti come previsto.
-
La maggior parte delle istanze non di produzione deve essere arrestata quando le istanze non vengono utilizzate.
-
Per le esigenze di archiviazione quando usi Amazon Elastic Block Store (Amazon EBS), scegli l'elasticità basata su volumi.
-
Per Amazon Elastic Compute Cloud (Amazon EC2)
, valuta se usare gruppi con Auto Scaling, che permettono di ottimizzare prestazioni e costi aumentando automaticamente il numero di istanze di calcolo durante i picchi della domanda e riducendo la capacità al calare della domanda.
Risorse
Best practice correlate:
Documenti correlati:
Video correlati:
-
Calcolo migliore, più veloce, più economico: ottimizzazione dei costi di Amazon EC2 (CMP202-R1)
-
Distribuzione di inferenze di machine learning ad alte prestazioni con AWS Inferentia (CMP324-R1)
-
Ottimizzazione delle prestazioni e dei costi per le risorse di calcolo AWS (CMP323-R1)
-
La nuova generazione di Amazon EC2: approfondimento del sistema Nitro
Esempi correlati: