COST09-BP03 Fornitura dinamica delle risorse - Framework AWS Well-Architected

COST09-BP03 Fornitura dinamica delle risorse

Le risorse sono fornite in modo pianificato. La pianificazione può essere basata sulla domanda, ad esempio tramite l'auto scaling, oppure sul tempo, quando la domanda è prevedibile e le risorse sono fornite in base al tempo. Questi metodi comportano il minor numero possibile di sovra o sotto-provisioning.

Livello di rischio associato se questa best practice non fosse adottata: Basso

Guida all'implementazione

Puoi utilizzare AWS Auto Scalingo incorporare il dimensionamento nel codice con API o SDK AWS. Ciò riduce i costi complessivi del carico di lavoro rimuovendo i costi operativi dall'apportare manualmente modifiche al tuo ambiente e può essere eseguito molto più rapidamente. In questo modo è possibile garantire che le risorse del carico di lavoro soddisfino al meglio la domanda, in qualsiasi momento.

Fornitura basata sulla domanda: sfrutta l'elasticità del cloud per fornire risorse in grado di soddisfare le mutevoli esigenze. Sfrutta API o funzionalità dei servizi per modificare in modo programmatico e dinamico la quantità di risorse del cloud nella tua architettura. Ciò ti consente di dimensionare i componenti nella tua architettura e aumentare automaticamente il numero di risorse durante i picchi di domanda per mantenere le prestazioni, nonché diminuire la capacità quando la domanda cala in modo da ridurre i costi.

AWS Auto Scaling ti aiuta a regolare la capacità per mantenere prestazioni stabili e prevedibili al minor costo possibile. Si tratta di un servizio completamente gestito e gratuito che si integra con istanze e serie di istanze Spot Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS), Amazon DynamoDB e Amazon Aurora.

Auto Scaling fornisce il rilevamento automatico delle risorse per aiutare a trovare risorse nel carico di lavoro che possono essere configurate, dispone di strategie di dimensionamento integrate per ottimizzare le prestazioni, i costi o un equilibrio tra i due e fornisce il dimensionamento predittivo per aiutare a risolvere i picchi ricorrenti con regolarità.

Auto Scaling può implementare il ridimensionamento manuale, programmato o in base alla domanda. Puoi anche utilizzare le metriche e gli allarmi di Amazon CloudWatch per attivare eventi di dimensionamento per il tuo carico di lavoro. I parametri tipici possono essere parametri standard di Amazon EC2, ad esempio l'utilizzo della CPU, il throughput di rete e la latenza di richiesta/risposta osservata da Elastic Load Balancing(ELB) . Quando possibile, è consigliabile utilizzare un parametro indicativo dell'esperienza del cliente. In genere si tratta di un parametro personalizzato che potrebbe avere origine dal codice dell'applicazione all'interno del carico di lavoro.

Quando prevedi una strategia basata sulla domanda in un progetto, tieni presenti due considerazioni principali. In primo luogo, devi capire con quale velocità è necessario predisporre le nuove risorse. In secondo luogo, devi capire che la dimensione del margine tra domanda e risorse fornite cambierà. Devi prepararti ad affrontare le variazioni nella domanda, nonché le risorse insufficienti.

ELB consente di ricalibrare le risorse distribuendo la domanda su più risorse. Man mano che implementi altre risorse, le aggiungi al load balancer per soddisfare la domanda. Elastic Load Balancing dispone di supporto per istanze Amazon EC2, container, indirizzi IP e funzioni AWS Lambda.

Fornitura basata sul tempo: una strategia basata sul tempo allinea la capacità delle risorse alla domanda, che è prevedibile o ben definita nel tempo. In genere questa strategia non dipende dai livelli di utilizzo delle risorse. Una strategia basata sul tempo assicura che le risorse siano disponibili nel momento esatto in cui vengono richieste e possano essere fornite senza ritardi dovuti alle procedure di avvio e ai controlli di sistema o di coerenza. Attraverso una strategia basata sul tempo puoi fornire risorse aggiuntive o incrementare la capacità nei periodi più intensi.

Puoi utilizzare Auto Scaling pianificato per implementare un approccio in base al tempo. I carichi di lavoro possono essere programmati per eseguire il dimensionamento in determinati momenti (ad esempio, all'inizio dell'orario di lavoro), garantendo quindi la disponibilità delle risorse all'arrivo degli utenti on demand.

Puoi anche sfruttare API e SDK AWS e AWS CloudFormation per predisporre e ritirare automaticamente interi ambienti quando ne hai bisogno. Questa strategia risulta particolarmente adatta per gli ambienti di sviluppo o di prova che operano solo in determinati orari di lavoro o periodi di tempo.

Puoi usare le API per dimensionare le risorse all'interno di un ambiente (dimensionamento verticale). Ad esempio, potresti dimensionare verticalmente un carico di lavoro di produzione modificando la dimensione o la classe dell'istanza. Ciò è possibile interrompendo e avviando l'istanza e selezionando una dimensione o classe diversa. Questa tecnica può essere applicata anche ad altre risorse, come gli Elastic Volumes Amazon Elastic Block Store (Amazon EBS), che possono essere modificati per aumentarne le dimensioni, regolarne le prestazioni (IOPS) o modificare il tipo di volume durante l'utilizzo.

Quando prevedi una strategia basata sul tempo in un progetto, tieni presenti due considerazioni principali. In primo luogo, che livello di coerenza presenta il modello di utilizzo? In secondo luogo, qual è l'impatto se il modello cambia? Puoi migliorare l'accuratezza delle previsioni monitorando i tuoi carichi di lavoro e utilizzando la business intelligence. Se noti cambiamenti significativi nel modello di utilizzo, puoi modificare i tempi per assicurarti che la copertura sia fornita.

Passaggi dell'implementazione

  • Configura la pianificazione in base al tempo: Per le variazioni prevedibili della domanda, il dimensionamento basato sul tempo può fornire il numero corretto di risorse in modo tempestivo. Inoltre è utile se la creazione e la configurazione delle risorse non sono abbastanza veloci da rispondere alle variazioni della domanda. Utilizzando l'analisi del carico di lavoro, configura il dimensionamento pianificato utilizzando AWS Auto Scaling.

  • Configura il dimensionamento automatico: Per configurare il dimensionamento in base ai parametri del carico di lavoro attivi, utilizza Amazon Auto Scaling. Utilizza l'analisi e configura l'auto scaling per attivare i livelli di risorse corretti e assicurati che il carico di lavoro si ridimensioni nel tempo richiesto.

Risorse

Documenti correlati: