Condividi tramite


Procedure consigliate di FinOps per il calcolo

Questo articolo descrive una raccolta di procedure FinOps comprovate per i servizi di calcolo. Fornisce indicazioni sull'ottimizzazione dei costi, sul miglioramento dell'efficienza e sull'acquisizione di informazioni dettagliate sulle risorse di calcolo in Azure. Le procedure vengono classificate in base al tipo di servizio di calcolo, ad esempio macchine virtuali (VM), servizio Azure Kubernetes (servizio Azure Kubernetes) e Funzioni di Azure.


Servizio Azure Kubernetes

La sezione seguente fornisce una query di Azure Resource Graph (ARG) per i cluster del servizio Azure Kubernetes. La query consente di ottenere informazioni dettagliate sulle macchine virtuali.

Query - Cluster del servizio Azure Kubernetes

Questa query ARG recupera informazioni dettagliate sui cluster del servizio Azure Kubernetes nell'ambiente Azure.

Categoria

Gestione delle risorse

Query

resources
| where type == "microsoft.containerservice/managedclusters"
| extend AgentPoolProfiles = properties.agentPoolProfiles
| mvexpand AgentPoolProfiles
| project
    id,
    ProfileName = tostring(AgentPoolProfiles.name),
    Sku = tostring(sku.name),
    Tier = tostring(sku.tier),
    mode = AgentPoolProfiles.mode,
    AutoScaleEnabled = AgentPoolProfiles.enableAutoScaling,
    SpotVM = AgentPoolProfiles.scaleSetPriority,
    VMSize = tostring(AgentPoolProfiles.vmSize),
    nodeCount = tostring(AgentPoolProfiles.['count']),
    minCount = tostring(AgentPoolProfiles.minCount),
    maxCount = tostring(AgentPoolProfiles.maxCount),
    location,
    resourceGroup,
    subscriptionId,
    AKSname = name

Macchine virtuali

Le sezioni seguenti forniscono query ARG per le macchine virtuali. Queste query consentono di ottimizzare i costi, migliorare l'efficienza e ottenere informazioni dettagliate sulle macchine virtuali.

Query - Elencare le macchine virtuali arrestate (e non deallocate)

Questa query ARG identifica le macchine virtuali che non hanno lo deallocated stato o running . Recupera i dettagli sullo stato di alimentazione, la posizione, il gruppo di risorse e l'ID sottoscrizione.

Categoria

Riduzione dei rifiuti

Query

resources
| where type =~ 'microsoft.compute/virtualmachines' 
    and tostring(properties.extended.instanceView.powerState.displayStatus) != 'VM deallocated' 
    and tostring(properties.extended.instanceView.powerState.displayStatus) != 'VM running'
| extend PowerState = tostring(properties.extended.instanceView.powerState.displayStatus)
| extend VMLocation = location
| extend resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| order by id asc
| project id, PowerState, VMLocation, resourceGroup, subscriptionId

Query - Dettagli del set di scalabilità di macchine virtuali

Questa query analizza set di scalabilità di macchine virtuali nell'ambiente Di Azure in base allo SKU, alla priorità della macchina virtuale spot e ai criteri di combinazione di priorità. Fornisce informazioni dettagliate per l'ottimizzazione dei costi e le strategie di gestione delle risorse.

Categoria

Gestione delle risorse

Query

resources
| where type =~ 'microsoft.compute/virtualmachinescalesets'
| extend SpotVMs = tostring(properties.virtualMachineProfile.priority)
| extend SpotPriorityMix = tostring(properties.priorityMixPolicy)
| extend SKU = tostring(sku.name)
| extend resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| project id, SKU, SpotVMs, SpotPriorityMix, subscriptionId, resourceGroup, location

Query - Analisi dei tipi di processore di macchine virtuali

Questa query identifica il tipo di processore (ARM, AMD o Intel) usato dalle macchine virtuali nell'ambiente Azure. Consente di comprendere la distribuzione delle macchine virtuali in diverse architetture del processore, utile per ottimizzare le prestazioni del carico di lavoro e l'efficienza dei costi.

Categoria

Gestione delle risorse

Query

resources
| where type == 'microsoft.compute/virtualmachines'
| extend vmSize = properties.hardwareProfile.vmSize
| extend processorType = case(
    // ARM Processors
    vmSize has "Epsv5"
        or vmSize has "Epdsv5"
        or vmSize has "Dpsv5"
        or vmSize has "Dpdsv", "ARM",
    // AMD Processors
    vmSize has "Standard_D2a"
        or vmSize has "Standard_D4a"
        or vmSize has "Standard_D8a"
        or vmSize has "Standard_D16a"
        or vmSize has "Standard_D32a"
        or vmSize has "Standard_D48a"
        or vmSize has "Standard_D64a"
        or vmSize has "Standard_D96a"
        or vmSize has "Standard_D2as"
        or vmSize has "Standard_D4as"
        or vmSize has "Standard_D8as"
        or vmSize has "Standard_D16as"
        or vmSize has "Standard_D32as"
        or vmSize has "Standard_D48as"
        or vmSize has "Standard_D64as"
        or vmSize has "Standard_D96as", "AMD",
    "Intel"
)
| project vmName = name, processorType, vmSize, resourceGroup

Stai cercando di più?

Ci mancava qualcosa? Vuoi vedere qualcosa aggiunto? Ci piacerebbe ascoltare eventuali domande, problemi o soluzioni che vorresti vedere qui. Creare un nuovo problema con i dettagli che si desidera visualizzare qui.


Risorse correlate:

Prodotti correlati:

Soluzioni correlate: