Partager via


Meilleures pratiques finOps pour le calcul

Cet article décrit une collection de pratiques FinOps éprouvées pour les services de calcul. Il fournit des conseils sur l’optimisation des coûts, l’amélioration de l’efficacité et l’obtention d’insights sur vos ressources de calcul dans Azure. Les pratiques sont classées en fonction du type de service de calcul, comme les machines virtuelles (VM), Azure Kubernetes Service (AKS) et Azure Functions.


Azure Kubernetes Service

La section suivante fournit une requête Azure Resource Graph (ARG) pour les clusters AKS. La requête vous aide à obtenir des insights sur vos machines virtuelles.

Requête - Cluster AKS

Cette requête ARG récupère des informations détaillées sur les clusters AKS dans votre environnement Azure.

Catégorie

Gestion des ressources

Requête

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

Machines virtuelles

Les sections suivantes fournissent des requêtes ARG pour les machines virtuelles. Ces requêtes vous aident à optimiser les coûts, à améliorer l’efficacité et à obtenir des insights sur vos machines virtuelles.

Requête - Répertorier les machines virtuelles arrêtées (et non libérées)

Cette requête ARG identifie les machines virtuelles qui n’ont pas l’état ou running l’étatdeallocated. Il récupère des détails sur leur état d’alimentation, leur emplacement, leur groupe de ressources et leur ID d’abonnement.

Catégorie

Réduction des déchets

Requête

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

Requête - Détails du groupe de machines virtuelles identiques

Cette requête analyse les groupes de machines virtuelles identiques dans votre environnement Azure en fonction de leur référence SKU, de leur priorité de machine virtuelle spot et de leur stratégie de combinaison de priorités. Il fournit des insights sur l’optimisation des coûts et les stratégies de gestion des ressources.

Catégorie

Gestion des ressources

Requête

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

Requête - Analyse du type de processeur de machine virtuelle

Cette requête identifie le type de processeur (ARM, AMD ou Intel) utilisé par les machines virtuelles dans votre environnement Azure. Il permet de comprendre la distribution des machines virtuelles entre différentes architectures de processeur, ce qui est utile pour optimiser les performances de la charge de travail et l’efficacité des coûts.

Catégorie

Gestion des ressources

Requête

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

Vous cherchez plus ?

Avons-nous manqué quoi que ce soit ? Voulez-vous voir quelque chose ajouté ? Nous aimerions en savoir plus sur toutes les questions, problèmes ou solutions que vous souhaitez voir ici. Créez un problème avec les détails que vous souhaitez voir ici.


Ressources connexes :

Produits connexes :

Solutions connexes :