Cost is a vital aspect of developing on and for Azure. Nowadays, a team has direct influence on the operational costs of different environments. They not only have control over the Development and the Testing phases, but also the Staging and the Production stages. With the right insights into the environment costs, a team can make an architectural decision based on environment billing information.
For example, within Azure you can put the entire code in an Azure Virtual Machine (VM), which is easy (lazy) and pretty expensive, because you have them ‘On’ all the time; especially, when you have Azure VMs for all stages.
In the graph below, before November 22, a team has everything on VMs, which are always ‘On’; whereas, after November 22, with some more awareness, the costs went down by almost 70%.
In another example, we see that by moving the functionality from VMs to Azure Cloud Services, the price decreases a bit (and finally lowers the operational costs too). However, moving Data from an Azure SQL Server to Table Storages is a more beneficial move. Also, moving a Worker Role to Azure Schedule Jobs or Web Jobs really pays off.
In the figure below, the Azure billing costs of a project critically dictates the architectural decisions based on costs. For the team, it is a challenge to constantly lower the daily costs.
With the daily updated Azure costs insight, they can review bad decisions (spikes in the graph) and good decisions (the big drops) immediately.
Also, the slight increase in daily costs, over time, is something to pay attention to. Although, the teams add new functionality constantly, the costs stay almost the same on a daily base. Teams can become much more cost-aware with Azure, if they receive daily updates on costs insight. Read more here