BlueXP Blog

Control Cloud Costs Using Queries in Cloud Insights

Written by Joshua Moore, Principal Technologist | Jul 22, 2019 12:24:51 PM

The cloud is a bottomless pit of resources, but you don’t have a bottomless budget.

Picture it: You’ve been made responsible for reining in your department’s cloud costs, which happens to involve resources from multiple cloud providers, making your job that much more difficult. Fortunately, locating and controlling cloud costs across a complex multi-cloud infrastructure doesn’t have to be difficult as it may sound.

You can approach this problem from a few angles.

Your First Option Is to Exercise Your Mastery of Excel

You’ll somehow make sense of those huge spreadsheets that Amazon and Microsoft send you every month. You then need to break those costs down to figure out who-is-spending-what, and work with those teams in order to assess what their needs are, and where they can reduce cost. This is the most hands-on option.

Or You Can Use Cost Analysis Tools From Your Cloud Provider

You could potentially use cost analysis tools from your cloud providers. You’re looking at a multi-cloud environment though, so this tactic means learning two or more new toolsets and ensuring consistency across metrics (are Amazon’s cloud cost structures really a 1:1 match to Azure?). These tools naturally incur additional costs of their own, as well, which you will have to include in your analysis.

But There’s a Third, Much Easier, Option: Cloud Insights

There’s a third option. If you can quickly identify resources waste at scale, you can reduce costs at scale, too. It’s common even in the most well-controlled cloud environments, that that the most prevalent consumers of cost are resources that either aren’t being used at all or aren’t being used to their fullest.  We’ve seen a multitude of reasons for the disconnect: clean-up after a dev or QA exercise that hasn’t been completed; a service was decommissioned, but the associated resources weren’t removed; whoever provisioned the resource in the first place may have misunderstood or over-estimated the requirements. Whatever the reason, each of these scenarios leads to wasted money.

Cloud Insights Gives Cross-Platform Visibility of Resource Utilization

And it comes loaded with one additional key element: normalization. Normalization means that Cloud Insights does the hard work by ensuring that metrics are comparable across platforms, so you don’t have to worry about it.

Although Cloud Insights has dashboard visualizations to help you keep tabs on costs and performance, you can also find immediate answers to your questions using an advanced set of filters and finders we call “queries”.

The principle behind queries in Cloud Insights is simple: you start with whatever asset type you want to search for, and then define a set of filters to narrow down your list of results. You see results in real-time, so it’s easy to decide where you want to set your thresholds, or how much you need to filter to get concise answers.

Let’s have a look at compute resources, and see if we can locate where we’re overspending on them (both CPU and memory).

How to Create and Use Queries in Cloud Insights

Navigate to “Create a New Query” in the Cloud Insights GUI and select “Virtual Machine” as the asset type you would like to search for. There’s no need to specify whether you’re looking for cloud or on-premises resources at this point. Neither do you need to state which cloud provider you would like to check. Because of Cloud Insights’ normalized data model, a VM is a VM regardless of where it lives, and we can use the same workflow regardless of provider.

What you see here is a list of every VM across dozens of NetApp labs, on-premises, and cloud environments. Let’s drill down into the data.

In the first instance, you may want to identify where large VMs have been provisioned, but a smaller instance may do the job just as well. Though you can filter down this list by using the instance type labels used by the cloud providers, instances can change over time and aren’t consistent across providers, so it may be preferable to use the processor count to identify them.

In this case, we’re going to start with 16 vCPUs allocated—you can easily tweak this number to be most appropriate for your environment. Here, our initial list of 2,079 virtual machines was immediately reduced to a more manageable quantity of 111.

But this result isn’t useful just yet; you also need to identify which ones aren’t busy. You may want to adjust the timescale of the query to a period of 1 week or more to ensure peaks and troughs are accounted for, and then define your minimum threshold for CPU utilization. In this example, we’ll set the minimum threshold for CPU use to 10%, on the basis that any 16 vCPU instances using less than 10% could be very easily downsized.


Now we’re getting to some actionable information. This reduces the list to 58 virtual machines, each one of which is oversized, but that figure includes both on-premises and cloud resources. You need to filter down once more to identify the ones that are having the most direct impact on costs. To do so, you can use the Hypervisor OS filter and enter the cloud provider you would like to search for.

And in just a few seconds, we’ve identified 42 virtual machines in our environment of 2,079 that are definite candidates for right-sizing. You can save this query so that your list is always up to date, or apply metadata rules to automatically tag these VMs as "oversized" to monitor their utilization over time.

Using Cloud Insight’s Query Engine, Identify Waste Universally

You can use the query engine in Cloud Insights to identify waste in a number of scenarios, such as:

  • Virtual machine instance types that are memory heavy, but with low memory utilization
  • Virtual machine instances that have been powered off or suspended for a long period
  • Persistent storage attached to VM instances that are powered off or suspended
  • Storage that has been orphaned by VMs that are no longer available
  • High performance storage that has low levels of IO density (IOPS per used TB)

You can also use Cloud Insights’ metadata model to identify which applications and business groups are responsible for the overuse of resources. You can then take action based on a clear understanding of areas for improvement. But, as we explained in a recent blog, cost data and billing mechanisms for cloud providers today are incredibly complex, and application teams are rightly focused on ensuring that their service is available to the end-users over decoding complex bills. 

Cloud Insights gives you a simple way to discovery this waste against a variety of metrics, providing actionable information to reduce your cloud costs.

Find Out How Cloud Insights Can Help You Reduce Costs

Even if you’re not a current Cloud Insights customer, it’s easy to set up. There are no agents required to deploy cloud collectors, so you can be up and running within minutes. Request a free trial and try it out today.