Azure customers manage budgets at a workload level and need granular controls on monitoring the spend on cloud services. Workloads sometimes share a subscription and yet need to be budgeted for individually. As a first step in making these granular controls available we are previewing an ARM API to set and manage a budget at the subscription scope. Current EA customers have a similar capability in the EA portal, at the department level. This release is the first step towards making the same set of capabilities work for you across the hierarchy of your management plane.

The budgets API enables you to setup a budget for a subscription, and also setup multiple notification thresholds. To illustrate, you might have a subscription where you setup a budget of $1,000 and setup notifications at 25%, 50%, 75%, and 100%. These notifications would be triggered when your usage costs exceed $250, $500, $750, and $1,000 respectively.

Subscription budget API

The API documentation provides detailed guidance on the operations supported and the payloads. The API supports multiple budgets to be created for a subscription over the duration of the budget. At the end of the duration the budget resets and starts over. For this release we are supporting monthly, quarterly, and annual budgets. If you have other requirements that are not met by these options, let us know via the comments. Currently you can have up to 5 notifications per budget and are not limited on the number of budgets you can create.

Calling the API

The budgets API is documented in the Azure rest docs and supports the following REST operations:

Operations supported

List all budgets for a subscription

Get a budget

Create or update a Budget

Delete a budget

Constraints

In the preview release you will need to have contributor privileges to operate on budgets. Also in this release, budgets will only account for native Azure services and will not include Marketplace charges.

Looking forward

Budgets at the subscription is only the first step in a number of releases planned to improve the cost management experience. In addition to a portal experience we are also working on creating more granular budget and management experience that includes resource groups tags services and a host of other options. Stay tuned and please share your feedback on cost related challenges or ideas.