JH Cloud Delivery Reporting - Usage Records and Cost Center Info Service

Register
Submit a solution
The challenge is finished.

Challenge Overview

CHALLENGE OVERVIEW

John Hancock uses Azure a lot. They need better tools for predicting hosting costs across different business units. Currently a team called GIS makes a list of resource usage every 60 days and maps each resource to the cost center. 60 days is way too long to go not knowing your usage. The purpose of this project is to make this much easier for them.

In this challenge, we would like to build an app service that can be run on a schedule. This application should call the ARM API and Azure Billing API. It should store the usage records of each resource along with the Cost Center Information.

Here are the detailed requirements:
1. 
The service must be deployable as an Azure App Service, so your submission must follow the requirements of Azure platform to make it work.
2. 
The service should be able to run on a schedule, for example: execute the logic on a daily basis. And this frequency should be configurable.
3. 
The service will go through all the resources and store the usage records of each resource along with the cost center information.
4. 
The service will go through all the resource groups in the Azure account
4.1. 
If a resource group has no tags, it should be stored in an "exception report".
4.2. 
If a resource group has cost center tags, and the resources in that group do NOT have tags, it should add the same cost center tag as the parent resource group to these resources.
5. 
The tool should generate reasonable logs.
6. The tool should handle errors gracefully (i.e. it should not crash or terminate itself in case of errors), errors should be properly logged too
7. 
The tool doesn’t have a GUI
8. 
You need to provide a detailed guide on how to setup test data and configure / run / verify the submission.

TECHNOLOGIES

Azure Resource Manager API
Azure Billing API
Azure SQL Database
C# / Node.js

 


Final Submission Guidelines

Full code that covers all the requirements
A deployment guide describing how to configure and test the code, including verification details.

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30057879