Compartilhar 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 diretrizes sobre como otimizar custos, melhorar a eficiência e obter insights 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 VMs (máquinas virtuais), AKS (Serviço de Kubernetes do Azure) e Azure Functions.


Serviço de Kubernetes do Azure

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

Consulta – cluster do AKS

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

Categoria

Gerenciamento 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 você a otimizar custos, melhorar a eficiência e obter insights sobre suas VMs.

Consulta - Listar máquinas virtuais interrompidas (e não desalocadas)

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

Categoria

Reduçã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 de máquinas virtuais

Essa consulta analisa os Conjuntos de Dimensionamento de Máquinas Virtuais em seu ambiente do Azure com base em seu 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

Gerenciamento 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 do tipo de processador da máquina virtual

Essa consulta identifica o tipo de processador (ARM, AMD ou Intel) usado pelas 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

Gerenciamento 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

Procurando mais?

Perdemos alguma coisa? Você gostaria de ver algo adicionado? Adoraríamos ouvir sobre quaisquer perguntas, problemas ou soluções que você gostaria de ver abordados aqui. Crie um novo problema com os detalhes que você gostaria de ver incluídos aqui.


Recursos relacionados:

Produtos relacionados:

Soluções relacionadas: