Partilhar via


Práticas recomendadas de FinOps para computação

Este artigo descreve uma coleção de práticas comprovadas de FinOps para serviços de computação. Ele fornece orientação sobre como otimizar custos, melhorar a eficiência e obter informações sobre seus recursos de computação no Azure. As práticas são categorizadas com base no tipo de serviço de computação, como máquinas virtuais (VM), Serviço Kubernetes do Azure (AKS) e Azure Functions.


Azure Kubernetes Service

A seção a seguir fornece uma consulta do Azure Resource Graph (ARG) para clusters AKS. A consulta ajuda você a obter informações sobre suas VMs.

Consulta - cluster AKS

Esta consulta ARG recupera informações detalhadas sobre clusters AKS em seu ambiente do Azure.

Categoria

Gestão de recursos

Consulta

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

Máquinas virtuais

As seções a seguir fornecem consultas ARG para VMs. Essas consultas ajudam a otimizar custos, melhorar a eficiência e obter informações sobre suas VMs.

Consulta - Listar máquinas virtuais paradas (e não deslocalizadas)

Esta consulta ARG identifica VMs que não têm o deallocated estado or running . Ele recupera detalhes sobre seu estado de energia, local, grupo de recursos e ID de assinatura.

Categoria

Prevenção de resíduos

Consulta

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

Consulta - Detalhes do conjunto de dimensionamento da máquina virtual

Esta consulta analisa os Conjuntos de Escala de Máquina Virtual em seu ambiente do Azure com base em sua SKU, prioridade de VM spot e política de combinação de prioridades. Ele fornece insights para otimização de custos e estratégias de gerenciamento de recursos.

Categoria

Gestão de recursos

Consulta

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

Consulta - Análise de tipo de processador de máquina virtual

Esta consulta identifica o tipo de processador (ARM, AMD ou Intel) usado por VMs em seu ambiente do Azure. Ele ajuda a entender a distribuição de VMs em diferentes arquiteturas de processador, o que é útil para otimizar o desempenho da carga de trabalho e a eficiência de custos.

Categoria

Gestão de recursos

Consulta

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

Procura mais?

Perdemos alguma coisa? Gostaria de ver algo acrescentado? Adoraríamos saber mais sobre quaisquer perguntas, problemas ou soluções que você gostaria de ver abordadas aqui. Crie um novo problema com os detalhes que você gostaria de ver incluídos aqui.


Recursos relacionados:

Produtos relacionados:

Soluções relacionadas: