top of page
  • Writer's pictureQuinten Miller

So, you have over 1000 Azure Web Apps, how do you know if you are leaking money or wasting resources?

Last week I was working with a devops team in a large enterprise customer, a key stakeholder asked an interesting (and somewhat loaded) question in a team chat...

“How many [Azure] web apps do you think we have across our environments!?”

The team's curiosity was piqued, and answers started flooding in. The team’s first half dozen responses where not even close to the correct figure, until someone unleased a 4-figure number with an appropriate 🤣 ... little did they realise we have 1,093.

So, how does an organization end up with over 1000 web apps without a clear view of their usage?

Let me tell you, this scenario is common and not unusual.

Especially in larger organizations with multiple development teams adopting a cloud-first approach. The single responsibility principle that guides developers at the code level can inadvertently lead to isolated teams and downstream consequences in the cloud.

Consider this: a developer creates a single app service to address a specific requirement for one part of the organization. To maintain separation for development, testing, and production, they end up setting up separate app services, instantly multiplying from one web app to four. Multiply this across various developers and siloed teams, and there you have your exponential sprawl. Moreover, without a dedicated FinOps team or foundational principles like guardrails and tagging, evaluating the value and tracking utilization of these web apps becomes challenging.

This situation prompted several key questions:

 “How many of these apps are actually being utilised?

 “Is there a way in PS to check if there is a way to know if they are even being used?”

And perhaps, most importantly:

 “Are we leaking money or wasting resources with unutilised or under-utilised apps”?

I've seen this before and can tell you there are two ways to go about this.

The hard way:

Fortunately, my prior encounter with cloud billing data and metrics APIs allowed me to guide them efficiently, drawing from my experience developing SixPivot's Cloud Ctrl Recommendation Engine. Back then this involved trawling through the different Azure services and the metrics available via the Azure Monitor Metrics API. Previously it was a nice page that had all services listed out, however now it seems that its 404, and you need to hit a Metric Definitions API to get the details (drop a comment if you can find a nice list!). 

So, the hard way to find out which apps are being used would be to learn the Metrics Definitions for the services you are interested in, string together the PowerShell to call the API's, maybe make it a repeatable process.  Microsoft have published a detailed walkthrough on calling the Metrics API’s, check it out, now see the significant effort involved in doing this analysis manually!

The easy way:

Or, the easier way is to plug in a tool like Cloud Ctrl and get it to do the heavy lifting for you.

Cloud Ctrl Recommendations

The recommendations engine in Cloud Ctrl is pretty cool. It goes into a much deeper level of detail than that of native cloud vendor recommendations and at a guess probably more so that its direct competitors. The engine has been designed to work across clouds (Azure, AWS, etc) and is configurable per customer. It’s also highly extensible for adding in new recommendations, as each one is a configuration within the application. All you need to do is drop in a new configuration, and you get a new recommendation.  If you are interested in the extensibility or how the engine is built, let me know in the comments and we can add some technical details :)

Unfortunately for our client team, procurement, security and existing cloud spend management tooling means we don't have a choice, and PowerShell and API's it is.

However, if you find yourself in this situation and have multiple cloud environments where you’re unsure of the value received from these apps, then maybe Cloud Ctrl can help you identify some of the leakage or waste.

If you’d like to simplify the evaluation of your Azure Services and optimize their value – maybe you’d like to explore the capabilities of Cloud Ctrl.

Have thoughts to share, experiences to discuss, or questions about the process? Drop a comment below!


About me: I'm Quinten, Innovation Director at SixPivot. I work with software teams and business owners everyday. Let's think different and creatively about software development.





bottom of page