(soft music)
- Up next, I'm joined by Azure expert Matt McSpirit,
to look at lesser-known tips for visibility and management
of your cloud spend in Azure using your endpoint of choice,
from the Azure Cost Management portal,
to Power BI for custom views and reporting
to API-based integration that feeds cost data
into your existing financial system.
So Matt, it's never a dull moment with you.
Welcome back to the show.
- Well, it's good to keep things interesting.
- And you always do.
In fact, on today's topic, it falls into the category
of something that we get a lot of questions on.
We did a recent episode actually with you
on cloud economics essentials,
to really explain the fundamentals of cloud costs,
which if you missed that one,
you can catch it at aka.ms/MechanicsAzureCloudEconomics.
That said, to track your cloud costs in a way that
makes sense for your organization is an area
that a lot of people I think want to get a handle on.
- Yeah, you're right.
And in fact, this is an area where finance
and technology teams can often find themselves disconnected.
And there are a few parts to the challenge here.
So on the one hand,
there's the issue of how costs are tracked.
For example, you may need to map costs
against your organizational structure or regions,
or even against a specific timeline.
And alternatively, there's the issue of specificity
and granularity of spend, which is important,
especially if there are shared apps and workloads
in use across your organization
and you need to understand how costs should be distributed.
And as with everything data related, the insights you get
are only as good as the reporting foundation you set.
Now, the trick here is that you really want to look
at how you configure your Azure environment
to meet specific cost reporting needs.
- Isn't half the problem also how people are able
to consume the data in a way that makes sense for
whoever's monitoring and reporting against that cloud spend?
- Yeah, that's definitely the case.
And the good news is, is we give you a number of options
to get what you need, whether you're from the IT team
or the finance team.
Now as an IT team, Azure Cost Management in the Azure portal
gives you the most comprehensive access
to cost management views and reports.
Next, if you prefer Power BI,
our Azure Cost Management Power BI app
gives you great visibility with prebuilt views
out-of-the-box to track your Azure spend at the account,
subscription, and resource group level,
by service and much more.
And for more custom reporting,
you can use our Power BI desktop connector
to take our base Power BI template files and customize it
by building your own views.
Then lastly, for ultimate control and customization,
you can also cull our APIs directly to integrate the data
within your internal apps and financial systems.
- So you can consume cost management data in the portal
via Power BI, also directly from the APIs.
And you also mentioned, there's a trick in this case
to getting all the right data for your needs.
- Yeah, there's definitely a level of planning
that you want to do first to make sure that costs
are broken down in the way you need them to be.
And this starts by understanding a few basic constructs
for tracking your spend.
The first of which is a subscription,
which you can use to delineate departments
or cost centers in your organization.
And underneath each subscription are your resources,
which are organized in resource groups.
Now, importantly, tags work to track specific consumption
and can be assigned for your subscriptions, resource groups,
and all the way down to specific resources.
Now next, overseeing all of this, management groups
can help you define a hierarchy
over your subscriptions and resources.
For example, using this construct, you can group sets
of subscriptions and their resources for cost management,
for example by business unit.
And you can configure role-based access
to offer privileged views over cost analysis
at the department or down to the individual-user level.
- Great, so can you walk us through then a few scenarios
for configuring the right cost management foundation
in Azure, and why don't we start with the most popular one,
assessing spend by a particular department
or a business unit?
- Right, so here is where management groups are fundamental.
So these let you manage and organize your subscriptions
in a way that's meaningful to your organization.
Now, creating one is simple enough.
And in the management group blade,
you can create a new management group
or add a subscription to an existing management group.
I've also defined my management group structure here
under my tenant and Trey Research represents
my organization hierarchy.
And there are three nested management groups underneath it
that denote my different business units worldwide.
And by the way, you can create as many management groups
as you need and nest them as required
to represent your organization.
And each of these have their own associated subscriptions
aligned to specific departments or cost centers.
So there are five subscriptions under Trey US
and one, Trey International UK, that's under Trey Worldwide.
And this hierarchy will allow me to view costs
at the subscription level,
which in my case represents various departments,
as well as anywhere in the hierarchy
of our management groups,
which in my case represent business units.
So with our management groups created,
let's take a look at how this now helps you to track costs
using Azure Cost Management in the Azure portal.
I'm in management groups under cost analysis,
and this is my view of costs across the entire account.
And I want to view spend against the management group
we just set up.
Under the scope picker,
I'll select my root management group option,
and you'll see my Trey research management group
just popped up.
And as I click in,
you can see our associated management group nodes.
So let's look at Trey US, which if you recall
had five subscriptions under it.
This gives me a view of overall spend
across this particular business unit.
And it's grouped by subscription
so I can look at the cost breakdown
for each of the represented departments.
- Why don't we take a look at what you need to do then
to configure cost tracking
at that specific granular workload level?
- Right, and this is really where
tagging becomes imperative.
And as a rule, you're best off tagging resources
as they're created to be able to
associate cloud usage costs appropriately.
You'll want to spend some time establishing the right
approach and naming of your tags for consistency.
And in fact, I recommend looking
at our cloud adoption framework guidance to get tips
on how to go about this at aka.ms./CAFTagging.
So let me show you how this works.
I'm in the virtual machine blade.
And as we click in, I can see my virtual machines
and I'll click into the first one.
And I can view its tags.
And you'll see it's been tagged by environment,
and that environment is associated to different values.
In this case, a StorSimple environment.
Now you can think of a value as a qualifier for the tag.
For example, if you create a tag named Country,
then the associated values could equal country names.
This is also where I can update the tags or add tags.
And if I want to apply the same tag
across a given subscription, for example,
like our Trey International UK subscription,
I can always set the tag at the subscription level.
And because I'm using the same tag for my subscription,
all the resources under this subscription
will inherit the tag.
Equally, I also have the option to set tags
at the resource group level under my subscription.
Now, the path for reviewing existing tags or adding
or updating tags, is the same as I just showed you.
And so because these tags have been established,
here's the payoff.
When I go into Azure Cost Management in the portal
under cost analysis,
you have the option to filter costs by tags.
Now, of course, we want to figure out the cost
of a specific workload.
And to do this, I can also group costs by specific tags.
Under group, when I select tags, it brings up a list
of all tags that have been defined to track costs.
I'll select costs by environment.
And if I scroll down, I can see cost groups by the tags
that have been created in this pie chart.
- And this is all really great guidance,
but it does require that everyone gets into the habit
of establishing management groups or tags.
Now I saw there were about $300 in your case
of untagged resources in the chart that you showed,
probably where someone may have skipped the tagging step
when creating resources like a virtual machine,
but what can you do then retrospectively?
- You can, of course, set up management groups at any time.
Equally, you can enforce tags on future
or existing resources if you need to as well.
If you want your subscription, resource groups, or resources
to inherit a tag, in Azure policy all you need to do
is create and assign a policy.
Once you to assign policy,
you can set the scope of the policy.
In our case, we want it to run at the subscription level.
I'll select Trey International UK,
next I'll pick the policy I want to enforce,
and we have a pre-configured inheritance policy
available in the portal.
So I'll search for that.
And you can see it brings up a few options
at the subscription and the resource group level.
The first policy adds a specified tag if it's missing
on a resource in the subscription.
And the second one listed ensures that resources created
inherit a tag from the subscription, which is what I want
so I'll select that one.
And once I hit review and create, all new resources
from this time onwards will inherit the tag
from this subscription.
Also something pretty cool: by selecting remediate,
I can make sure that the tag is applied
to existing resources as well as any new resources
created on the subscription.
And again, once that policy is enabled,
filtering against these tags will work
from that day forward.
- And that's pretty reassuring, but that said,
so far you've shown the benefits of Azure configuration
as you use the portal.
If you don't live in the portal though,
how does this effort then translate to things like Power BI?
- So once you've got everything configured
as the way you want it, as I mentioned,
there are two options for using Power BI.
First, you can use our pre-built Power BI templates
by downloading our cost management app at aka.ms/ACMApp.
Now, once you've installed it, these templates,
as I mentioned before, provide a great starting point.
And they also help you to spot opportunities
for cost optimization, such as reserved instances,
which allow you to read cost savings compared
to pay-as-you-go prices
in return for a one or a three-year reservation.
Our pre-built reserved instance coverage report
gives you specific recommendations
on reserved instance usage
so that you can assess potential savings.
And the Azure Hybrid Benefit report, for example,
shows you how well you're doing in terms of
bringing over your on-premises licenses to the cloud,
including how many cores this applies to,
which you've taken advantage of properly
can help you save up to 40%.
And in fact, when you combine reserved instances
and Azure Hybrid Benefit, your savings can be up to 80%.
Now that said, the real power of Power BI
is in the creation of custom views.
And for that you'll want to download
the Azure Cost Management connector in Power BI desktop
to make direct pulls against the data
in Azure Cost Management.
And we have specific guidance on how to do that here
at aka.ms/ACMPowerBI.
Now I started to build a customized report
and here the data from our management groups
are being pulled in on the right
and I'm mapping the management group structure
with my usage data.
If I click in, I'm able to define the relationship
between these two datasets,
which are linked based on subscription.
And now I can go into the report
and create my own custom views.
I can see the breakdown of management groups
that I define in Azure and against all the subscriptions
in the management group that align to specific departments
in my organization.
I've also created a view of costs by workload,
which is pulling from the tags we created.
And as you can see from the cost breakdown by tags,
most of my costs are coming from the production tag
for my production workloads.
Now, this is just a taste of some of the custom views
that you can create, and the sky really is the limit
to tailor views and reports for your organizational needs.
You could also, for example, set up historical reporting
that goes back further than the three month views
available in the portal.
- How do you then leverage APIs, maybe to integrate
with your existing financial systems?
- So here you can integrate our APIs
with your preferred finance and reporting systems.
The export feature in Cost Management is an easy way
to export your usage files into a storage blob.
And you can automate regular exports
to keep your reporting up to date.
For example, here I've set up
my data export to occur daily.
I can decide to pull in data on my actual or amortized costs
and enter other parameters such as the frequency
of my export, and when I want the export to start.
And if I've got a large file, I can split it up
into multiple files by selecting file partitioning.
I can also pick the subscription that the storage account
will be associated with, as well as my container information
and directory where I want to place the file.
And once I save this, the data export will run
based on the frequency I've specified,
which in this case is daily.
It saves by default as a CSV file.
And you can also view it as a JSON file,
as you can see here.
- So there are three great options then,
depending on your preference and perspective
then for tracking cloud spend in Azure.
Of course, there's probably more questions
than we actually had time for to answer on the show today.
So how can folks then watching learn more about all this?
- Well, to learn more about configuring resources in Azure,
the Azure setup guide
as part of the cloud adoption framework methodology
is a great option for you,
at aka.ms/AzureSetupGuide.
Now at the end of the day,
the data is there available to you in Azure.
So with the right planning as an organization,
you should be able to access what you need
and map it to your reporting needs.
And you can also find more tools, templates, and guidance
at azure.com/cloudeconomics.
- Thanks so much for sharing these great tips today Matt,
and also thank you for watching.
And be sure to keep checking back to Microsoft Mechanics
for all the latest updates.
Subscribe to our channel if you haven't already,
and we'll see you next time.
(soft music)