Individuare ed eliminare gli sprechi
Usare Azure Cost Management e le raccomandazioni di Advisor per trovare VM inattive, dischi non collegati, servizi sovradimensionati e risorse abbandonate, quindi dismetterli.
Individuare ed eliminare gli sprechi è una lezione Azure Fundamentals gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Azure Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Azure Fundamentals include 4 lezioni in totale.
Sprechi nel cloud: il fattore di costo nascosto
Gli studi mostrano costantemente che le organizzazioni sprecano il 25–35% della spesa per il cloud in risorse inattive, sovradimensionate o dimenticate. In Azure, tra le cause comuni di spreco figurano le VM in esecuzione 24 ore su 24 con un utilizzo della CPU quasi nullo, i dischi gestiti non collegati rimasti dopo l'eliminazione di una VM, gli indirizzi IP pubblici orfani e i piani App Service inutilizzati. Individuare ed eliminare questi sprechi è il primo intervento e quello con il ROI più elevato in qualsiasi pratica FinOps.
Raccomandazioni sui costi di Azure Advisor
Azure Advisor analizza continuamente l'utilizzo delle risorse e genera automaticamente raccomandazioni sui costi. Tra le raccomandazioni comuni figurano: ridimensionare correttamente o arrestare le VM sottoutilizzate (con utilizzo inferiore al 5% della CPU o al 2% della memoria per 7 giorni), acquistare Reserved Instances per le VM in esecuzione costante, eliminare gli indirizzi IP pubblici non collegati e rimuovere le istanze inattive di Application Gateway. Ogni raccomandazione mostra il risparmio mensile stimato, così può stabilire le priorità in base all'impatto.
# List Advisor cost recommendations via CLI
az advisor recommendation list \
--category Cost \
--query '[].{Resource:resourceName, Impact:impact, Savings:extendedProperties.annualSavingsAmount}' \
--output tableIndividuazione delle VM inattive e sottoutilizzate
Azure Monitor raccoglie le metriche relative alla percentuale di CPU e al traffico di rete in entrata e in uscita per ogni VM. Una VM che mantiene un utilizzo della CPU inferiore al 5% è una candidata ideale per il ridimensionamento o l'arresto. Utilizzi la funzionalità Virtual Machine Insights di Azure Monitor per visualizzare l'utilizzo della CPU e della memoria dell'intero parco in un intervallo di 24 ore, 7 giorni o 30 giorni. La raccomandazione di Advisor relativa alle VM sottoutilizzate rimanda direttamente ai grafici delle prestazioni, così può confermare il comportamento prima di intervenire.
# Query average CPU for a VM over the last 7 days
az monitor metrics list \
--resource /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM \
--metric 'Percentage CPU' \
--interval PT1H \
--start-time 2024-06-01T00:00:00Z \
--end-time 2024-06-08T00:00:00Z \
--aggregation AverageDischi e snapshot non collegati
Quando una VM viene eliminata senza scegliere di eliminare i relativi dischi, i dischi gestiti rimangono e continuano a generare costi. Nel portale Azure, filtri i dischi per Stato del disco: Non collegato per individuare questi dischi orfani. Analogamente, i vecchi snapshot creati per il backup o la migrazione vengono spesso dimenticati. L'archiviazione degli snapshot è più economica di quella dei dischi gestiti, ma un anno di snapshot dimenticati in una sottoscrizione di grandi dimensioni può arrivare a costare migliaia di dollari all'anno.
# Find all unattached managed disks in a subscription
az disk list \
--query '[?diskState == `Unattached`].{Name:name, RG:resourceGroup, SizeGB:diskSizeGb}' \
--output tableIndirizzi IP pubblici e NIC orfani
Gli indirizzi IP pubblici in Azure vengono fatturati anche quando non sono associati a una risorsa in esecuzione. Quando vengono eliminate VM o bilanciatori del carico, i relativi IP pubblici e le interfacce di rete potrebbero rimanere. Nel portale, filtri gli indirizzi IP pubblici per Associato a: Nessuno ed elimini quelli non più necessari. Analogamente, le interfacce di rete orfane non collegate ad alcuna VM o servizio possono essere rimosse senza rischi. Si tratta di piccoli costi individuali, che però si sommano quando le risorse sono centinaia.
# Find unassociated public IP addresses
az network public-ip list \
--query '[?ipConfiguration == null].{Name:name, RG:resourceGroup, SKU:sku.name}' \
--output tableRisorse zombie: ambienti di staging e sviluppo
Le risorse zombie sono ambienti di staging, test o proof-of-concept di lunga durata, di cui è stato eseguito il provisioning e che sono poi stati dimenticati. A differenza delle VM di produzione inattive, queste risorse possono avere un utilizzo moderato durante l'orario lavorativo, ma non essere associate ad alcun progetto attivo. Implementi un criterio di applicazione dei tag alle risorse che richieda i tag Environment e Project per ogni risorsa, quindi pianifichi avvisi automatici per le risorse con Environment=Dev o Environment=Test che abbiano più di 90 giorni.
# Find resources tagged as Dev that are over 90 days old (approximate via createdTime)
az resource list \
--tag Environment=Dev \
--query '[].{Name:name, Type:type, RG:resourceGroup}' \
--output tableArresto automatico per le VM di sviluppo e test
Le VM di Azure supportano la funzionalità Auto-Shutdown, che arresta automaticamente una VM all'orario configurato ogni giorno. La abiliti in tutte le VM di sviluppo e test per evitare che rimangano in esecuzione durante la notte o nei fine settimana. Ad esempio, una VM di sviluppo in esecuzione 24 ore su 24 costa quanto 24 ore al giorno, mentre una configurata per l'arresto automatico alle 18:00 e l'avvio automatico alle 8:00 solo nei giorni feriali utilizza 50 ore alla settimana invece di 168, con un risparmio di circa il 70% sui costi di calcolo.
# Enable auto-shutdown at 18:00 UTC on a dev VM
az vm auto-shutdown \
--resource-group myRG \
--name myDevVM \
--time 1800 \
--email admin@contoso.comAzure Cost Management: rilevamento delle anomalie
Azure Cost Management include una funzionalità di rilevamento delle anomalie che utilizza il machine learning per identificare picchi di spesa imprevisti. Quando il costo di una sottoscrizione o di un gruppo di risorse si discosta significativamente dai modelli previsti, ad esempio perché qualcuno distribuisce accidentalmente una VM GPU o dimentica di eliminare un gateway ExpressRoute, Cost Management invia un avviso di anomalia tramite posta elettronica. Configurare gli avvisi di anomalia è un intervento rapido ed efficace per individuare i costi fuori controllo prima che compaiano nella fattura mensile.
# Create a cost anomaly alert
az costmanagement alert create \
--name 'AnomalyAlert' \
--scope '/subscriptions/<subscriptionId>' \
--type 'Anomaly' \
--contact-emails 'finance@contoso.com'Ridimensionamento appropriato dei livelli di archiviazione e database
Non tutti gli sprechi riguardano le risorse di calcolo. I database Azure SQL con provisioning nel livello Business Critical, ma che eseguono semplici query con molte letture, potrebbero offrire prestazioni identiche nel livello General Purpose a metà del costo. I dati di Blob Storage a cui si accede raramente dovrebbero essere spostati dal livello Hot al livello Cool o Archive usando criteri di gestione del ciclo di vita. Azure Advisor mostra le raccomandazioni per il ridimensionamento appropriato di database e archiviazione insieme a quelle relative alle risorse di calcolo.
# Create a Blob lifecycle policy to move data to Cool tier after 30 days
az storage account management-policy create \
--account-name mystorageacct \
--resource-group myRG \
--policy @- << 'POLICY'
{
'rules': [{
'name': 'MoveOldDataToCool',
'type': 'Lifecycle',
'definition': {
'actions': { 'baseBlob': { 'tierToCool': { 'daysAfterModificationGreaterThan': 30 } } },
'filters': { 'blobTypes': ['blockBlob'] }
}
}]
}
POLICYCreazione di un backlog per l'eliminazione degli sprechi
Consideri l'ottimizzazione dei costi una pratica ingegneristica continua, non un'attività una tantum. Crei un backlog FinOps in Azure DevOps o Jira con elementi generati settimanalmente dalle raccomandazioni di Advisor e dagli avvisi di anomalia dei costi. Assegni ogni elemento relativo a uno spreco al team responsabile e stabilisca una data obiettivo per la risoluzione. Tenga traccia dei risparmi realizzati rispetto a quelli individuati per misurare la maturità FinOps. Pianifichi una revisione mensile dei costi con i responsabili tecnici e il reparto finanziario per mantenere alta l'attenzione sull'eliminazione degli sprechi in tutta l'organizzazione.
Governance per prevenire gli sprechi futuri
Prevenire è più conveniente che correggere. Utilizzi Azure Policy per negare la creazione di SKU di VM costose (come quelle GPU o della serie M) senza approvazione, richiedere i tag Environment e ExpiryDate in tutte le risorse e abilitare automaticamente l'arresto automatico nelle VM appena create nelle sottoscrizioni di sviluppo. Combini i criteri con avvisi sul budget impostati all'80% e al 100% dell'allocazione mensile, così i team vengono avvisati prima che si verifichino spese eccessive.
Verifica rapida
Verifichi la propria comprensione dei concetti di Microsoft Azure Fundamentals (AZ-900) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha imparato che Azure Advisor presenta raccomandazioni sui costi concrete per VM inattive, dischi non collegati e servizi sovradimensionati, che l'arresto automatico delle VM di sviluppo può ridurre del 70% la spesa di calcolo e che le policy di governance con tag impediscono l'accumulo di nuovi sprechi. Prossimamente esamineremo le tecniche di ridimensionamento appropriato e le strategie di autoscaling.
Domande Frequenti
La lezione «Individuare ed eliminare gli sprechi» è gratuita?
Sì — il testo completo di «Individuare ed eliminare gli sprechi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Azure Fundamentals, passa a CoddyKit PRO. Il corso Azure Fundamentals include 4 lezioni in totale.
Cosa imparerò in «Individuare ed eliminare gli sprechi»?
Usare Azure Cost Management e le raccomandazioni di Advisor per trovare VM inattive, dischi non collegati, servizi sovradimensionati e risorse abbandonate, quindi dismetterli. Eserciti Azure Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Azure Fundamentals?
Non è richiesta alcuna esperienza precedente. Azure Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Individuare ed eliminare gli sprechi»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Azure Fundamentals?
Sì. Ogni lezione Azure Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Individuare ed eliminare gli sprechi
- Dimensionamento corretto e autoscaling
- Azure Savings Plans e prenotazioni
- Modelli FinOps e di chargeback