“Utility billing”, “only pay for what you use” are often cited as cost saving benefits of cloud computing. All that is fine and dandy; but it is still the consumer’s responsibility to turn off any unneeded features to realize this benefit. In fact, as most of you already know, turning virtual machines off in Windows Azure is not enough. Unless you delete them, you will continue to be charged!
One way to make sure you don’t leave stuff running unnecessarily is to periodically check your bill to make sure it is not out of line. Unfortunately, this means logging on to the billing portal, and navigating to the page that displays the current balance on a regular basis. Now…we all know how likely that is.
Products designed to help with this challenge are beginning to be appear on the market, and in many cases appear promising. However, these solutions tend to be “enterprisey” meaning they are targeted at enterprises that are running large cloud based applications. What we were looking for was a simple tool that allowed us to keep an eye on the outstanding Windows Azure balance for a single user.
Enter Azure Ticker App.
This app is perhaps the simplest Windows 8 app you can find in the store. The UI consists of a simple settings page and a live tile that displays your current Azure balance. So once you have registered with your Windows Azure credentials, you don’t even have the need to have the app running to receive balance updates!
The Azure Ticker App submits your Windows Azure administrator credentials along with a channel URL for receiving notifications from the Azure Ticker Cloud Service. The Azure Ticker service is in turn responsible for periodically checking the account balance of the first listed associated subscription and sending out notifications when needed. While the overall design is what you would expect, there is one complication that is worth noting. Currently, Windows Azure does not expose a billing API. So how does our service access the Azure account balance? Well...you guessed it right, we web scrape it from the Azure Billing Portal.
We have talked about the UI and the design. But you are probably wondering about the security and pondering over questions such as: Why should I entrust you with my Azure credentials? Who will have access to my credentials? Is the service storing my credentials in an encrypted format?
We thought you might be concerned about these. So…here are some answers that hopefully alleviate your concerns:
Should I be worried about transmitting my credentials over the internet?
No more so than when you normally log in to the Azure Portal! The Azure Ticker Cloud Service accepts only encrypted data sent via SSL / https. Data flowing from the Azure Ticker client app to the service is fully encrypted using certificates issued by a certificate authority trusted by Internet Explorer out of the box.
Why should we give you access to our Windows Azure Management Portal. What if you delete our Azure hosted apps?
We will never access your Azure account through the portal using the credentials you provide outside of normal Azure Ticker service operations. The service is fully automated, and does not implement any process that involves alteration of account information of any kind. No human intervention is needed.
Where will you store my credentials?
In Azure table storage. All data is encrypted and only accessible by the automated Azure Ticker Service. We will never share any user data with any third party.
How long will you keep the credentials in memory?
We will store your credentials until you opt out of receiving notifications. If you decide to opt out, you will no longer receive updates until you re-register. Additionally, if we determine that a channel URL is no longer valid, we will remove the credential from storage. We also welcome you to review the entire code on GitHub.
Who will have access to my account information?
Looking up the billing information is fully automated, and no human will access your Azure Portal Account information in order obtain the latest billing information.