Azure Cost Management technical overview

Azure Cost Management technical overview


[MUSIC].>>Hi, and welcome to this session on a beautiful afternoon
here in Seattle. I know it’s a beautiful day, but let’s get right to it. My name is Terry Clancy, I work in the Azure Cost Management
group here at [inaudible] . This session is going to
be focused on making the most of the Azure by
optimizing your Cloud spend. We’ll be talking about
Azure cost management, a service that helps customers, manage and optimize Cloud spend
across a multi-Cloud environment. Typically, that’s
going to include Azure and/or Amazon Web Services. I’ll walk you through
how your organization can benefit from Azure Cost
Management to monitor, allocate and optimize
your Cloud spend. Before we dive into the details, it’s worth stepping
back for a moment to discuss the objectives
of cost management. Cost management is
an iterative cycle to manage Cloud resources in a way that balances the priorities
of Management Teams, Finance Teams and Uptive teams. It starts with providing
visibility of costs with tools that provide
chatting, analysis, drill-down, and slice
and dice capabilities, and the tools to share and socialize
the results of that analysis. Next is accountability. That means, making people accountable
for the costs they incur with tools that
provide scoped access, budgeting, alerts, cost allocation
and the ability to show back or charge back to
cost centers with automated emails. Finally, optimization refers
to tools to help identify wastage and recommend changes to
optimize the use of resources. This includes tools to help with right sizing and reserved
instance optimization. To better address these challenges,
Microsoft purchased Cloudyn, a leader in Cloud cost
management in June 2017. Since then, we have continued to run the Cloudyn service at cloudyn.com, and have attracted
tens of thousands of new users. Meanwhile, we have also
integrated Cloudyn engineers into the Azure Dev Team to
work on Azure Cost Management, a new cost management
solution designed from the ground up to run in
the Azure portal and deliver the best of both Cloudyn and the existing
enterprise portal while whenever possible
utilizing rather than replicating the core Azure services. Things like Azure Active Directory,
Azure Resource Manager, Role-Based Access Control or RBAC, management groups, action groups, adviser, policy, storage, and tags, these are all things that already
exist in the Azure Platform, and Azure Cost Management
leverages rather than replicate. The intent is to make
Azure Cost Management the one-stop shop for Cloud cost
management information and tools. Already, over 70 percent of Azure Enterprise customers are
using Azure Cost Management. To access Azure Cost Management, open the Azure portal. I will demonstrate
quickly the steps to move into and use
Azure Cost Management. Here we are in the Azure portal. First, you click on ”Cost
Management and Billing”, then on “Cost Management”, and you can see
these menu selections: “Cost Analysis”, “Cost Alerts”, “Budgets” and “Adviser
Recommendations”, and in addition,
the “Exports” button down here. They constitute Azure
Cost Management. You’ll also notice Cloudyn. This is simply a link to the legacy Cloudyn cost management offering rather than being a part
of Azure Cost Management. So again, cost analysis, cost alerts, budgets, and adviser
recommendations, and exports. This is the core of
Azure Cost Management. Let’s start by looking at how Azure Cost Management delivers
better visibility of costs. For many people,
the most popular feature of Azure Cost Management is
that it is on by default. For AI users, there are two check boxes in the AI portal
which need to be set, more on that later, and users need reader or cost management reader access for
the scope they’re interested in. Beyond that, there is no set up. You can simply walk up to
it and start using it. One of the byproducts
of this is reliability, particularly when used with Azure. Because there are
no fragile APIs or keys, linked AIs that might expire, the solution is just more robust. Another key benefit of
Azure Cost Management compared to other offerings
is reduced latency. When used with Azure, Azure Cost Management is delivering accurate reporting within
eight hours of costs being incurred. This compares to days
when using Cloudyn. This allow users to respond much more quickly to cost spikes
and other situations. Azure Cost Management
also provides a richer, more modern intuitive analysis tools and is integrated
with Azure and adviser, and I’ll demo them in a moment. The cost analysis tools in Azure Cost Management provide the ability to slice
and dice your data, group and filter by over 14 dimensions in
the case of the AI channel, as well as by custom tags. You can select “Custom Date Ranges”, provide daily or monthly
granularity and will since support the ability to save and schedule e-mail distribution or report views. ACM also lets you schedule exports
of cost data into Azure storage to enable
integration with other systems and
alternate approaches to analysis. Azure Cost Management is
a ready-to-go service. But if you want
different or customized views, we also provide
Azure Consumption Insights, which is a Power BI connector. For integration with
other applications, we also provide access to cost
management and consumption APIs. With the Azure Consumption
Insights Power BI connector, you have much greater
flexibility as to how you present the cost
management information, as well as allowing you to blend Azure Cost Management data
with the data from other data sources
as appropriate. Actually, Azure Cost Management, the AI portal, the Azure Consumption
Insights Power BI Connector, and the Azure Cost APIs, all operate over
the same source data, and so should yield the same results. Azure Cost Management also provides support for Amazon Web Services. Whereas Azure Cost Management or
ACM is free to use with Azure, there is a fee of one percent
of the monitored spend of AWS spend when using it
with Amazon Web Services. Let’s now move on to a demonstration of Azure Cost
Management’s visibility features. So here we are in the Azure portal. Again, to get to Azure
Cost Management, you click on “Cost
Management and Billing”, then on “Cost Management”, and we have these entries here. I’ll first start with cost analysis. Whenever you select this option, the first thing you should always
do is check the scope [inaudible]. You’ll notice here I’m currently have the billing account Contoso selected, and so that is the source data that we’ll be
looking at during analysis. I could select other scopes, for example, this little
hierarchy icon here, this indicates a management group, or I could drill down
into a management group, and select an “Individual
subscription”. But for the purposes of
this demo to start with, I’m going to select Contoso.>>Immediately, you can see that
the accumulated month today spend up to March 22 is $47,000. Another very helpful feature is
a three pie charts at the bottom, which gives you an instant view of the main cost drivers for
the selected time period. The first one, for example, shows us that the service, which is driving the greatest cost
is Virtual Machines. In terms of location, it is br south, and in terms of
enrollment account name, it’s the ACM team.>>The dimensions you looking at in these three pie charts at
the bottom can be modified. For example, I can select whatever three-dimensions
is most important to me. The other thing worth noting here
is if I noticed, for example, that Virtual Machines is the biggest driver and I
wanted to drill down on that, and analyze that by itself
excluding all other data, I just need to click on it, and immediately I’m drilling
down on Virtual Machines. I can do that with any segment
in any of the pie charts. Now, to remove that filter, you’ll notice it’s a filter, it’s indicated at the top here with service name: virtual machines. To remove that I can
just hit “Click”. You’ll also notice here that the accumulated spend
is shown in red. That’s because the budget here is somewhat ridiculously
low at $10 per month, and so it’s virtually all of
the spend that we can see here. To look at this spend and
group it by other dimensions, we can select the group by a button
and group by other dimensions. For example, I can pick
meter subcategory, and immediately is grouping the month to date spend by meter subcategory, and as I hover here, you can see that for the day
I’m currently selecting, it’s showing me the month today spend for each of the meter subcategories. So if I wanted to drill
down on one of those, I can simply click on that column. For example, if the two
series windows in dark blue, if I’m interested in that I’ll
just click on it and boom, I can then drill down further. For example, I can select another group by
having now filtered on that, I can group by resource group name, for example, and as you can see, it’s all related to a particular
resource group name. If I drill down even
further to resource, I can see the two resources
that are driving that spend for that particular
meter subcategory.>>The same principle
applies to all dimensions. You can group by a dimension
and then click on the dimension member of interest
in that dimension to filter by, or you can select
multiple members to filter by, then you can group by
yet another dimension, click on the dimension member of interest in that dimension
to filter by, and then you can group by
yet another dimension, and so on, and so on, as you drill
through the data, narrowing in on the information that you’re interested in
or the primary driver, the costs you’re trying to get at.>>Another key thing
to understand about the group by drop-down boxes is, you’ll notice as I drop it down, there’s 14 or 15 dimensions in there. They are either billing dimensions
or resource dimensions. The resource dimensions will stay the same regardless of what
channel you are using. The billing dimensions will change. So for example, when you go from the AI channel to
the Web Direct channel, you might see a change in
those billing dimensions. The other thing that’s important
to understand about this group by drop-down box is that right
at the bottom you see tag, this is a very important selection to use and understand because
when you select “Tag”, you then have
the opportunity to select a particular tag name or key. For example, I’ll type in env, and select the env tag, and then it will group by the
various values that the env tag has. As you can see here that on different resources that env tag
sometimes has a value of prod, sometimes the value of
dev, or production, or in many cases untagged, which is a bit of a giveaway
of bad governance. So that’s how you would
use tags and chat, and group by tags in
the Azure Cost Management tool. Now let’s look at granularity. First, I’m going to group
on major subcategory again, and we’re going to look at the different granularity supported
by Azure Cost Management. If we go to the “Daily view”, you’ll see that unlike
the “Accumulated view”, it gives you a much better view
as to the day to day variations, and if there are particular
variations in the driver’s, again, by using group by, you can see for a particular day what’s driving a particular change. So now let’s look at
another granularity, and we’ll look at Monthly. You’ll notice here when
looking at monthly, we are only looking at one month, so I was boring. It’s just one big bar chart, but I can use the custom date picker here to select
a much broader time period. For example, I can go back to, say the beginning of July, click it once, then go forward to, say the end of February, you’ll notice right now whatever I point out it’s selecting
the date range up to there, and then click again, and the third click on “Okay”, and now selected
that much larger date range, and I now have
the month bar chart say, or I could look in on
accumulated view again or line view. So there’s lots of different ways of slicing and dicing and
presenting the data. Another granularity
of interest is None. Before I demonstrate that all
go back to this month view, select “Daily” select “Accumulated”. [MUSIC]>>We’re back to the view
we’re familiar with. Now, if I select
a granularity of none, what you’ll see is it removes
time from the x-axis. And. Now each of the members of that dimension are displayed
across the x-axis. So if you just want to look at
the month to date performance for this month without a view as
to the day to day variations, selecting a granularity
of none will do that for you for whatever time period
you currently have selected. Let’s move on to
accountability which is a next cornerstone
of cost management. Here we’ll cover how you
can control, access, and monitor your costs
against budgets. The keys to accountability
are to extend visibility to key stakeholders
using management groups, role-based access controls
or RBAC, and tagging, set clear goals with
budgets and alerts, hold teams accountable for spend. One of the foundations of
accountability is to ensure that stakeholders have access to
the data they are accountable for. So we need to clearly understand the relationship between
entities and permissions. Billing and resource entities
are a cornerstone of how costs are organized and analyzed
in Azure Cost Management. They include what you
can see in the ACM group by drop-down control which I
demonstrated a little while ago. That will change depending
on what type of customer you are or as we say what
channel you are using. ACM manages several customer types
or what we call channels. For example, for Azure, we have EA customers, WebDirect or pay-as-you-go
customers and Cloud Solution Providers or CSPs. Each of these is a different
channel and will have different billing
entities but they all share the same resource entities. The relevant resource entities
are management groups, subscriptions, resource
groups, and resources. Moving forward over
time the EA, WebDirect, and CSP channels will be replaced by the new
modern commerce channel, which is designed to handle
the superset of requirements of EA, CSP, and WebDirect customers. AWS is and will remain a separate channel with
its own billing entities. Let’s look at the EA channel
as an example of this. This diagram shows the hierarchy
of entities in the EA channel. Managing costs and controlling
access using the entities hierarchy requires an understanding
of scopes and roles across Azure and the EA portal. Depending on what level of
hierarchy you need access to determines what roles
and privileges you need. Let’s look at that in more detail. This table shows you
what roles you need at each level in the case
of the EA channel. As you can see for the resource entities,
management group, subscription, and resource group, you need at least cost management
reader or reader role. Above that, for access to cost
information for billing entities, you’ll need owner or admin roles
which is something you normally want to limit to just
those that really need it, and ideally not just
for looking at costs. Also note that if you want
to create budgets or alerts, you will need
a higher level of access. So you would need to have cost management contributor role
rather than reader role. Another best practice
you will want to follow. It’s a principle of using the Least Privileged RBAC roles
required to do the job. So you would like to avoid giving
people owner or admin roles if all they really want to do is
analyze costs or create budgets. The best way to do this is
using Azure Management Groups. Azure Management Groups is
a relatively new feature in Azure. Management Groups are containers
that help you manage access, policy, and compliance across
multiple subscriptions. You can create these containers
in a hierarchy to represent, for example, your company
or an IT structure. Management Groups can then
be used to more simply apply Azure policy and Azure
role-based access controls. Apart from their other benefits, Management Groups also
allow you to grant a user, cost management reader or reader
role on a Management Group. So they then have access to all the subscriptions below that Management Group
in the hierarchy.>>So then, by defining even one root Management Group above all other Management Groups
and subscriptions, you can give a user cost management
reader or reader role across all the subscriptions in an account without needing to grant
owner or admin roles. Thus you can adhere to
the Principle of Least Privilege.>>So if you have more than
one subscription, I would seriously consider using
at least one Management Group. As mentioned before, moving forward
over time the EA, WebDirect, and CSP channels will be replaced by a new modern commerce channel
which is designed to handle the superset
of requirements of EA, CSP, and WebDirect customers. It will support billing profiles
each producing separate invoices potentially in different currencies and rolling up to
a single billing account. One more thing, there are
a couple of settings in the EA portal you’ll need to enable
to use ACM with an EA, they are the DA view charges which stands for Department
Administrative view charges, and the AO view charges which stands for
Account Owner view charges, as shown on the screenshot. So if you need to do that, keep this screenshot handy. But entities have their limitation when it comes to analyzing costs. As with Cloud entities,
Azure entities, and Management Groups often do
not neatly allow you to separate costs by Cost Center or project or however you
want to look at costs. Often, multiple Cost
Centers can be using resources in a single subscription. A Cost Center can have costs spread out across multiple subscriptions. For example, some companies have a Dev and Test subscription and have multiple projects from
several Cost Centers in each of those subscriptions. This is where Tags can be useful. Tags allow you to tag individual resources and
resource groups so they can be separated out when they’re spread across multiple subscription. A Tag is simply a name-value pair. A Tag may have a name or as it’s
also called a key of environment. Then on different resources, that environment Tag might
have different values like Dev and Tests or
engineering or sales. If you do that consistently across your subscriptions then you can
analyze costs by environment. The difficult thing is to achieve
that consistency and to do that you need to establish policies and apply governance to
ensure compliance. I recommend best practice is to use Azure policies
to enforce Tagging. Please see the resource
slide at the end of this day for links to
more information on this. At the best practices involve
having Tags for finance codes, application context,
deployment contexts, who is accountable and so forth. ACM also supports budgets and alerts. But rather than talk about that, let me demonstrate it for you. Here we are back in
Azure Cost Management. We’re going to look at budgets
which is this selection down here. But before I do that, I’m going to change the scope down to a particular subscription which
I know has budget set on it. I’ll go into “Trey
Research” and the “Trey Research R&D Playground”
and hit “Select”. Immediately, you’ll notice
this red dash line appearing. This is telling us what
the monthly budget is and you can see we’re
trending up towards it. Now, before we do anything, an interesting thing to do here is to change the granularity to daily. Now we can see that from
March 1st to March 11, our daily span was
above the daily budget. So the point here is when you
go to the daily granularity, it also reduces the
budget to a daily view to give you a daily view of how you are performing against budgets.>>Now we have a Scope selected
with a monthly budget of $1,500, which you can see there
with the red dash line. If we change our group
by and group by none, the display will then show our month
to date spend up to budget in green and will show all the budget spend as you can see in
the top right in red.>>Now let’s look at how
those budgets are set. If we click on budgets here, we can see there are
multiple budgets set up. We’ll go in and look
at the monthly budget. You can see it’s set for $1,500 a month and some other
information about it. You can also see that it has
one alert condition set up. Let’s look at how to modify that. If we hit “Edit Budget” we can create a budget or edit a budget by
entering the amount here. Then down the bottom we can add new alerts or vary the percentage
of budgets for the alerts. We can add recipients for alert e-mails that will be sent
whenever an alert gets hit. The other thing to note
here is action groups. You’ll notice a button to action groups at the top
of the blade here. An action group allows you to program actions that occur when
an alert condition gets hit. Action groups can be programmed
to send out e-mail, SMS, push or voice
notifications or you can program your own actions
using Azure Functions, LogicApps, Webhooks, ITSM
or Automation Runbooks. What this means is there’s
an enormous amount of flexibility as to how you program actions that sit behind the alert conditions in
Azure Cost Management budgets. If you had gone into
the action groups and created an action you would see
it in the drop-down menu here. In fact, there’s one called
“Cummins” and you just select it. Then that action will
be called whenever that alert condition gets set. So as alerts get hit, the action happens but
the other thing worth noting here is that we have
this other entry called “Costs Alerts” which is a listing
of all the alerts that have occurred regardless or not of
whether an action has happened. So at any point in time, you can come to the cost alerts menu item here and look at
a listing of all alerts, whether or not actions
were associated with it. Let’s go back to the deck
and then we’ll come back a little later and look at
Advisor recommendations. So we’ve talked about visibility and accountability and that brings us
to the third piece of the pie, which is how do you optimize costs? Costs optimization is really
a key to Cloud success. Developers often choose
Virtual Machines and other resources which are
much larger than required. But the best theme for
the business is typically much smaller and only just large enough
to accommodate the workload. So how do you identify
opportunities for optimization? Azure Advisor provides
these recommendations on how to optimize costs. Most notably, it provides right sizing recommendations
which can help you identify resources that
are underutilized and then suggest an alternative
resource to select. Purchasing recommendation
suggesting for example when it might make sense to purchase an Azure
reservation which was previously called the
Azure Reserved Instance. Azure Advisor also provides
recommendations in the areas of high availability,
security, and performance. A couple of things that are new with Azure reservations that are
worth calling out here. Azure Reserved Instances has
been renamed Azure Reservation. Reserved instances
are now applicable to constrained virtual machines
where they were not before. With constrained cores you
can pay for the cores you need while maintaining
the RAM of bigger machines. You can also now apply Azure Reserved Instances or
Azure Reservations to classic VMs, Cloud services, and
div tests subscriptions. There has also been
a change to purchase permissions which allows
admins to purchase reservations if the IR purchase flag is turned off in the EA portal. We also now have Instance
size flexibility. Reserved Instance or
Azure reservations, instance size flexibility is another feature that can
help you save money. It automatically applies
Reserved Instance benefits across VMs within
the same series and region. You have the option to
turn this feature off and on depending on
your business needs. If it’s on, it can help
maximize an RI purchase by applying the benefit to
as many cores as possible. For example, if someone
purchases 10 DS4 V2 RIs in say Australia Southeast, which is a total of 80 cores, it can be distributed against other DS series VMs
in that same region. For example, six DS4
V2s and eight DS3 V2s. So you can just be more
comfortable that you’re getting the benefit of your reserved
instances wherever possible. In addition to instance
size flexibility, we offer full Exchange Program
with no fees and no cart. If it needs change, say you need to move to
a different VM family or maybe you’re going global and
you want to use a new region, you can do that too. We offer that flexibility. For users who have
Software Assurance so Windows server and SQL
Server licenses on-prem, Azure Hybrid Benefit
is a great option. This enables you to bring your on-prem license rights
on Windows server and SQL server for use on Azure VMs
and save up to 85 percent. Combining this, we’ve
reserved instances you can save up to 93 percent. With these benefits, Azure can
deliver the best price for running your Windows server and
SQL server instances in the Cloud. So let’s take a look
at Azure Advisor now. Here we are back in
Azure Cost Management. So let’s have a look at
Advisor recommendations. You can access Advisor recommendations
by clicking right here. In which case, you’ll see
the cost recommendations or you can access that
through this Advisor link in the left-hand menu and
say not only the cost of recommendations but
also the performance, security and reliability
recommendations. Before you click on either of these, make sure your scope is
as you expect it to be. Right now I’ve gone up a couple
of levels in the hierarchy. So we get more recommendations
and I’m looking at Trey Research. I’m going to click on Advisor
recommendations and we’ll wait as it scans its database and
picks up the recommendations. Now, Advisor is sitting there
24 hours a day looking at what you’re doing and looking for
opportunities to do it better. This is the results of that. As you can see here, the first row in this table is telling us that for
three virtual machines, it’s recommending that if
we buy reserved instances, there’s a potential
yearly saving of $2,058. The second one here is a recommendation that applies
to nine virtual machines. If we write size or shut down
underutilized virtual machines, we can save up to $16,000. Finally, if we delete an IP address, we can save on up to a $142. It’s recommending that because
it’s not associated with any particular running
Azure resource at the moment. Let’s pick the middle one. Here are all the recommendations
related to right-sizing. For every recommendation, you
can postpone or dismiss it. We can click here and immediately resize the machine as
recommended or shut it down if we happen to
know that it’s not needed or we can view usage patterns. When we click on “View
usage patterns” we can pick whatever variable
we’re interested in. For example, let’s look at
percentage CPU and immediately, we can see the percentage of CPU utilization for
that particular resource. Here we can see that it’s
running at about 0.35 percent. Definitely a candidate
for downsizing. It’s barely ticking alone. So as you can see with
a very minimal amount of effort, by going in and looking
at Azure Advisor, you can see recommendations as to how to save a great deal of money. Finally, let’s look at our current
road-map as of March 2019. Currently, Azure Cost Management for EA and Gulf Cloud customers
is generally available. As you can see, we’re expecting to
support web direct customers by mid year and to have a public
preview of AWS also by mid year. In the second half of the year, we should also see support for AWS as it becomes
generally available. We should also see support for CSP customers in
the second half of the year. In that same time-frame, we should also see support
for cost allocation. So hopefully that provides all the information you
need to get started today and better manage your Cloud cost with
Azure Cost Management. Don’t forget to use Azure Advisor
to save money by rightsizing resources and using Azure
Reservations when it makes sense. So all the best with
Azure Cost Management. Here is a list of resources, you may find helpful. So I’d just like to say,
thanks for listening. I hope you found
this session informative, so will be helpful in
your future cost management. Thanks again for listening
and bye for now.

Leave a Reply

Your email address will not be published. Required fields are marked *