specification: FinOps Framework specificationVersion: '1.0' schema: https://www.finops.org/framework/ alignedWith: framework: FinOps Foundation Framework frameworkUrl: https://www.finops.org/framework/ dataSpec: FOCUS dataSpecVersion: '1.3' dataSpecUrl: https://focus.finops.org/focus-specification/v1-3/ provider: Azure Pipelines providerId: microsoft-azure-pipelines publisherName: Microsoft Corporation serviceCategory: Developer Tools / CI-CD created: '2026-05-04' # Provenance stamped 2026-08-11: this artifact was written by the API Evangelist # bulk sweep dated 2026-05-04, not harvested from the provider. See roadmap#35. method: generated modified: '2026-05-05' reconciled: true tags: - Automation - Build - CI/CD - Deployment - DevOps - Pipelines - FinOps - FOCUS description: FOCUS-aligned FinOps for Azure Pipelines — billed per parallel job (concurrency) per month rather than per build minute. Two SKUs (Microsoft-hosted at $40/job/month and self-hosted at $15/job/month) plus free grants. Optimization centers on right-sizing parallel-job count to actual queue depth, since over-provisioning concurrency is the primary waste mode. sources: - https://azure.microsoft.com/pricing/details/devops/azure-devops-services/ - https://learn.microsoft.com/en-us/azure/devops/pipelines/licensing/concurrent-jobs - https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/pool-consumption-report billingModel: pricingCategory: Subscription (per Parallel Job) billingFrequency: Monthly billingCurrency: USD (settlement varies) chargeCategories: - Usage - Purchase - Tax - Adjustment - Credit chargeFrequency: Recurring focusColumns: ServiceName: Azure Pipelines ServiceCategory: Developer Tools ProviderName: Microsoft Azure DevOps PublisherName: Microsoft Corporation InvoiceIssuerName: Microsoft Corporation PricingCategory: Subscription PricingUnit: parallel-job-month BillingCurrency: USD ChargeCategory: Usage meters: - name: hosted_parallel_jobs description: Microsoft-hosted parallel job concurrency purchased. unit: parallel-job-month aggregation: max dimensions: - organization - billing_subscription - name: selfhosted_parallel_jobs description: Self-hosted parallel job concurrency purchased. unit: parallel-job-month aggregation: max dimensions: - organization - name: hosted_minutes_consumed description: Microsoft-hosted agent minutes used (informational; not billed under parallel-job plan, but exposed via Pool consumption report). unit: minute aggregation: sum dimensions: - pipeline - agent_image - project - name: queue_depth description: Average queued-job time per pool, used to size parallelism. unit: minute aggregation: avg dimensions: - pool - hour_of_day - name: legacy_minutes description: Per-minute usage for grandfathered customers ($0.05 / $0.01 tiers). unit: minute aggregation: sum dimensions: - tier_band principles: - name: Visibility description: Pool consumption report (Org Settings > Agent pools > Analytics) graphs concurrent-running vs queued jobs over 30 days. Pull the same data via the Pipelines REST API into BI. Cost Management surfaces parallel-job line items in FOCUS-aligned exports. - name: Allocation description: Tag pipelines with cost-center via pipeline variables and aggregate via REST API. Multi-org billing under one Azure subscription centralizes parallel-job spend across consuming teams. - name: Optimization description: Right-size parallel jobs to peak queue depth (rule of thumb 1 job per 4–5 devs). Move long-running jobs to self-hosted ($15 vs $40). Use caching (artifact, package, Docker layer) to shorten build duration. Disable scheduled pipelines on idle branches. Take advantage of free public-project grant for OSS. - name: Accountability description: Project Collection Administrators own parallel-job procurement. Set Cost Management budgets at the Azure subscription with alerts at 80/100% of monthly target. Quarterly review of utilization vs purchased capacity. maintainers: - FN: Kin Lane email: kin@apievangelist.com url: https://azure.microsoft.com/services/devops/pipelines/