Today I’m excited to announce that we’ve released the Azure Usage and Billing Portal as an open source project on GitHub. The Azure Usage and Billing Portal is a solution which enables you to review the usage and resulting billing information across multiple subscriptions. Currently, if you are an Azure consumer using multiple subscriptions, you’re options for viewing all of the usage over any given time period aren’t that great. The Azure Portal enables you to view usage and billing for individual subscriptions one at a time (both a breakdown of current charges, cost by service, and cost by resource) but if you’re using multiple subscriptions, trying to review all of the information there is inefficient. Furthermore, you are able to download a CSV file of Azure consumption for each subscription, but that is a manual process and would require processing afterwards.
Last year, Microsoft announced new APIs to provide a way to programmatically pull information on usage and rate cards for your subscriptions. Included in that announcement were a number of samples demonstrating how you can pull information for your own subscriptions. When this announcment came out, we had already been seeing requests from customers we were working with for a way to visualize and track their spend. This spurred my team into action to build something which would make consuming and seeing this data easier.
Once deployed, you can now register any subscriptions you want so that the daily usage will be polled and displayed in an easy to use Power BI dashboard. This dashboard enables you to slice data in many ways including by subscription, by resource type, by resource name, by geo, by date, and more. Furthermore, you can use the SQL Database that stores the usage and billing to build any sort of interface / alerting on top of the data you want.
Mustafa Kasap, the lead engineer on this project, wrote up a great blog post describing the project a bit more including some helpful images.
We’ve got a lot of plans for future feature additions and already a few issues to fix. We welcome any contributions or feedback on the project either on the blog posts or as issues on the GitHub site.