Raccomandazioni per l'impostazione di protezioni di spesa
Si applica a questa raccomandazione per l'ottimizzazione dei costi di Azure Well-Architected Framework:
CO:04 | Impostare protezioni di spesa. Le protezioni devono includere attività di controllo per le versioni, criteri di governance, limiti delle risorse e controlli di accesso. Classificare in ordine di priorità l'automazione della piattaforma rispetto ai processi manuali. |
---|
Questa guida descrive le raccomandazioni per l'impostazione di protezioni di spesa. Le misure di protezione della spesa sono misure per controllare e gestire i costi all'interno di un budget specificato. Consentono di evitare spese impreviste o eccessive e promuovere un utilizzo conveniente delle risorse. Senza le protezioni di spesa, i costi del carico di lavoro potrebbero superare il budget, causando spese non pianificate che possono mettere a dura prova 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 | Un set di criteri, processi e controlli che consentono di garantire che il carico di lavoro venga gestito in modo efficace, sicuro e conforme ai requisiti aziendali e normativi. |
Infrastruttura come codice (IaC) | Modello descrittivo per la definizione e la distribuzione dell'infrastruttura, tra cui reti, macchine virtuali, servizi di bilanciamento del carico e topologie di connessione. |
Gate di rilascio | Condizione o checkpoint in una pipeline di versione che deve essere soddisfatta prima che la distribuzione possa procedere. Un controllo di rilascio consente di garantire che vengano soddisfatti criteri specifici prima del rilascio del software. |
Strategie di progettazione chiave
Impostare le protezioni 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, controlli di rilascio, soglie di budget e avvisi. L'automazione riduce il rischio di errore umano, migliora l'efficienza e aiuta l'applicazione coerente delle protezioni di spesa. Classificare in ordine di priorità l'automazione della piattaforma rispetto ai processi manuali. Gli strumenti e i servizi di automazione offerti dalla piattaforma possono semplificare il provisioning, la configurazione e la gestione delle risorse.
Usare i criteri di governance
I criteri di governance possono fungere da guardrail di spesa per 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 criteri automatizzati per controllare l'utilizzo delle risorse, applicare la responsabilità ed eliminare la spesa per i 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 provisioning eccessivo. Includere limiti per il numero di risorse di cui è possibile effettuare il provisioning, le dimensioni delle risorse e la durata dell'utilizzo delle risorse nei criteri. Questi limiti consentono di evitare una spesa eccessiva e ottimizzare l'utilizzo delle risorse. Ad esempio, i limiti delle risorse possono ridurre al minimo gli effetti di una violazione di account non autorizzata correlata al crypto mining.
Configurazioni di 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
Località con restrizioni: è possibile usare i criteri per limitare la distribuzione delle risorse a aree o località specifiche. Valutare la possibilità di limitare le posizioni per evitare costi di trasferimento dei dati costosi 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 a cui si accede meno frequentemente che definiscono le regole di scadenza per la conservazione dei dati.
Metadati applicati: stabilire criteri che impongono l'uso di metadati specifici per una migliore tracciabilità e 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. I criteri di metadati coerenti consentono di allineare i costi alle protezioni 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 dei criteri che arrestano automaticamente le istanze durante l'orario in cui non sono in uso.
Rischio: se si implementa la scalabilità automatica, impostare una soglia di ridimensionamento massima in base ai test. Le soglie massime consentono di evitare picchi di scalabilità massicce che causano sovraccarichi dei costi, ma una soglia impostata su un valore troppo basso 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 utilizzare le risorse. I controlli di accesso consentono di 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:
Identificare il controllo necessario. Identificare le risorse e i servizi che necessitano di controlli di accesso.
Definire i criteri di accesso. Definire i criteri di accesso in base al principio dell'accesso con privilegi minimi, concedendo agli utenti solo le autorizzazioni necessarie per eseguire le attività. Ad esempio, alcuni utenti potrebbero avere bisogno solo dell'accesso in lettura, mentre altri potrebbero richiedere anche autorizzazioni di scrittura o eliminazione.
Implementare l'autenticazione. Implementare metodi di autenticazione, ad esempio nome utente/password, autenticazione a più fattori o integrazione con provider di identità, per garantire che solo gli utenti autorizzati possano accedere alle risorse.
Usare il controllo degli accessi in base al ruolo (RBAC). Configurare il controllo degli accessi in base al ruolo per assegnare ruoli e autorizzazioni agli utenti in base alle proprie responsabilità professionali. L'uso del controllo degli accessi in base al ruolo consente di gestire in modo efficace l'accesso alle risorse.
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 regolare i livelli di accesso in base alle esigenze.
Usare i controlli di rilascio
I controlli di rilascio sono checkpoint o condizioni che devono essere soddisfatti prima che una versione o una distribuzione possa procedere. Usare i controlli di rilascio per garantire che la versione sia conveniente e allineata agli obiettivi di ottimizzazione. I controlli di rilascio offrono un approccio strutturato all'identificazione e all'implementazione di misure di risparmio sui costi. Per implementare controlli di rilascio per l'ottimizzazione dei costi del carico di lavoro, seguire questa procedura:
Stabilire i criteri di controllo delle versioni. Stabilire le condizioni o i criteri che devono essere soddisfatti prima del rilascio o della distribuzione delle risorse. Includere fattori quali limiti di spesa, soglie di utilizzo delle risorse o attività cardine del progetto.
Incorporare i controlli di rilascio. Incorporare i controlli di versione nella pipeline di distribuzione. È possibile usare strumenti di automazione o script personalizzati per assicurarsi che le distribuzioni di risorse siano soggette ai criteri definiti.
Monitorare la spesa. Monitorare continuamente la spesa e l'utilizzo delle risorse in base ai criteri definiti. Se l'organizzazione supera le soglie di spesa, i controlli di rilascio devono impedire altre distribuzioni fino a quando il problema non viene risolto.
Configurare gli avvisi relativi ai costi
È importante impostare avvisi per budget, anomalie dei costi e utilizzo del piano basato sull'impegno per ottimizzare i costi. Questi avvisi offrono visibilità sulla spesa cloud e consentono la gestione proattiva dei costi. Prestare attenzione a gestire i destinatari delle notifiche per gli avvisi e mantenere aggiornato l'elenco dei destinatari con le responsabilità e l'accesso correnti. Alcuni avvisi che è possibile creare per ottimizzare i costi includono:
Avvisi del budget: impostare avvisi per i budget per tenere traccia della spesa rispetto alle soglie predefinite. È possibile monitorare i costi e ricevere notifiche quando si avvicina o si supera l'importo preventivato creando un budget mensile, un account di fatturazione o un gruppo di risorse. Gli avvisi relativi al budget consentono di rimanere informati sulla spesa e di intraprendere azioni preventive per controllare i costi.
Avvisi anomalie dei costi: gli avvisi anomalie segnalano 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 gli avvisi relativi alle anomalie dei costi per analizzare la causa sottostante di una variazione dei costi e intraprendere azioni correttive quando necessario.
Avvisi di utilizzo dei piani 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 e ottimizzare efficacemente 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 gestione e 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:
Creare modelli IaC. Creare un linguaggio di modello basato su 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.
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.
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.
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. Creare questi ambienti usando gli strumenti IaC ed eliminare l'ambiente al termine.
Usare gli strumenti IaC. Usare strumenti e framework IaC per automatizzare la distribuzione e la configurazione delle risorse dell'infrastruttura. Usare l'automazione per distribuire le risorse in modo coerente e affidabile in base ai criteri definiti.
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 dalle guardrail definite 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 i diritti delle risorse, identificare ed eliminare le risorse inattive o sottoutilizzate e incoraggiare l'uso di architetture e servizi convenienti.
Azure offre criteri predefiniti per casi d'uso comuni che offrono un modo standardizzato ed efficiente per applicare regole e linee guida nelle risorse di Azure. È consigliabile definire criteri personalizzati per soddisfare i requisiti aziendali univoci o specifiche normative del settore che i criteri predefiniti di Azure non coprono. Per altre informazioni, vedere Definizioni dei criteri predefiniti di Criteri di Azure.
Azure consente di impostare limiti o quote per evitare costi imprevisti. È possibile definire limiti per il numero di risorse di cui è possibile effettuare 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 costo nel dashboard di Advisor .
Aggiungere i metadati delle risorse. Usare la governance di Azure per implementare l'assegnazione di tag e la categorizzazione delle risorse. Contrassegnare le risorse usando i metadati pertinenti per tenere traccia e allocare i costi a reparti, progetti o centri di costo diversi. La visibilità dell'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 propri 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.
Prendere in considerazione l'uso di risorse a basso costo per gli ambienti temporanei o non di produzione per ottimizzare i costi. Azure offre vari piani tariffari per le risorse. I prezzi di Azure DevTest Labs e le 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 progetto che stabiliscono coerenza e procedure consigliate, ottimizzando al contempo la sicurezza. L'accesso su richiesta agli ambienti sicuri accelera le fasi del ciclo di vita dello sviluppo software in modo conforme e conveniente.
L'interfaccia della riga di comando per sviluppatori di Azure è uno strumento open source che accelera il tempo necessario per ottenere l'applicazione da un ambiente di sviluppo locale ad Azure. L'interfaccia della riga di comando per sviluppatori di Azure 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 sui 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 di Cloud Adoption Framework per configurare i guardrail di spesa nell'organizzazione, in modo che i team del carico di lavoro comprendano cosa può offrire il team centrale.
Incoraggiamo l'organizzazione ad adottare protezioni guidate dai criteri. Per un'implementazione di esempio, vedere Adottare protezioni guidate dai criteri.
Collegamenti correlati
- Assegnare l'accesso ai dati di Gestione dei costi
- Strumenti di Gestione costi in Azure
- Creare e gestire i budget
- Individuare anomalie e modifiche impreviste nel costo
- Monitorare l'utilizzo e la spesa con gli avvisi relativi ai costi
Elenco di controllo per l'ottimizzazione dei costi
Fare riferimento al set completo di raccomandazioni.