Share via


Raccomandazioni per l'impostazione di guardrail di spesa

Si applica a questa raccomandazione per l'ottimizzazione dei costi di Azure Well-Architected Framework:

CO:04 Impostare guardrail di spesa. I guardrail devono includere cancelli di rilascio, criteri di governance, limiti delle risorse e controlli di accesso. Priorità dell'automazione della piattaforma sui processi manuali.

Questa guida descrive i consigli per impostare le guardrail di spesa. I guardrail di spesa sono misure per controllare e gestire i costi all'interno di un budget specificato. Consentono di evitare spese impreviste o eccessive e promuovere l'utilizzo conveniente delle risorse. Senza guardrail di spesa, i costi del carico di lavoro potrebbero superare il budget, causando spese non pianificate che possono filtrare le risorse finanziarie.

Definizioni

Termine Definizione
Criteri di governance Set di regole che applicano la conformità e abilitano il controllo delle risorse del carico di lavoro.
Governance Set di criteri, processi e controlli che consentono di garantire che il carico di lavoro sia gestito in modo efficace, sicuro e conforme ai requisiti organizzativi e normativi.
Infrastruttura come codice (IaC) Modello descrittivo per la definizione e la distribuzione dell'infrastruttura, tra cui reti, macchine virtuali, bilanciamenti del carico e topologie di connessione.
Cancello di rilascio Condizione o checkpoint in una pipeline di versione che deve essere soddisfatta prima che la distribuzione possa procedere. Un gate di rilascio consente di assicurarsi che vengano soddisfatti criteri specifici prima che il software venga rilasciato.

Strategie di progettazione chiave

Impostare i guardrail di spesa implementando misure per controllare e gestire i costi all'interno di un budget specificato. Queste misure includono criteri di governance, controlli di accesso, porte di rilascio, soglie di budget e avvisi. L'automazione riduce il rischio di errore umano, migliora l'efficienza e aiuta l'applicazione coerente dei guardrail di spesa. Priorità dell'automazione della piattaforma sui processi manuali. Gli strumenti e i servizi di automazione offerti dalla piattaforma possono semplificare il provisioning delle risorse, la configurazione e la gestione.

Usare i criteri di governance

I criteri di governance possono fungere da guardrail di spesa su vari aspetti delle risorse, ad esempio tipi di risorse, configurazioni, tag, posizione e gestione dei dati. Molte piattaforme cloud hanno un servizio che automatizza l'applicazione dei criteri di governance. Usare i criteri automatizzati per controllare l'utilizzo delle risorse, applicare la responsabilità e eliminare la spesa sui tipi di risorse con restrizioni. Ecco alcuni dei criteri che è consigliabile applicare:

  • Tipi di risorse con restrizioni: i criteri possono specificare quali tipi di risorse sono consentiti o non consentiti all'interno di un'organizzazione. Ad esempio, un'organizzazione potrebbe avere criteri che limitano l'uso di determinati tipi di risorse costosi per controllare i costi.

  • Limiti delle risorse: impostare i limiti delle risorse per controllare i costi e impedire il overprovisioning. Includere limiti sul numero di risorse che è possibile effettuare il provisioning, le dimensioni delle risorse e la durata dell'utilizzo delle risorse nei criteri. Questi limiti consentono di evitare un utilizzo eccessivo delle risorse e ottimizzare l'utilizzo delle risorse. Ad esempio, i limiti delle risorse possono ridurre al minimo gli effetti di una violazione dell'account non autorizzata correlata al crypto mining.

  • Configurazioni delle risorse definite: i criteri possono definire configurazioni specifiche per le risorse. È possibile applicare le impostazioni alle risorse che promuovono l'ottimizzazione dei costi, ad esempio la scalabilità automatica e l'archiviazione dei dati

  • Posizioni limitate: è possibile usare i criteri per limitare la distribuzione delle risorse a aree o posizioni specifiche. È consigliabile limitare le posizioni per evitare costi di trasferimento dei dati e mantenere la conformità alle normative sulla sovranità dei dati.

  • Dati gestiti: usare i criteri per applicare le procedure di gestione dei dati che consentono di ottimizzare i costi. Ad esempio, è possibile implementare criteri che richiedono l'uso di livelli di archiviazione a costi inferiori per i dati o i criteri con accesso meno frequente che definiscono le regole di scadenza per la conservazione dei dati.

  • Metadati applicati: stabilire criteri che impongono l'uso di metadati specifici per migliorare il rilevamento e l'allocazione dei costi. È anche possibile usare i metadati nell'automazione o nella revisione manuale. Ad esempio, usare i metadati per automatizzare i backup delle risorse usando un tag di backup. Un criterio di metadati coerente consente di allineare i costi con i guardrail di spesa.

  • Risorse inattive limitate: usare i criteri per identificare le risorse inattive in modo da poterle eliminare o riutilizzarle. Prendere in considerazione l'impostazione di criteri che arrestano automaticamente le istanze durante le ore in cui non sono in uso.

Rischio icona rischio: se si implementa il ridimensionamento automatico, impostare una soglia di scalabilità massima in base ai test. Le soglie massime consentono di evitare picchi di ridimensionamento elevati che causano overrun, ma una soglia impostata troppo bassa potrebbe influire negativamente sulle prestazioni. Per altre informazioni, vedere Raccomandazioni per l'ottimizzazione dei costi di ridimensionamento.

Configurare i controlli di accesso

Configurare i controlli di accesso per impostare restrizioni che impediscono l'overspending e per garantire che solo gli utenti autorizzati possano usare le risorse. I controlli di accesso possono aiutare a ridurre il rischio di modifiche accidentali o non necessarie che influiscono negativamente sull'ottimizzazione dei costi. Per implementare i controlli di accesso per l'ottimizzazione dei costi, seguire questa procedura:

  1. Identificare il controllo necessario. Identificare le risorse e i servizi necessari per i controlli di accesso.

  2. Definire i criteri di accesso. Definire i criteri di accesso in base al principio di accesso con privilegi minimi, concedendo agli utenti solo le autorizzazioni necessarie per eseguire le attività. Ad esempio, alcuni utenti potrebbero avere bisogno solo di accesso in lettura, mentre altri potrebbero richiedere anche autorizzazioni di scrittura o eliminazione.

  3. Implementare l'autenticazione. Implementare metodi di autenticazione, ad esempio nome utente/password, autenticazione a più fattori o integrazione con i provider di identità, per garantire che solo gli utenti autorizzati possano accedere alle risorse.

  4. Usare il controllo degli accessi in base al ruolo. Configurare il controllo degli accessi in base al ruolo per assegnare ruoli e autorizzazioni agli utenti in base alle responsabilità del proprio lavoro. L'uso del controllo degli accessi in base al ruolo consente di gestire in modo efficace l'accesso alle risorse.

  5. Esaminare e aggiornare i controlli. Esaminare e aggiornare regolarmente i controlli di accesso per assicurarsi che siano allineati alle esigenze mutevoli dell'organizzazione. Rimuovere le autorizzazioni di accesso non necessarie e modificare i livelli di accesso in base alle esigenze.

Usare i cancelli di rilascio

I gate di rilascio sono checkpoint o condizioni che devono essere soddisfatti prima che una versione o una distribuzione possano procedere. Usare i cancelli di rilascio per garantire che la versione sia conveniente e allineata agli obiettivi di ottimizzazione. I cancelli di rilascio offrono un approccio strutturato all'identificazione e all'implementazione delle misure di risparmio dei costi. Per implementare i cancelli di rilascio per l'ottimizzazione dei costi del carico di lavoro, seguire questa procedura:

  1. Stabilire i criteri di rilascio. Stabilire le condizioni o i criteri che devono essere soddisfatti prima che le risorse vengano rilasciate o distribuite. Includere fattori quali limiti di spesa, soglie di utilizzo delle risorse o attività cardine del progetto.

  2. Incorporare i cancelli di rilascio. Incorporare i cancelli di rilascio nella pipeline di distribuzione. È possibile usare gli strumenti di automazione o gli script personalizzati per assicurarsi che le distribuzioni delle risorse siano soggette ai criteri definiti.

  3. Monitorare la spesa. Monitorare continuamente l'utilizzo delle risorse e della spesa rispetto ai criteri definiti. Se l'organizzazione supera le soglie di spesa, i cancelli di rilascio devono impedire ulteriori distribuzioni fino a quando il problema non viene risolto.

Configurare gli avvisi dei costi

È importante impostare avvisi per budget, anomalie dei costi e utilizzo del piano basato sull'impegno per ottimizzare i costi. Questi avvisi forniscono visibilità sulla spesa cloud e consentono la gestione proattiva dei costi. Prestare attenzione alla gestione dei destinatari delle notifiche per gli avvisi e mantenere aggiornato l'elenco dei destinatari con responsabilità e accesso correnti. Alcuni avvisi che è possibile creare per ottimizzare i costi includono:

  • Avvisi di budget: impostare avvisi sui budget per tenere traccia della spesa rispetto alle soglie predefinite. È possibile monitorare i costi e ricevere notifiche quando si avvicina o supera l'importo preventivato creando un budget mensile, un account di fatturazione o un gruppo di risorse. Gli avvisi di budget consentono di rimanere informati sulla spesa e di intraprendere azioni preventive per controllare i costi.

  • Avvisi anomalie dei costi: gli avvisi anomalie segnalano le variazioni di costo impreviste che potrebbero indicare inefficienze o modelli di spesa anomali. È possibile configurare questi avvisi per identificare le anomalie nei costi effettivi o previsti. Usare avvisi anomalie dei costi per analizzare la causa sottostante di una variazione dei costi e intraprendere azioni correttive quando necessario.

  • Avvisi di utilizzo del piano basati sull'impegno: implementare avvisi di utilizzo del piano basati sull'impegno per monitorare l'utilizzo del piano. Se si dispone di piani basati sull'impegno, l'impostazione degli avvisi sull'utilizzo del piano consente di gestire in modo efficace e ottimizzare il valore di questi impegni. È possibile configurare questi avvisi per notificare agli stakeholder se l'utilizzo delle risorse basate sull'impegno scende al di sotto di una soglia desiderata. Ottimizzare le risorse basate sull'impegno e assicurarsi di usare i vantaggi degli impegni.

Usare IaC

L'infrastruttura come codice è la pratica di gestire e effettuare il provisioning delle risorse dell'infrastruttura usando il codice, in genere sotto forma di file di configurazione. Implementare questa strategia per definire e automatizzare la distribuzione e la configurazione delle risorse dell'infrastruttura, ad esempio macchine virtuali, reti e archiviazione, usando modelli basati su codice.

Le strategie IaC offrono un approccio strutturato e ripetibile per la gestione e il controllo delle risorse dell'infrastruttura. IaC consente di distribuire le risorse in base alle esigenze, eliminare le risorse senza eseguirle continuamente e ottimizzare i costi assicurandosi di distribuire e configurare le risorse in base alle regole predefinite. Seguire questa procedura per usare IaC per l'ottimizzazione dei costi:

  1. Create modelli IaC. Create un linguaggio modello basato sul codice per definire le risorse dell'infrastruttura e le relative configurazioni. Questi modelli consentono di specificare lo stato desiderato delle risorse dell'infrastruttura in modo dichiarativo. Implementare le procedure consigliate per l'ottimizzazione dei costi nel codice dell'infrastruttura. Valutare il ridimensionamento corretto delle risorse usando istanze riservate o piani di risparmio. Usare opzioni di archiviazione convenienti e applicare i metadati delle risorse per l'allocazione e il rilevamento dei costi.

  2. Archiviare i modelli. Archiviare i modelli IaC in un sistema di controllo della versione per tenere traccia delle modifiche e gestire versioni diverse. È possibile usare il controllo della versione per mantenere una cronologia delle configurazioni dell'infrastruttura e promuovere la collaborazione tra i membri del team.

  3. Usare i parametri. Usare i parametri nei modelli per renderli riutilizzabili e configurabili. Usando i parametri, è possibile personalizzare facilmente le distribuzioni dell'infrastruttura per diversi ambienti o scenari.

  4. Usare ambienti temporanei. Usare ambienti temporanei per scopi di sviluppo, test e gestione temporanea per ottimizzare i costi. Gli ambienti temporanei devono essere eseguiti solo quando necessario. Create questi ambienti usando gli strumenti IaC ed eliminare l'ambiente al termine.

  5. Usare gli strumenti IaC. Usare gli strumenti e i framework IaC per automatizzare la distribuzione e la configurazione delle risorse dell'infrastruttura. Usare l'automazione per distribuire in modo coerente e affidabile le risorse in base ai criteri definiti.

  6. Monitorare le risorse distribuite. Monitorare regolarmente le risorse e i relativi costi per garantire la conformità ai criteri di spesa. Usare gli strumenti di monitoraggio e avviso per identificare eventuali deviazioni dai guardrail definiti e intraprendere azioni correttive in base alle esigenze. Verificare la presenza di risorse inutilizzate ed eliminarle, preferibilmente con l'automazione.

Facilitazione di Azure

Uso dei criteri di governance: usare Criteri di Azure per definire e applicare criteri di governance allineati agli obiettivi di ottimizzazione dei costi. È possibile usare Criteri di Azure per impostare regole su gruppi di gestione, sottoscrizioni e gruppi di risorse. Questi criteri possono regolare il provisioning delle risorse, i limiti di utilizzo e l'allocazione dei costi. Usare i criteri per promuovere la dirittizzazione delle risorse, identificare ed eliminare le risorse inattive o sottoutilizzate e incoraggiare l'uso di architetture e servizi convenienti.

Azure consente di impostare limiti o quote per evitare costi imprevisti. È possibile definire limiti per il numero di risorse di cui è possibile eseguire il provisioning, oltre alle dimensioni e alla durata dell'utilizzo delle risorse. Impostare questi limiti per evitare il provisioning eccessivo e controllare i costi.

  • Identificare le risorse sottoutilizzate o inattive. Usare Azure Advisor per ottimizzare e ridurre i costi complessivi di Azure identificando le risorse inattive e sottoutilizzate. Ricevere raccomandazioni sui costi dalla sezione costi nel dashboard di Advisor .

  • Aggiungere i metadati delle risorse. Usare la governance di Azure per implementare l'assegnazione di tag alle risorse e la categorizzazione. Contrassegnare le risorse usando metadati pertinenti per tenere traccia e allocare i costi a reparti, progetti o centri di costo diversi. La visibilità sull'attribuzione dei costi consente di identificare le aree di spesa elevata, ottimizzare l'allocazione delle risorse e facilitare una migliore gestione dei costi.

Configurazione dei controlli di accesso: usare il controllo degli accessi in base al ruolo di Azure per gestire l'accesso alle risorse. È possibile usare il controllo degli accessi in base al ruolo per concedere autorizzazioni a utenti, gruppi o applicazioni in base ai ruoli. Implementare il controllo degli accessi in base al ruolo per garantire che solo gli utenti autorizzati abbiano accesso alle risorse, riducendo il rischio di utilizzo di risorse non autorizzate e potenziali implicazioni sui costi.

Uso dei controlli di rilascio: usare la gestione delle versioni di Azure Pipelines per definire e applicare i controlli di rilascio. È possibile configurare checkpoint manuali o automatizzati per assicurarsi di soddisfare criteri specifici, ad esempio controlli di sicurezza, requisiti di conformità e soglie dei costi.

Uso dell'infrastruttura come codice. È possibile usare strumenti e servizi di Azure per distribuire e gestire le risorse dell'infrastruttura usando il codice. Usando strumenti come i modelli di Azure Resource Manager (ARM), Azure Bicep e Azure DevOps, è possibile definire e distribuire le risorse dell'infrastruttura in modo dichiarativo. Azure include modelli Bicep, Azure Resource Manager e Terraform per ogni risorsa di Azure.

Usare Azure Pipelines o altri strumenti di integrazione continua e recapito continuo (CI/CD) per automatizzare i processi di compilazione, test e distribuzione. Teams può usare le pipeline per definire una serie di passaggi e azioni che vengono eseguite automaticamente ogni volta che vengono apportate modifiche alla codebase. Automatizzare questi processi per ridurre il lavoro manuale, garantire la coerenza e accelerare la distribuzione del software.

È consigliabile usare risorse a basso costo per gli ambienti temporanei o non di produzione per ottimizzare i costi. Azure offre vari piani tariffari per le risorse. Azure DevTest Labs prezzi e prenotazioni di Azure sono metodi di risparmio sui costi che è possibile esplorare per gli ambienti temporanei.

I repository Git, ad esempio Azure Repos e GitHub, offrono funzionalità di controllo della versione per la gestione delle configurazioni di codice e infrastruttura. Teams e sviluppatori possono usare repository automatizzati per collaborare, tenere traccia delle modifiche e mantenere una cronologia della codebase.

Gli ambienti di distribuzione di Azure consentono ai team di sviluppo di creare rapidamente e facilmente l'infrastruttura delle app usando modelli basati su progetti che stabiliscono coerenza e procedure consigliate ottimizzando la sicurezza. L'accesso on demand agli ambienti sicuri accelera le fasi del ciclo di vita dello sviluppo software in modo conforme ed efficiente.

Il Azure Developer CLI è uno strumento open source che accelera il tempo necessario per ottenere l'applicazione da un ambiente di sviluppo locale ad Azure. Il Azure Developer CLI offre comandi descrittivi per gli sviluppatori che eseguono il mapping alle fasi principali del flusso di lavoro, indipendentemente dal fatto che si stia lavorando nel terminale, in un ambiente di sviluppo integrato (IDE) o CI/CD.

Configurazione degli avvisi relativi ai costi: usare Gestione costi Microsoft per ottimizzare i costi e applicare protezioni di spesa. È possibile usare le funzionalità di gestione dei costi per impostare budget e avvisi, visualizzare le informazioni sui costi usando strumenti come Power BI e analizzare i modelli di costo e i colli di bottiglia delle prestazioni.

Allineamento dell'organizzazione

I team centrali devono usare le linee guida Cloud Adoption Framework per configurare protezioni di spesa in tutta l'organizzazione, in modo che i team del carico di lavoro comprendano cosa può offrire il team centrale.

Invitiamo l'organizzazione ad adottare protezioni basate su criteri. Per un'implementazione di esempio, vedere Adottare protezioni basate su criteri.

Elenco di controllo per l'ottimizzazione dei costi

Fare riferimento al set completo di raccomandazioni.