Loading Now

How to Use Azure Developer Credits Across Your Team

📝 TL;DR: One-Minute Brief

  • Many organisations and partners receive Azure credits through programs like Visual Studio subscriptions and the Microsoft Partner Network.
  • Developers accidentally spend all of their credits when they really need them
  • DevOps teams cannot keep on top of credit usage across the team
  • Credits are often wasted

Introduction

Many organisations obtain Azure credits from sources such as:

  • Visual Studio subscriptions (like MSDN), which can provide developers with up to $150 per month
  • Microsoft Partner Network (MPN) credits

These credits are used for activities including:

  • Personal skill development
  • Running internal projects
  • Providing demonstrations
  • Prototyping solutions

Although these programmes help organisations access Azure credits, it is often difficult to evaluate how efficiently those credits are being used.

Kovai.co is an ISV specialising in building solutions that leverage Microsoft technologies, and as a Microsoft Solutions Partner for Infrastructure, Data & AI and Digital & App Innovation, we also access several MPN solution benefits that provide Azure credits.

Kovai.co has multiple development teams across several products, all of whom use different kinds of Azure credits from MPN and the Microsoft Partner Network.

Problem Examples

Using these credits, we found that some of the following scenarios would happen often:

  • A developer would complain they have used all of their credits, and they are now blocked from learning a new technology we have had them looking at
  • The DevOps team has no idea who is using which technologies, or how much credit we are using or wasting each month.
  • Developers build stuff and don’t really think about costs when they build a demo or proof of concept.
  • We had a demo scheduled to present to the engineering director, but it didn’t work because we had used all the credits.

Approach

As an ISV, we are building a product called Turbo360. Normally, we work with Enterprise Customers, SMB Customers, MSPs, and CSPs to help them manage Azure spend for their Azure customers.

Turbo360’s pricing model is flexible and based on the Azure spend you manage with Turbo360. In this scenario, managing a small Azure spend with Turbo360 is very affordable.

For many Turbo360 customers, the need for the product is to reduce an out-of-control Azure bill with a lot of waste. For some Turbo360 customers, once they are on top of costs, it’s about reducing risk and catching cost creep early. In this case, we can use Turbo360 to help Kovai. Co-development teams can reduce the risk. For example, 1 day of a developer being blocked because they run out of Azure credits for a proof of concept has a cost. All the problem examples we mentioned earlier in this article have costs to the organisation; they don’t appear on your Azure bill.

We planned to set up Turbo360 for the development teams so they could take accountability for using the credits, not just use them. In this article we will show you how we did this.

What about Azure Cost Management?

Azure Cost Management is in Azure and is free. This is great,t but the reality is that Azure Cost Management has been available to all our developers since day 1. We still have the problems I mentioned earlier. This clearly shows an adoption issue, and the DevOps teams cannot easily see a holistic view across all developers.

Solution

In this section, we will walk through how we use Turbo360 to maximise our Azure developer credits.

Getting Started

Getting started with Turbo360 is easy. In fact, a 10-minute video walks you through how to get up and running.

https://docs.turbo360.com/v2/docs/en/cost-analyzer-quick-start

In our case, we group all our Azure Credits for Visual Studio and MPN under a specific management group, and we give Turbo360 access to that management group.

Cost Grouping

Once Turbo360 Imports data for your subscriptions, we allocate the subscriptions to folders in the tree view.

You can see below how I can group the developers for the following teams:

  • Document360 developers
  • Turbo360 developers
  • BizTalk360 developers

To achieve this view, we used a Turbo360 feature called “Auto Create Groups”. This lets us assign a subscription to a team-level folder, and Turbo360 automatically creates a sub-node in the tree in the background for the new subscription.

The net result here is that the DevOps team can manage at the folder level, and individual developers can manage their own subscription.

Holistic view of Credit Usage

One challenge we had in the DevOps team was that the DevOps owner couldn’t see holistically across all developers in their area how people were doing.

In the Document360 – Developers folder, the DevOps team can view graphs and charts that show usage across all subscriptions belonging to their developers.

Previously, when a developer set up a subscription, the DevOps team didn’t have access to it at first and had no visibility into credit usage. When they were given access, it was very difficult for them to get these cross-subscription views.

You can see below one of the tables we use where it simply shows each subscription and compares cost last month vs cost this month.

Who is using credits and who isn’t

The next question the DevOps team had is about who is and isn’t using credits. Not all Visual Studio subscription purchases don’tcome with Azure credits. We want to make sure developers have the right kind of subscription.

When we moved from the Legacy Gold partner benefits to the Solution Designation benefits, we found that many developers had been given a partner benefit they weren’t using.

The table below shows that some developers haven’t been using credits much, so we could reallocate this subscription to someone who would use it.

Visibility of Costs

The next question we want to address is cost visibility. The DevOps team and Developers have indicated that managing credit usage at both the team and individual developer level is not straightforward or intuitive.

Holistic Visibility of Cost

The DevOps team wants to see costs across the entire team. Below is a graph showing costs across 27 subscriptions owned by Developers in one team.

The standout points for this graph are:

  • I can easily see what types of services we are using across alBelow isiptions
  • There is quite a ; cosirtual Machines, but it is not consistent. We might be able to optimise these so we don’t use so much credit.s
  • A lot of the costs are consistent each day, which is good

Individual Developer View of their costs

If we drop down a level from the DevOps team and want to look at individual developers, we need to give them better transparency into their costs.

What Services is the Developer using

Below is an example graph showing the services used by an individual developer. It’s easy for the developer to see where their credits are going.

Costs by Resource Group Last 6 Months

The view below is also useful for a developer, showing how much they spend on each resource group each month and highlighting changes.

You can see below that one standout item is a spike in one of the resource groups this month.

Cost Review

As a developer or DevOps person, we also want to review our costs quickly. I want to make sure I’m not wasting my credits.

With Turbo360, the DevOps team can do this across all subscriptions, and developers can do it for their own subscription.

Below is a table comparing last month vs the previous month at the service level. I can see most of my costs are similar, but virtual machine costs have increased.

I can also group costs by individual resources and look for the resources that have changed the most.

If I want to learn more about one of these resources, I can click it and open a screen with lots of information about it.

There are different tabs with different views of this resource and, but I can dig into this one resource and see what is happening with the costs and if there are any recommendations I can follow.

Monitoring

The next challenge we faced was reducing the risk of developers running out of credit. In the tree view, each developer can own their subscription and set up easy-to-maintain cost monitoring.

Group Budget

With the group budget, the developer can configure a daily/weekly/monthly budget (with sub-thresholds) and receive alerts if they are running out of credit. The picture below shows how easy it is to configure your threshold.

You can see this developer is within their threshold each month, but when they start getting close to their credit threshold, they will hit the red line and trigger an alert.

Anomalies

Turbo360 also has anomaly detection. This means that each developer can get an early warning of a potential problem.

As shown below, this developer’s day-over-day costs aren’t fluctuating much, so there is no problem here.

Cost Optimisation

We don’t want to waste credits by having overprovisioned resources. Turbo360 offers several ways to help you keep on top of these.

Advisor Recommendations

Azure Advisor recommendations are in the Azure Portal, but let’s be honest: they are hidden away, and in production scenarios, people don’t keep an eye on them, let alone your developer in their Dev subscription.

In the cost optimisation section, we will make it easy for the developer to see recommendations they may be missing.

In the case below, the developer could shrink the virtual machine size and save credits.

In addition to the individual developer, the DevOps team can look at these recommendations holistically across all developers and hold developers accountable where needed.

Advanced Recommendations

Turbo360 also has advanced recommendations. Again, you can view these at the individual developer level or holistically across the team.

In the Basic Recommendations you could see above, Azure Advisor had 4 recommendations that would save $22 per month. Turbo360 had identified 144 recommendations which would save me $246 per month. That’s nearly 2 subscriptions worth of credits being wasted each month.

Turbo360 also includes features to help you evaluate and execute these recommendations.

House Keeping

In addition to rightsizing, Turbo360 has a housekeeping feature called Other Recommendations.

This feature runs 20+ queries across your environment, looking for waste and things you can clean up or optimise.

In the picture below, you can see the DevOps team’s view across the entire team. The view is also available to individual developers.

In the picture, you can see there are 9 app service plans with no apps on them. Some are free or dynamic plans, but one of them is an S1 plan, which costs money, but there are no apps deployed to it. The developer probably cleaned up a demo but didn’t realise they are still paying for this app service plan, which has nothing on it.

Good housekeeping also keeps your environment clean and tidy, helps you use your credits effectively, and makes it easy to maintain.

Scheduling Resource Usage

The final feature we would like to cover to help developers is a feature in Turbo360 we call the scheduler.

The scenario is that you use resources to build a proof of concept, but you only work 9 to 5,, so you can shut things down and scale them down after hours, to save credits and get more value.

In the picture below, ow you can see where the developer would configure their 9-to-5 schedule.

They would then add resources to them as shown below.

In this case, I am adding an app service plan to scale up during the day and down at night, as shown below.

I can also add scenarios like:

  • Shut down my VM and turn it on in the morning
  • Shrink the vCore or DTU of my SQL, then scale it up in the morning
  • And other scenarios

The aim is to make it very easy for a developer, with a couple of clicks, to configure a job to do this automation. They don’t have to write DevOps pipelines or PowerShell scripts.

The outcome I am looking for is to scale down my demo App Service and SQL database in the evening so my credits go more than twice as far.

What’s the ROI on this approach

We believe that for the development team the ROI comes in terms of:

  • Time savings
  • Risk reduction of running out of credits when you need them
  • Effective use of credits and not wasting them

Summary

The outcome we were looking for was to empower developers to own their Azure subscriptions, so they can keep on top of costs, get proactive alerts, and optimise credit usage to make it go further, without spending more than a few minutes on it.

Beyond the individual developer, we also enabled each product’s DevOps team to provide better governance over subscription credit usage and ensure we maximise the value we get from them.

If you are an existing Turbo360 customer, you are probably focused on overall production costs. This approach canhelpr you get more value from the product you already have and help your developers manage their own costs. This can also be a good step forward in developing your cost-focused culture.

If you are new to Turbo360, the beauty of the Turbo360 pricing model is that it can scale down to just a development team if you want to manage only your developers. In this way, you can get enterprise-level cost management capability at a small scale. When your development team is on top of cost management through the empowerment Turbo360 gives them, you can scale this learning to adopt similar practices in other teams if you want to manage costs across the organisation. This is a bottom-up approach to managing costs, rather than a top-down approach, which often leaves frontline staff out of it.

Share this content:


Discover more from Qureshi

Subscribe to get the latest posts sent to your email.

Discover more from Qureshi

Subscribe now to keep reading and get access to the full archive.

Continue reading