Skip to content

Azure VM + Azure ML support #8

@maksimov

Description

@maksimov

Add Microsoft Azure as a GPU provider. Looking for contributors with Azure experience — I don't have access to Azure so can't test this myself.

What to implement

A new internal/providers/azure/ package following the same pattern as internal/providers/aws/:

Discovery

  • Azure GPU VMs — NC-series (T4), ND-series (A100, H100), NV-series (A10)
  • Azure ML endpoints — managed GPU inference endpoints

Metrics

  • Azure Monitor — CPU utilization, GPU utilization (via NVIDIA GPU monitoring extension or Azure Monitor GPU metrics), network I/O

Pricing

  • Add Azure GPU VM specs to internal/pricing/ (on-demand + Spot prices)

How the codebase works

The existing analysis rules in internal/analysis/rules.go are provider-agnostic — they operate on models.GPUInstance. Once an Azure provider populates the same struct, all 9 rules work automatically.

Key files to reference:

  • internal/providers/aws/ec2.go — EC2 discovery pattern to follow
  • internal/providers/aws/cloudwatch.go — metrics enrichment pattern
  • internal/models/models.goGPUInstance struct and Source type (add SourceAzureVM, SourceAzureML)
  • cmd/gpuaudit/main.go — CLI wiring (add --skip-azure flag, call provider)

Azure SDK

Use github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute and github.com/Azure/azure-sdk-for-go/sdk/monitor. Auth should use azidentity.NewDefaultAzureCredential() (respects az login, env vars, managed identity).

Happy to review PRs and help with architecture decisions — just need someone who can test against real Azure GPU VMs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is neededproviderCloud provider supportv0.3Version 0.3 milestone

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions