Ottimizzazione dei costi

Il pilastro Ottimizzazione dei costi include capacità di eseguire sistemi per fornire valore aziendale al minor prezzo possibile

Il principio dell'ottimizzazione dei costi offre una panoramica dei principi di progettazione, delle best practice e delle domande. Puoi trovare una guida prescrittiva sull'implementazione nel whitepaper sul Principio dell'ottimizzazione dei costi.

Principi di progettazione

Esistono five principi di progettazione per ottimizzazione dei costi nel cloud:

Definizione

Esistono five aree di best practice per ottimizzazione dei costi nel cloud:

Come per gli altri principi di base all'interno del Canone di architettura, occorre considerare alcuni compromessi; ad esempio, è meglio ottimizzare la velocità di commercializzazione o i costi? In alcuni casi, è meglio ottimizzare la velocità: entrare nel mercato rapidamente, distribuire nuove caratteristiche o semplicemente rispettare una scadenza piuttosto che investire nell'ottimizzazione anticipata dei costi. Talvolta le decisioni di progettazione sono guidate dalla rapidità invece che dai dati, ed esiste sempre la tentazione di sovrascrivere piuttosto che dedicare tempo all'esecuzione di benchmark per la distribuzione più conveniente. Questo potrebbe portare a distribuzioni sovra-assegnate e sotto-ottimizzate. Tuttavia, si tratta di una scelta ragionevole quando devi trasferire le risorse dal tuo ambiente locale al cloud ed eseguire l'ottimizzazione di conseguenza. Investire in anticipo la giusta quantità di energia in una strategia di ottimizzazione dei costi consente di realizzare i vantaggi economici del cloud in modo più rapido, assicurando il rispetto costante delle best practice ed evitando un provisioning superfluo. Le sezioni seguenti forniscono tecniche e best practice per l'implementazione iniziale e continua della gestione finanziaria del cloud e l'ottimizzazione dei costi dei carichi di lavoro.

Best practice

Esercizio della gestione finanziaria del cloud

Con l'adozione del cloud, i team tecnologici innovano più rapidamente grazie a cicli di approvazione, approvvigionamento e distribuzione dell'infrastruttura più brevi. Per ottenere valore aggiunto e migliorare gli affari è necessario un nuovo approccio alla gestione finanziaria nel cloud. Questo approccio è la gestione finanziaria del cloud e crea capacità in tutta l'organizzazione implementando competenze, programmi, risorse e processi a livello organizzativo.

Molte organizzazioni sono composte da tante unità con priorità diverse. La capacità di allineare un'organizzazione a un insieme concordato di obiettivi finanziari e di fornire all'organizzazione i meccanismi per raggiungerli permette di creare un'organizzazione più efficiente. Un'organizzazione capace innova e crea più rapidamente, è più agile e si adatta a qualsiasi fattore interno o esterno.

In AWS puoi utilizzare Cost Explorer e, facoltativamente, Amazon Athena e Amazon QuickSight, con il report costi e utilizzo (CUR) per fornire consapevolezza su costi e utilizzo in tutta l'organizzazione. Budget AWS fornisce notifiche proattive relative a costi e utilizzo. I blog AWS forniscono informazioni su nuovi servizi e caratteristiche per consentirti di essere sempre aggiornato sulle nuove versioni dei servizi.

Le seguenti domande si concentrano su queste considerazioni relative a ottimizzazione dei costi.

COST 1: Come implementi la gestione finanziaria nel cloud?

Quando crei una funzione di ottimizzazione dei costi, puoi utilizzare i membri e integrare il team con esperti di gestione finanziaria del cloud e ottimizzazione dei costi. I membri già presenti nel team conoscono il funzionamento dell'organizzazione e sono in grado di implementare rapidamente i miglioramenti. Valuta anche la possibilità di includere persone con competenze aggiuntive o specialistiche, ad esempio di analisi e gestione dei progetti.

Quando implementi la consapevolezza dei costi nella tua organizzazione, prova a migliorare o sviluppare i programmi e i processi esistenti. È molto più veloce sviluppare i processi e programmi esistenti, piuttosto che crearne di nuovi. In questo modo puoi ottenere risultati molto più rapidamente.

Consapevolezza delle spese e dell'utilizzo

La maggiore flessibilità e agilità consentite dal cloud incoraggiano l'innovazione, lo sviluppo e la distribuzione rapidi. Elimina i processi manuali e il tempo associati al provisioning dell'infrastruttura locale, tra cui l'identificazione delle specifiche hardware, la negoziazione delle quotazioni dei prezzi, la gestione degli ordini di acquisto, la pianificazione delle spedizioni e la distribuzione delle risorse. Tuttavia, la facilità d'uso e la capacità on demand virtualmente illimitata richiedono un nuovo tipo di mentalità in merito alle spese.

Molte aziende sono caratterizzate da più sistemi gestiti da vari team. La capacità di attribuire i costi delle risorse ai singoli proprietari dell'organizzazione o del prodotto incoraggia un comportamento di utilizzo efficiente e contribuisce a ridurre gli sprechi. L'attribuzione precisa dei costi consente di capire quali prodotti sono effettivamente redditizi e permette anche di prendere decisioni più consapevoli in merito alle destinazioni del budget.

Con AWS puoi creare una struttura di account con AWS Organizations o AWS Control Tower per garantire la separazione e semplificare l'allocazione dii costi e utilizzo. Puoi anche utilizzare il tagging delle risorse per associare informazioni aziendali e organizzative a utilizzo e costi. Utilizza AWS Cost Explorer per osservare costi e utilizzo, oppure crea analisi e pannelli di controllo personalizzati con Amazon Athena e Amazon QuickSight. Puoi verificare costi e utilizzo con le notifiche di Budget AWS e controllarli usando AWS Identity and Access Management (IAM) e quote di servizio.

Le seguenti domande si concentrano su queste considerazioni relative a ottimizzazione dei costi.

COST 2: In che modo gestisci l'utilizzo?
COST 3: In che modo monitori l'utilizzo e il costo?
COST 4: In che modo disattivi le risorse?

Puoi usare i tag di allocazione dei costi per categorizzare e monitorare il tuo utilizzo di AWS e i costi. Quando applichi dei tag alle tue risorse AWS (come le istanze EC2 o i bucket S3), AWS genera un report su costi e utilizzo con i tuoi tag e i dati sul tuo utilizzo. Puoi applicare tag che rappresentano le categorie di un'organizzazione (come i centri di costo, i nomi dei carichi di lavoro o i proprietari) per organizzare i tuoi costi tra i vari servizi.

Assicurati di utilizzare il giusto livello di dettaglio e granularità quando crei report e monitori costi e utilizzo. Per un approfondimento di alto livello di informazioni e tendenze, utilizza la granularità giornaliera di AWS Cost Explorer. Per analisi e ispezioni più specifiche, utilizza la granularità oraria di AWS Cost Explorer o Amazon Athena e Amazon QuickSight con il report costi e utilizzo a granularità oraria.

Associando le risorse taggate al monitoraggio del ciclo di vita dell'entità (dipendenti, progetti), puoi individuare le risorse accantonate o i progetti che non generano più valore per l'organizzazione e devono quindi essere dismessi. Puoi impostare avvisi di fatturazione per ricevere notifiche relative a spese eccessive previste.

Risorse convenienti

Utilizzare risorse e istanze adeguate al tuo carico di lavoro è fondamentale per ridurre i costi. Ad esempio, un processo di reporting potrebbe impiegare cinque ore su un server più piccolo, ma un'ora su un server più grande che costa il doppio. Entrambi i server ti offrono lo stesso risultato, ma quello più piccolo comporta un costo più elevato nel tempo.

Un carico di lavoro basato sul Canone di architettura AWS si basa sulle risorse più convenienti, il che può avere un impatto economico positivo e notevole. Hai anche la possibilità di usare i servizi gestiti per ridurre i costi. Ad esempio, invece di mantenere dei server per recapitare le e-mail, puoi usare un servizio che ti invia gli addebiti in base ai messaggi inviati.

AWS offre un'ampia gamma di offerte flessibili e convenienti per acquisire istanze da EC2 e altri servizi per soddisfare al meglio le tue necessità. Le istanze on demand ti consentono di pagare la capacità di elaborazione a ore e non richiedono impegni minimi. Savings Plans e le istanze riservate offrono risparmi fino al 75% rispetto ai prezzi on demand. Con le istanze Spot, puoi sfruttare la capacità inutilizzata di Amazon EC2 e risparmiare fino al 90% sui prezzi on demand. Le istanze Spot risultano adeguate quando il sistema può tollerare l'utilizzo di un parco server in cui i singoli server possano andare e venire dinamicamente, come server web stateless, elaborazioni batch o quando si usano HPC e Big Data.

Anche la scelta del servizio appropriato può ridurre l'utilizzo e i costi; ad esempio, CloudFront può ridurre al minimo il trasferimento dei dati o eliminare del tutto i costi, mentre l'utilizzo di Amazon Aurora su RDS può rimuovere gli elevati costi di licenza dei database.

Le seguenti domande si concentrano su queste considerazioni relative a ottimizzazione dei costi.

COST 5: In che modo valuti i costi quando selezioni i servizi?
COST 6: In che modo raggiungi gli obiettivi di costo quando selezioni il tipo, le dimensioni e il numero delle risorse?
COST 7: In che modo impieghi i modelli di prezzo per ridurre i costi?
COST 8: In che modo pianifichi i costi per il trasferimento dei dati?

Scomponendo i costi durante la selezione del servizio e usando strumenti come Cost Explorer e AWS Trusted Advisor per esaminare con regolarità l'uso di AWS, puoi attivamente monitorare il tuo utilizzo e modificare le distribuzioni di conseguenza.

Gestione delle risorse di domanda e offerta

Quando passi al cloud, paghi solo ciò che ti occorre. Puoi fornire risorse in base alla domanda del carico di lavoro nel momento in cui sono necessarie, eliminando così la necessità di un provisioning superfluo costoso e dispendioso. Puoi anche gestire la domanda utilizzando tecniche come throttling, buffering o queuing per allentare la domanda e soddisfarla con meno risorse. In questo modo diminuirai i costi o li posticiperai con un servizio batch.

In AWS puoi predisporre automaticamente le risorse da associare alla domanda di carico di lavoro. Auto Scaling con strategie basate su domanda o tempo ti consente di aggiungere e rimuovere le risorse in base alle esigenze. Se riesci a prevedere le variazioni nella domanda, puoi risparmiare di più e assicurarti che le risorse corrispondano alle esigenze del tuo carico di lavoro. Puoi usare Amazon API Gateway per implementare il throttling o Amazon SQS per implementare una coda nel tuo carico di lavoro. Entrambi consentono di modificare la richiesta nei componenti del carico di lavoro.

Le seguenti domande si concentrano su queste considerazioni relative a ottimizzazione dei costi.

COST 9: Come gestisci la domanda e fornisci le risorse?

Quando progetti di modificare le risorse di domanda e offerta, pensa attentamente ai modelli di utilizzo, al tempo necessario per effettuare il provisioning delle nuove risorse e alla prevedibilità del modello di domanda. Quando gestisci la domanda, assicurati di disporre di una coda o di un buffer di dimensioni corrette e di rispondere alla domanda del carico di lavoro nel periodo di tempo richiesto.

Ottimizzazione nel tempo

Poiché AWS rilascia nuovi servizi e caratteristiche, è consigliabile rivedere le decisioni correnti sull'architettura per garantire che continuino a essere le più convenienti. Man mano che le tue esigenze cambiano, disattiva tempestivamente risorse, interi servizi e sistemi non appena smettono di essere necessari.

L'implementazione di nuove caratteristiche o tipi di risorse può ottimizzare il carico di lavoro in modo incrementale e con uno sforzo minimo. In questo modo puoi migliorare continuamente l'efficienza nel tempo e essere sicuro di utilizzare le tecnologie più aggiornate per ridurre i costi operativi. Puoi anche sostituire o aggiungere nuovi componenti al carico di lavoro con nuovi servizi. In questo modo puoi aumentare in modo significativo l'efficienza, perciò è essenziale rivedere regolarmente il carico di lavoro e implementare nuovi servizi e caratteristiche.

Le seguenti domande si concentrano su queste considerazioni relative a ottimizzazione dei costi.

COST 10: In che modo valuti i nuovi servizi?

Quando esamini regolarmente le tue distribuzioni, valuta in che modo i servizi più recenti possono aiutarti a risparmiare. Ad esempio, Amazon Aurora su RDS può ridurre i costi dei database relazionali. L'utilizzo di serverless come Lambda consente di eliminare la necessità di utilizzare e gestire le istanze per eseguire il codice.

Risorse

Consulta le seguenti risorse per ulteriori informazioni sulle best practice relative a Ottimizzazione dei costi.

Cost Optimization Pillar
AWS Well-Architected Cost Optimization Labs
Well-Architected Tool
AWS Cost Management Blog
AWS Billing and Cost Management
AWS Tagging Strategies
Getting Started with Amazon EC2 Spot Instances
AWS Documentation