Pilastro dell'ottimizzazione dei costi di Amazon ElastiCache Well-Architected Lens - Amazon ElastiCache

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Pilastro dell'ottimizzazione dei costi di Amazon ElastiCache Well-Architected Lens

Il pilastro dell'ottimizzazione dei costi si concentra sull'evitare costi inutili. Gli argomenti chiave includono la comprensione e il controllo delle spese, la selezione del tipo di nodo più appropriato (utilizza istanze che supportano la suddivisione dei dati su più livelli in base alle esigenze del carico di lavoro), il numero corretto dei tipi di risorse (repliche lette), l'analisi delle spese nel tempo e il dimensionamento per soddisfare le esigenze aziendali senza costi eccessivi.

COSTI 1: come si identificano e si monitorano i costi associati alle risorse ElastiCache? Come si sviluppano meccanismi per consentire agli utenti di creare, gestire ed eliminare le risorse create?

Introduzione della domanda: la comprensione delle metriche di costo richiede la partecipazione e la collaborazione di più team: ingegneria del software, gestione dei dati, proprietari dei prodotti, finanza e leadership. L'identificazione dei principali fattori di costo richiede che tutte le parti coinvolte comprendano le leve di controllo dell'utilizzo dei servizi e i compromessi di gestione dei costi che spesso è la differenza fondamentale tra le attività di ottimizzazione dei costi efficaci e meno efficaci. Assicurarti di disporre di processi e strumenti per tenere traccia delle risorse create durante lo sviluppo, la produzione e il ritiro e gestire i costi associati a ElastiCache.

Vantaggio della domanda: il monitoraggio continuo di tutti i costi associati al carico di lavoro richiede una conoscenza approfondita dell'architettura che include ElastiCache come componente. Inoltre, è necessario disporre di un piano di gestione dei costi per raccogliere e confrontare l'utilizzo rispetto al budget.

  • [Obbligatorio] Istituisci un Centro di eccellenza del Cloud (CCoE) con una carta costitutiva per definire, tracciare e agire in base alle metriche relative all'utilizzo di ElastiCache da parte delle organizzazioni. Se un CCoE esiste e funziona, assicurati che possa leggere e tenere traccia dei costi associati a ElastiCache. Quando vengono create le risorse, utilizza i ruoli e le policy IAM per verificare che solo i team e i gruppi specifici possano creare istanze delle risorse. In tal modo i costi sono associati ai risultati aziendali e viene stabilita una chiara linea di responsabilità, dal punto di vista dei costi.

    1. Il CCoE deve identificare, definire e pubblicare metriche di costo aggiornate regolarmente, su base mensile, sull'utilizzo chiave di ElastiCache per i dati di categoria come:

      1. Tipi di nodi utilizzati e relativi attributi: istanze standard e ottimizzate per la memoria, istanze on demand e riservate, regioni e zone di disponibilità

      2. Tipi di ambienti: gratuito, sviluppo, test e produzione

      3. Strategie di backup, archiviazione e conservazione

      4. Trasferimento di dati all'interno e tra le regioni

      5. Istanze in esecuzione su Amazon Outposts

    2. Il CCoE è composto da un team interfunzionale con rappresentanze non esclusive dei team di software engineering, gestione dei dati, team di prodotto, finanza e team dirigenziali dell'organizzazione.

    [Risorse]:

  • [Obbligatorio] Utilizza i tag di allocazione dei costi per tenere traccia dei costi con un basso livello di granularità. Usa Gestione costi AWS per visualizzare, comprendere e gestire i costi e l'utilizzo di AWS nel tempo.

    1. Utilizza i tag per organizzare le tue risorse e tenere traccia dei costi di AWS a livello dettagliato. Dopo aver attivato i tag di allocazione dei costi, AWS li utilizza per organizzare i costi delle risorse nel proprio report di allocazione costi, per semplificare la categorizzazione e il monitoraggio dei costi di AWS. AWS offre due tipi di tag di allocazione dei costi, tag generati da AWS e tag definiti dall'utente. AWS definisce, crea e applica i tag generati da AWS per tuo conto, mentre tu definisci, crei e applichi i tag definiti dall'utente. È necessario attivare entrambi i tipi di tag separatamente per poterli visualizzare in Gestione dei costi o in un report di allocazione dei costi.

    2. Per organizzare le fatture AWS al fine di riflettere la struttura dei costi, puoi utilizzare i tag di allocazione dei costi. Quando aggiungi i tag di allocazione dei costi alle tue risorse in Amazon ElastiCache, puoi tenere traccia dei costi raggruppando le spese nelle fatture mediante i valori dei tag della risorsa. Puoi anche combinare i tag per monitorare i costi con un livello di dettagli maggiore.

    [Risorse]:

  • [Best practice] Collega i costi di ElastiCache alle metriche che riguardano l'intera organizzazione.

    1. Prendi in considerazione le metriche aziendali e le metriche operative come la latenza: quali concetti del tuo modello di business sono comprensibili in tutti i ruoli? Le metriche devono essere comprensibili per il maggior numero possibile di ruoli all'interno dell'organizzazione.

    2. Ad esempio, utenti serviti simultaneamente, latenza massima e media per operazione e utente, punteggi di coinvolgimento degli utenti, percentuali di reso degli utenti/settimana, durata della sessione/utente, tasso di abbandono, percentuale di riscontri nella cache e chiavi monitorate

    [Risorse]:

  • [Positivo] Mantieni una visibilità operativa e dell'architettura aggiornata su metriche e costi dell'intero carico di lavoro che utilizza ElastiCache.

    1. Comprendendo l'intero ecosistema di soluzioni, ElastiCache tende a far parte di un ecosistema completo di servizi AWS nel set tecnologico, da client a gateway API, Redshift e QuickSight per gli strumenti di reporting (ad esempio).

    2. Mappa i componenti della soluzione (client, connessioni, sicurezza, operazioni in memoria, archiviazione, automazione delle risorse, accesso e gestione dei dati) nel tuo diagramma di architettura. Ogni livello si collega all'intera soluzione e ha proprie esigenze e funzionalità che aumentano e/o aiutano a gestire il costo complessivo.

    3. Il diagramma deve includere l'uso di calcolo, rete, archiviazione, policy del ciclo di vita, raccolta di metriche e gli elementi operativi e funzionali di ElastiCache dell'applicazione

    4. È probabile che i requisiti del carico di lavoro si evolvano nel tempo ed è essenziale continuare a mantenere e documentare la comprensione dei componenti sottostanti e dei propri obiettivi funzionali primari per rimanere proattivi nella gestione dei costi del carico di lavoro.

    5. Il supporto esecutivo per visibilità, responsabilità, priorità e risorse è fondamentale per disporre di una strategia di gestione dei costi efficace per ElastiCache.

COSTI 2: come si utilizzano gli strumenti di monitoraggio continuo per ottimizzare i costi associati alle risorse di ElastiCache?

Introduzione della domanda: è necessario puntare a un giusto equilibrio tra i costi di ElastiCache e le metriche delle prestazioni delle applicazioni. Amazon CloudWatch offre visibilità sui principali parametri operativi che possono aiutarti a valutare se le risorse di ElastiCache sono sovrautilizzate o meno, rispetto alle tue esigenze. Dal punto di vista dell'ottimizzazione dei costi, è necessario comprendere quando il provisioning è eccessivo ed essere in grado di sviluppare meccanismi appropriati per ridimensionare le risorse di ElastiCache rispettando al contempo le esigenze operative, di disponibilità, resilienza e prestazioni.

Vantaggio della domanda: in un ambiente ideale, hai messo a disposizione risorse sufficienti per soddisfare le esigenze operative del tuo carico di lavoro e non disponi di risorse sottoutilizzate che possono portare costi non ottimali. È necessario essere in grado di identificare ed evitare di utilizzare risorse di ElastiCache sovradimensionate per lunghi periodi di tempo.

  • [Obbligatorio] Usa CloudWatch per monitorare i tuoi cluster ElastiCache e analizzare il modo in cui queste metriche si riferiscono alle dashboard di Esploratore dei costi AWS

    1. ElastiCache fornisce parametri a livello di host (ad esempio, utilizzo della CPU) e parametri che sono specifici del software del motore di cache (ad esempio, cache gets e cache misses). Questi parametri vengono misurati e pubblicati per ogni nodo di cache in intervalli di 60 secondi.

    2. Le metriche delle prestazioni di ElastiCache (CPUUtilization, EngineUtilization, SwapUsage, CurrConnections ed Evictions) possono indicare che è necessario il dimensionamento verticale (utilizza tipi di nodi di cache più grandi/più piccoli) o il dimensionamento orizzontale (aggiungi più/meno partizioni). Comprendi le implicazioni in termini di costi delle decisioni di dimensionamento creando una matrice di playbook che stimi i costi aggiuntivi e i tempi minimi e massimi necessari per raggiungere le soglie di prestazioni delle applicazioni.

    [Risorse]:

  • [Obbligatorio] Comprendi e documenta la tua strategia di backup e le implicazioni in termini di costi.

    1. Con ElastiCache, i backup vengono archiviati in Amazon S3, che fornisce uno spazio di archiviazione durevole. È necessario comprendere le implicazioni in termini di costi in relazione alla capacità di ripristino in caso di guasti.

    2. Abilita i backup automatici che eliminano i file di backup che hanno superato il limite di conservazione.

    [Risorse]:

  • [Best practice] Usa i nodi riservati per le tue istanze come strategia deliberata per gestire i costi dei carichi di lavoro che sono ben appresi e documentati. I nodi riservati vengono addebitati un costo anticipato che dipende dal tipo di nodo e dalla durata della prenotazione, ovvero uno o tre anni. Tale addebito è molto inferiore all'addebito orario di utilizzo previsto in caso di nodi on demand.

    1. Potrebbe essere necessario gestire i cluster ElastiCache utilizzando nodi on demand fino a quando non avrai raccolto dati sufficienti per stimare i requisiti delle istanze riservate. Pianifica e documenta le risorse necessarie per soddisfare le tue esigenze e confronta i costi previsti tra i diversi tipi di istanza (on demand o riservata)

    2. Valuta regolarmente i nuovi tipi di nodi di cache disponibili e se ha senso, dal punto di vista dei costi e delle metriche operative, migrare il parco istanze a nuovi tipi di nodi di cache

COSTI 3: è necessario utilizzare un tipo di istanza che supporti la suddivisione dei dati in più livelli? Quali sono i vantaggi di una suddivisione dei dati in più livelli? Quando non utilizzare le istanze di suddivisione dei dati in più livelli?

Introduzione della domanda: la selezione del tipo di istanza appropriato può avere non solo un impatto sulle prestazioni e sul livello di servizio, ma anche un impatto finanziario. I tipi di istanza hanno costi diversi. La selezione di uno o più tipi di istanze di grandi dimensioni in grado di soddisfare tutte le esigenze di archiviazione in memoria potrebbe essere una decisione naturale. Tuttavia, potrebbe avere un impatto significativo sui costi man mano che il progetto matura. Per garantire la selezione del tipo di istanza corretto è necessario un esame periodico del tempo di inattività degli oggetti ElastiCache.

Vantaggio della domanda: una chiara comprensione dell'impatto dei vari tipi di istanze sui costi attuali e futuri. Le modifiche marginali o periodiche del carico di lavoro non devono causare variazioni sproporzionate dei costi. Se il carico di lavoro lo consente, i tipi di istanze che supportano la suddivisione dei dati in più livelli offrono un prezzo migliore per l'archiviazione disponibile. Grazie allo spazio di archiviazione SSD disponibile per istanza, le istanze con suddivisione dei dati in più livelli supportano una capacità totale di dati per istanza molto più elevata.

  • [Obbligatorio] Comprendi i limiti delle istanze con suddivisione dei dati in più livelli

    1. Disponibile solo per i cluster ElastiCache per Redis.

    2. Solo tipi di istanza limitati supportano la suddivisione dei dati in più livelli.

    3. Solo ElastiCache per Redis versione 6.2 e successive è supportato.

    4. Gli oggetti di grandi dimensioni non vengono sostituiti in SSD. Gli oggetti superiori a 128 MiB vengono conservati in memoria.

    [Risorse]:

  • [Obbligatorio] Scopri la percentuale del database che viene regolarmente utilizzata dal carico di lavoro.

    1. Le istanze con suddivisione dei dati in più livelli sono ideali per i carichi di lavoro che spesso accedono a una piccola parte del set di dati complessivo ma richiedono comunque un accesso rapido ai dati rimanenti. In altre parole, il rapporto tra dati da "ad accesso frequente" ad "a caldo" è di circa 20:80.

    2. Sviluppa il monitoraggio a livello di cluster dei tempi di inattività degli oggetti.

    3. Le grandi implementazioni di oltre 500 GB di dati sono buone candidate

  • [Obbligatorio] Tieni presente che le istanze con suddivisione dei dati in più livelli non sono opzionali per determinati carichi di lavoro.

    1. L'accesso agli oggetti usati meno frequentemente comporta un costo in termini di prestazioni ridotto, poiché questi vengono sostituiti nel SSD locale. Se la tua applicazione è sensibile ai tempi di risposta, verifica l'impatto sul carico di lavoro.

    2. Non adatto per cache che memorizzano principalmente oggetti di grandi dimensioni superiori a 128 MiB.

    [Risorse]:

  • [Best practice] I tipi di istanze riservate supportano la suddivisione dei dati in più livelli. Ciò garantisce il costo più basso in termini di quantità di archiviazione di dati per istanza.

    1. Potrebbe essere necessario gestire i cluster ElastiCache utilizzando istanze con suddivisione dei dati in più livelli non basate sui dati fino a quando non si ha una migliore comprensione dei requisiti.

    2. Analizza il modello di utilizzo dei dati dei cluster ElastiCache.

    3. Crea un processo automatico che raccolga periodicamente i tempi di inattività degli oggetti.

    4. Se noti che un'alta percentuale (circa l'80%) di oggetti è inattiva per un periodo di tempo ritenuto appropriato per il tuo carico di lavoro, documenta i risultati e suggerisci di migrare il cluster su istanze che supportano la suddivisione dei dati in più livelli.

    5. Valuta regolarmente i nuovi tipi di nodi di cache disponibili e se ha senso, dal punto di vista dei costi e delle metriche operative, migrare il parco istanze a nuovi tipi di nodi di cache.

    [Risorse]: