I have a customer who is in the midst of deploying Azure Storage as a source for BLOBs to be downloaded by their customers for a large enterprise integration project. One of the dilemma’s their IT operations teams are facing is how to setup Azure so that it fits within their Solution Development Lifecycle (SDLC) processes and try to understand how to segregate the costs for the service. This needs to be segregated by Department and Application.
As is standard in their SDLC, they have 4 environments to deal with: DEV, SIT, UAT and PROD. Costs for the DEV, SIT and UAT environments are covered by the IT department but the ongoing operational Production costs will be charged back by the IT department.
Key things for the setup is that they need to find out the costs of the Azure Resource they are deploying broken down by Department and/or Application.
Hence they are looking at the following options in their Azure setup:
- Separate Azure subscriptions by Application/Department and Separate Resource Groups for each environment.
- Keep one Azure subscription and separate Resource Groups by Department and use the Azure tagging functionality to tag the environment and the application.
Option 1 model allows it’s own dedicated payment model for the subscription and segregates the whole Azure Portal view for the Application or Department while still allowing them to see the Costs by Resource Groups for each environment
We are still working with Microsoft to figure out the best strategy that first for this customer but I think we are leaning towards option 2. This model seems a little better as it allows the flexibility of keeping one subscription and querying by the aspects that they need (i.e. environment or application).
The great thing with option 2 is that we even have options to enforce policies to enforce they tag each resource appropriately using Azure Resource Policies capabilities and using Azure Billing API’s (via an Azure interface, custom coding or a 3rd party vendor product), we should be able to query the costs on a per tag basis.