1
00:00:00,000 --> 00:00:03,520
So let me ask you something, when was the last time you actually looked at your Azure

2
00:00:03,520 --> 00:00:06,440
build line by line, not just the total?

3
00:00:06,440 --> 00:00:09,920
If you're like most people you probably never did, or only when a surprise bill made

4
00:00:09,920 --> 00:00:12,080
you panic, here's the thing about cloud computing.

5
00:00:12,080 --> 00:00:13,120
Most people think it's cheap.

6
00:00:13,120 --> 00:00:17,040
You spin up a virtual machine, pay for what you use and the costs are supposed to be tiny

7
00:00:17,040 --> 00:00:18,920
compared to buying your own servers.

8
00:00:18,920 --> 00:00:20,360
And that's true until it isn't.

9
00:00:20,360 --> 00:00:24,360
The problem is that the cloud follows a pay as you go model, which sounds great in theory.

10
00:00:24,360 --> 00:00:27,640
But in practice, you're not just paying for what you use, you're also paying for what

11
00:00:27,640 --> 00:00:29,640
you're not using, but still running.

12
00:00:29,640 --> 00:00:34,360
According to Flexera's 2024 state of the cloud report, organizations waste an average of

13
00:00:34,360 --> 00:00:39,320
32% of their cloud spend, meaning nearly a third of every dollar you put into Azure is

14
00:00:39,320 --> 00:00:40,680
money down the drain.

15
00:00:40,680 --> 00:00:44,880
By the end of this episode, you'll understand exactly what Azure cost management is, why

16
00:00:44,880 --> 00:00:49,080
it matters, and how to use it so you never get a surprise bill again.

17
00:00:49,080 --> 00:00:51,160
Grab your coffee and let's dive in.

18
00:00:51,160 --> 00:00:54,200
The horror stories, real people, real bills, consider Troy Hunt.

19
00:00:54,200 --> 00:00:57,840
You might know him as the security researcher who runs, have I been powned, the website

20
00:00:57,840 --> 00:01:00,400
where you check if your email has been leaked in a data breach.

21
00:01:00,400 --> 00:01:03,760
He's a cloud expert, someone who's been doing this for years.

22
00:01:03,760 --> 00:01:10,080
One morning, he woke up to an Azure bill for AU $11,000, about $8,000 US dollars in a single

23
00:01:10,080 --> 00:01:11,080
month.

24
00:01:11,080 --> 00:01:12,600
The cause was a cloud flare caching issue.

25
00:01:12,600 --> 00:01:17,400
His downloadable password hash files had grown past the 15 gigabyte cash limit, so every single

26
00:01:17,400 --> 00:01:19,920
request hit Azure storage account directly.

27
00:01:19,920 --> 00:01:25,000
Each spike was 17.3 gigabyte of egress bandwidth, and he didn't know about it until the bill arrived.

28
00:01:25,000 --> 00:01:27,240
Now, Troy's story is bad, but it's not the worst.

29
00:01:27,240 --> 00:01:31,040
There's a story from Hacker News about a startup that hired an AWS expert to manage their

30
00:01:31,040 --> 00:01:32,240
infrastructure.

31
00:01:32,240 --> 00:01:35,920
He made a provisioning mistake, spinning up too many expensive instances for testing and

32
00:01:35,920 --> 00:01:37,640
leaving them running overnight.

33
00:01:37,640 --> 00:01:42,600
The company's daily usage jumped from $300 to $27,000 overnight, and the startup didn't

34
00:01:42,600 --> 00:01:43,600
survive.

35
00:01:43,600 --> 00:01:47,320
The founder said he went back to shared PHP hosting after that, because the risk was just

36
00:01:47,320 --> 00:01:48,480
too high.

37
00:01:48,480 --> 00:01:52,880
Then there's the SaaS company that got a $500,000 bill, doubled their usual spend.

38
00:01:52,880 --> 00:01:56,200
The cause was a perfect storm of zombie resources.

39
00:01:56,200 --> 00:02:01,080
All machines no longer needed, but still running over provision databases and forgotten storage

40
00:02:01,080 --> 00:02:03,880
volumes accruing charges for months.

41
00:02:03,880 --> 00:02:05,160
Nobody was watching.

42
00:02:05,160 --> 00:02:08,800
And here's one that should terrify anyone who's ever committed code to a repository.

43
00:02:08,800 --> 00:02:12,920
A new employee accidentally committed AWS credentials to a public GitHub repo.

44
00:02:12,920 --> 00:02:17,880
Within hours, automated bots scraped those credentials and launched thousands of instances worldwide

45
00:02:17,880 --> 00:02:19,280
to mine cryptocurrency.

46
00:02:19,280 --> 00:02:21,920
The bill came to $100,000 in a matter of hours.

47
00:02:21,920 --> 00:02:23,080
The company was lucky.

48
00:02:23,080 --> 00:02:26,280
AWS dropped the charges, but that's not guaranteed.

49
00:02:26,280 --> 00:02:28,680
Here's the common thread in every single one of these stories.

50
00:02:28,680 --> 00:02:31,080
No budgets, no alerts, no visibility.

51
00:02:31,080 --> 00:02:33,560
These aren't technical failures, they're visibility failures.

52
00:02:33,560 --> 00:02:36,840
The cloud was working exactly as designed, but nobody was watching.

53
00:02:36,840 --> 00:02:39,320
Why cost management is non-negotiable?

54
00:02:39,320 --> 00:02:43,280
Cloud follows a pay as you go model, which sounds great until you realize you're paying for

55
00:02:43,280 --> 00:02:45,360
stuff you're not even using.

56
00:02:45,360 --> 00:02:48,800
It's like using a credit card without ever checking your monthly statement.

57
00:02:48,800 --> 00:02:51,960
You don't realize how much you're spending until the bill arrives and by then it's

58
00:02:51,960 --> 00:02:52,960
too late.

59
00:02:52,960 --> 00:02:53,960
What does that matter?

60
00:02:53,960 --> 00:02:58,320
Because every dollar you waste on idle resources is a dollar you could be using to grow your business.

61
00:02:58,320 --> 00:03:00,000
Here's a number that might shock you.

62
00:03:00,000 --> 00:03:04,160
Idle and oversized virtual machines account for about 90% of cloud waste.

63
00:03:04,160 --> 00:03:05,800
That's not a typo, 90%.

64
00:03:05,800 --> 00:03:10,240
And that translates to 10 to 18% of your total compute costs that you could recover just

65
00:03:10,240 --> 00:03:13,000
by right sizing or shutting down what you don't need.

66
00:03:13,000 --> 00:03:14,000
Think about that for a second.

67
00:03:14,000 --> 00:03:18,520
If you're spending $10,000 a month on compute, you could be throwing away $10,800 on machines

68
00:03:18,520 --> 00:03:21,400
that are either too big for the job or sitting completely idle.

69
00:03:21,400 --> 00:03:23,760
But even test environments are a big part of the problem.

70
00:03:23,760 --> 00:03:28,840
A VM that runs 24/7 but only gets used during business hours is wasting about 60 hours

71
00:03:28,840 --> 00:03:34,400
per week, which adds up to over two full months of unnecessary compute per year per VM.

72
00:03:34,400 --> 00:03:38,720
If you've got five dev VMs running around the clock, you're paying for 10 months of compute

73
00:03:38,720 --> 00:03:39,720
you're not using.

74
00:03:39,720 --> 00:03:41,400
And that's just one VM.

75
00:03:41,400 --> 00:03:45,080
Multiply that across your entire environment and the numbers get scary.

76
00:03:45,080 --> 00:03:48,720
Then there are orphaned resources, disks that were attached to a VM you deleted months

77
00:03:48,720 --> 00:03:53,240
ago, public IP addresses that are allocated but not assigned to anything and snapshots of

78
00:03:53,240 --> 00:03:55,560
old databases you don't need anymore.

79
00:03:55,560 --> 00:03:56,560
These things add up.

80
00:03:56,560 --> 00:04:00,880
According to the FinOps 2026 waste playbook, orphaned resources can account for 2 to 5% of

81
00:04:00,880 --> 00:04:02,120
your total spend.

82
00:04:02,120 --> 00:04:05,560
And it doesn't sound like much until you realize that's money you're paying for absolutely

83
00:04:05,560 --> 00:04:06,560
nothing.

84
00:04:06,560 --> 00:04:09,960
The worst part, you might not even know they're there until you run a cost analysis.

85
00:04:09,960 --> 00:04:11,400
So here's the bottom line.

86
00:04:11,400 --> 00:04:12,680
Cost management isn't optional.

87
00:04:12,680 --> 00:04:15,480
It's not something you think about after you get a big bill.

88
00:04:15,480 --> 00:04:19,640
It's a must have practice from day one, whether you're a solo developer with a free trial

89
00:04:19,640 --> 00:04:22,240
or a company spending millions on Azure.

90
00:04:22,240 --> 00:04:24,360
What Azure cost management actually is.

91
00:04:24,360 --> 00:04:27,840
So now that we've seen what happens when you don't watch your cloud costs, let's talk

92
00:04:27,840 --> 00:04:30,960
about the tool that stops it from happening to you.

93
00:04:30,960 --> 00:04:34,640
Azure cost management is a built in Azure service that's already there, included with your

94
00:04:34,640 --> 00:04:36,720
subscription at no extra cost.

95
00:04:36,720 --> 00:04:37,720
And it does four things.

96
00:04:37,720 --> 00:04:41,480
It lets you monitor, analyze, control and optimize your cloud spending.

97
00:04:41,480 --> 00:04:43,120
Think of it like an office building.

98
00:04:43,120 --> 00:04:44,960
First analysis is the reception desk.

99
00:04:44,960 --> 00:04:48,680
It tells you who's coming in and out where people are going and what they're doing.

100
00:04:48,680 --> 00:04:51,920
Budgets are the security guard setting limits on who can go where and how much access they

101
00:04:51,920 --> 00:04:52,920
have.

102
00:04:52,920 --> 00:04:55,680
And alerts are the fire alarm going off when something's wrong.

103
00:04:55,680 --> 00:04:58,320
So you can deal with it before the whole building burns down.

104
00:04:58,320 --> 00:05:00,560
Let's break it down into the major components.

105
00:05:00,560 --> 00:05:02,680
So you can see how each piece fits.

106
00:05:02,680 --> 00:05:05,760
Now here's the thing as your cost management isn't just a billing tool.

107
00:05:05,760 --> 00:05:06,760
It's a governance tool.

108
00:05:06,760 --> 00:05:10,800
It gives you full visibility and control over every dollar you spend in Azure.

109
00:05:10,800 --> 00:05:14,680
Just it you can view your total spend, track costs by individual resource or resource group

110
00:05:14,680 --> 00:05:19,320
or subscription, analyze spending trends over time, set budgets with alerts and get cost-saving

111
00:05:19,320 --> 00:05:21,280
recommendations from Azure advisor.

112
00:05:21,280 --> 00:05:25,720
And all of this is available at different levels like your billing account, your subscription

113
00:05:25,720 --> 00:05:27,680
or even a single resource group.

114
00:05:27,680 --> 00:05:28,960
And here's the best part.

115
00:05:28,960 --> 00:05:33,520
All of this is built right into Azure, no extra setup required.

116
00:05:33,520 --> 00:05:37,160
One thing that surprises people is how often the cost data refreshes.

117
00:05:37,160 --> 00:05:39,840
Azure updates your cost data every four hours.

118
00:05:39,840 --> 00:05:45,240
So if you spin up a new VM at 10 AM, you'll see it reflected in cost analysis by 2 PM.

119
00:05:45,240 --> 00:05:49,240
And for build charges, the actual finalized numbers, those are available within 72 hours

120
00:05:49,240 --> 00:05:50,720
after the invoices issued.

121
00:05:50,720 --> 00:05:53,240
That's fast enough to catch problems early, but it's not instant.

122
00:05:53,240 --> 00:05:55,120
So you still need alerts as your safety net.

123
00:05:55,120 --> 00:05:59,520
So set up those alerts early and you'll sleep better at night.

124
00:05:59,520 --> 00:06:02,800
The billing hierarchy, understanding where your money lives.

125
00:06:02,800 --> 00:06:05,320
This is where your money actually lives in the cloud.

126
00:06:05,320 --> 00:06:06,320
Let's dive in.

127
00:06:06,320 --> 00:06:10,680
Here's the thing, Azure has two separate hierarchies that control where your money goes and they

128
00:06:10,680 --> 00:06:12,360
cross at the subscription level.

129
00:06:12,360 --> 00:06:14,040
That's where most people get confused.

130
00:06:14,040 --> 00:06:16,160
The first hierarchy is the billing hierarchy.

131
00:06:16,160 --> 00:06:18,160
It's how Microsoft tracks who pays for what?

132
00:06:18,160 --> 00:06:23,000
It goes like this, billing account, then billing profile, then invoice section, then subscription.

133
00:06:23,000 --> 00:06:25,640
Your billing account is your overall agreement with Microsoft.

134
00:06:25,640 --> 00:06:29,280
Within that, you have billing profiles, each representing a different invoice.

135
00:06:29,280 --> 00:06:32,960
Each billing profile can have invoice sections, which are like categories on your bill, and

136
00:06:32,960 --> 00:06:35,840
each invoice section links to one or more subscriptions.

137
00:06:35,840 --> 00:06:38,560
The second hierarchy is the resource hierarchy.

138
00:06:38,560 --> 00:06:41,040
This is how you actually deploy and manage your services.

139
00:06:41,040 --> 00:06:44,880
It goes management group, then subscription, then resource group, then resource.

140
00:06:44,880 --> 00:06:47,760
Management groups let you organize subscriptions.

141
00:06:47,760 --> 00:06:49,960
Subscriptions are the containers where billing happens.

142
00:06:49,960 --> 00:06:52,600
Resource groups are folders that hold related resources.

143
00:06:52,600 --> 00:06:55,080
And resources are the actual services you're paying for.

144
00:06:55,080 --> 00:06:57,480
VMs, databases, storage accounts.

145
00:06:57,480 --> 00:06:58,480
So why does this matter?

146
00:06:58,480 --> 00:07:02,160
Because knowing where your money is going means knowing which subscription, which resource

147
00:07:02,160 --> 00:07:04,760
group, and which individual resource is costing you.

148
00:07:04,760 --> 00:07:07,960
If you can't trace a charge back to a specific resource, you can't fix it.

149
00:07:07,960 --> 00:07:09,440
But here's the problem.

150
00:07:09,440 --> 00:07:11,560
Invoice sections don't relate to resource groups directly.

151
00:07:11,560 --> 00:07:15,760
Your finance team might see a charge in an invoice section called marketing department,

152
00:07:15,760 --> 00:07:20,480
but the actual resource could be in a resource group called web app prod that nobody in finance

153
00:07:20,480 --> 00:07:21,520
knows about.

154
00:07:21,520 --> 00:07:22,960
That creates allocation gaps.

155
00:07:22,960 --> 00:07:25,720
You know how much you're spending, but you don't know who's responsible.

156
00:07:25,720 --> 00:07:26,960
This is where tags come in.

157
00:07:26,960 --> 00:07:29,440
Tags are simple key value payers you attach to resources.

158
00:07:29,440 --> 00:07:35,120
Things like project ABC one on two three or department marketing or environment production.

159
00:07:35,120 --> 00:07:38,440
They're the bridge between the billing hierarchy and the resource hierarchy.

160
00:07:38,440 --> 00:07:42,920
With tags, you can slice your costs by project, department, environment, or anything else that

161
00:07:42,920 --> 00:07:44,840
makes sense for your organization.

162
00:07:44,840 --> 00:07:49,000
And a single resource can have up to 50 tags so you can be as granular as you want.

163
00:07:49,000 --> 00:07:50,480
The key takeaway is simple.

164
00:07:50,480 --> 00:07:53,080
If you're not tagging your resources, you're flying blind.

165
00:07:53,080 --> 00:07:56,440
You might know your total bill, but you won't know which team, which project, or which

166
00:07:56,440 --> 00:07:58,640
environment is driving those costs.

167
00:07:58,640 --> 00:08:03,040
And without that information, you can't optimize anything.

168
00:08:03,040 --> 00:08:07,280
Cost analysis, your financial dashboard, so you've got your tags in place, you understand

169
00:08:07,280 --> 00:08:08,280
the hierarchy.

170
00:08:08,280 --> 00:08:10,120
Now, where does all that money actually go?

171
00:08:10,120 --> 00:08:11,800
That's what cost analysis is for.

172
00:08:11,800 --> 00:08:14,320
It's the main dashboard inside as your cost management.

173
00:08:14,320 --> 00:08:18,200
And it lets you see every dollar you've spent broken down by service, location, resource

174
00:08:18,200 --> 00:08:19,440
group, or tag.

175
00:08:19,440 --> 00:08:23,240
When you open cost analysis and see your total spend for the month, that's useful, but

176
00:08:23,240 --> 00:08:24,240
not very helpful.

177
00:08:24,240 --> 00:08:27,120
What you really want to know is which services are eating up that budget.

178
00:08:27,120 --> 00:08:30,560
So you group by service name, and suddenly the picture becomes clear.

179
00:08:30,560 --> 00:08:35,120
Maybe 60% of your spend comes from a single application gateway, or a bastion service that's

180
00:08:35,120 --> 00:08:39,320
been running since you set up your VNet months ago, or a SQL database that's way bigger

181
00:08:39,320 --> 00:08:40,680
than it needs to be.

182
00:08:40,680 --> 00:08:42,800
That's the kind of inside cost analysis gives you.

183
00:08:42,800 --> 00:08:46,560
There's also a forecast line that shows you where your total spend is headed if nothing

184
00:08:46,560 --> 00:08:47,560
changes.

185
00:08:47,560 --> 00:08:50,760
So if you're on track to blow past your budget by the end of the month, you'll see it

186
00:08:50,760 --> 00:08:52,000
before it happens.

187
00:08:52,000 --> 00:08:53,200
Then you can take action.

188
00:08:53,200 --> 00:08:57,040
Right size of VM, shut down a dev environment, or delete an orphaned disk.

189
00:08:57,040 --> 00:08:58,840
You can switch between different views.

190
00:08:58,840 --> 00:09:01,640
Daily cost shows the day by day breakdown.

191
00:09:01,640 --> 00:09:03,880
Accumulated cost shows the running total for the month.

192
00:09:03,880 --> 00:09:07,440
View by resource to see individual charges or by service to see which Azure services

193
00:09:07,440 --> 00:09:08,840
are costing you the most.

194
00:09:08,840 --> 00:09:11,360
And once you start using tags, this becomes really powerful.

195
00:09:11,360 --> 00:09:15,440
You can filter by tag to see exactly how much a specific project, team, or environment

196
00:09:15,440 --> 00:09:16,440
is costing.

197
00:09:16,440 --> 00:09:18,960
The real power of cost analysis is drilling down.

198
00:09:18,960 --> 00:09:22,200
You started the subscription level, see your total spend, then drill into a resource

199
00:09:22,200 --> 00:09:23,200
group.

200
00:09:23,200 --> 00:09:25,200
From there, you drill into an individual resource.

201
00:09:25,200 --> 00:09:29,880
And suddenly you found the culprit, a single VM that's been running 24/7 for months, costing

202
00:09:29,880 --> 00:09:33,800
you hundreds of dollars when it should have been shut down after business hours.

203
00:09:33,800 --> 00:09:36,960
That's the kind of discovery that saves you real money.

204
00:09:36,960 --> 00:09:39,480
Budgets and alerts, your early warning system.

205
00:09:39,480 --> 00:09:42,720
Cost analysis shows you where you've been, but what about where you're going?

206
00:09:42,720 --> 00:09:45,480
That's where budgets and alerts come in as your early warning system, and they're the

207
00:09:45,480 --> 00:09:49,280
single most important thing you can set up to avoid the horror stories we talked about

208
00:09:49,280 --> 00:09:50,280
earlier.

209
00:09:50,280 --> 00:09:52,480
A budget is exactly what it sounds like.

210
00:09:52,480 --> 00:09:56,400
You set a spending limit at the subscription resource group or management group level,

211
00:09:56,400 --> 00:09:59,640
and then you configure alert thresholds that are percentages of that budget.

212
00:09:59,640 --> 00:10:03,840
You can set thresholds at 50%, 75%, 90%, and 100%.

213
00:10:03,840 --> 00:10:08,280
So if your monthly budget is 200 dollars, you'll get an email when you hit $100, then another

214
00:10:08,280 --> 00:10:11,800
at 150s, another at 180s, and another when you hit the limit.

215
00:10:11,800 --> 00:10:14,800
But here's the thing, budgets aren't just about getting emails.

216
00:10:14,800 --> 00:10:16,920
They can trigger automated responses.

217
00:10:16,920 --> 00:10:21,720
You can set up action groups that, when an alert fires, do things like shut down VMs,

218
00:10:21,720 --> 00:10:25,440
fail down resources, or even send a message to a team's channel or Slack.

219
00:10:25,440 --> 00:10:29,600
So if you hit 90% of your budget, you could have a logic app that automatically shuts down

220
00:10:29,600 --> 00:10:33,600
all non-production VMs until the next billing cycle starts.

221
00:10:33,600 --> 00:10:36,920
There are actually three types of alerts in Azure Cost Management.

222
00:10:36,920 --> 00:10:38,480
Budget alerts are the most common.

223
00:10:38,480 --> 00:10:41,920
They fire when you're spending crosses a threshold you set.

224
00:10:41,920 --> 00:10:45,440
Anomaly alerts are newer and more powerful because they use machine learning to detect

225
00:10:45,440 --> 00:10:46,960
unusual spending patterns.

226
00:10:46,960 --> 00:10:52,280
So if your daily spend suddenly spikes from 50 to $500, Azure will flag it as an anomaly

227
00:10:52,280 --> 00:10:56,320
and send you an alert even if you haven't set a specific budget for that scenario.

228
00:10:56,320 --> 00:10:59,400
Then there are scheduled alerts which are more like recurring reports.

229
00:10:59,400 --> 00:11:03,400
They send you a regular summary of your costs so you can stay on top of trends without

230
00:11:03,400 --> 00:11:05,440
having to log into the portal every day.

231
00:11:05,440 --> 00:11:07,000
Let me give you a real example.

232
00:11:07,000 --> 00:11:14,120
You set a monthly budget of $200 on your subscription and configure an alert at 75%, which is $150.

233
00:11:14,120 --> 00:11:17,920
A few weeks into the month, you get an email saying your spend has hit $150.

234
00:11:17,920 --> 00:11:22,180
You log into cost analysis, drill down and find that a development VM you spun up for testing

235
00:11:22,180 --> 00:11:23,280
is still running.

236
00:11:23,280 --> 00:11:25,080
You shut it down, problem solved.

237
00:11:25,080 --> 00:11:28,120
Without that alert, you would have kept paying for that VM until the bill arrived at the

238
00:11:28,120 --> 00:11:29,120
end of the month.

239
00:11:29,120 --> 00:11:30,120
Now there's a trap here.

240
00:11:30,120 --> 00:11:31,920
It's called "Set it and forget it."

241
00:11:31,920 --> 00:11:35,320
You set up a budget, configure alerts, and then never look at it again.

242
00:11:35,320 --> 00:11:38,520
That's a mistake because budgets need regular review and adjustment.

243
00:11:38,520 --> 00:11:42,320
Your spending patterns change, your workloads change, your team grows.

244
00:11:42,320 --> 00:11:46,520
At $200 budget, you set last quarter might be completely unrealistic now or it might be

245
00:11:46,520 --> 00:11:49,080
too generous and your missing opportunities to save.

246
00:11:49,080 --> 00:11:50,680
So here's a starting point.

247
00:11:50,680 --> 00:11:56,600
Create one budget at the subscription level with alerts at 50% 75%, 90% and 100%.

248
00:11:56,600 --> 00:12:00,640
Rute those alerts to an email distribution list that includes both your finance team and

249
00:12:00,640 --> 00:12:02,120
your engineering leads.

250
00:12:02,120 --> 00:12:04,800
Review the budget monthly and adjust it as needed.

251
00:12:04,800 --> 00:12:08,160
And if you're feeling ambitious, set up an action group that automatically shuts down

252
00:12:08,160 --> 00:12:12,640
non-production resources when you hit 90%, that's a safety net that can save you thousands of

253
00:12:12,640 --> 00:12:14,200
dollars.

254
00:12:14,200 --> 00:12:16,160
Saving money without sacrificing performance.

255
00:12:16,160 --> 00:12:18,680
So now you know how to track your spending and set up alerts.

256
00:12:18,680 --> 00:12:22,520
But the real question is probably on your mind, how do you actually spend less without breaking

257
00:12:22,520 --> 00:12:23,520
your infrastructure?

258
00:12:23,520 --> 00:12:27,400
The good news is, as your gives you several ways to save money that don't require you to sacrifice

259
00:12:27,400 --> 00:12:31,680
performance, the biggest savings come from committing to Azure for the long term.

260
00:12:31,680 --> 00:12:35,320
Reserved instances let you commit to using a specific VM size in a specific region for

261
00:12:35,320 --> 00:12:36,600
one or three years.

262
00:12:36,600 --> 00:12:41,600
And in exchange you get a discount of up to 72% compared to pay as you go pricing.

263
00:12:41,600 --> 00:12:45,600
So if you've got a production database that's been running 24/7 for the past six months and

264
00:12:45,600 --> 00:12:48,720
you know it's not going anywhere, buying a reserved instance for it is basically free

265
00:12:48,720 --> 00:12:49,720
money.

266
00:12:49,720 --> 00:12:51,320
You're going to run that VM anyway.

267
00:12:51,320 --> 00:12:53,000
Why not pay less for it?

268
00:12:53,000 --> 00:12:54,800
But reserved instances have a catch.

269
00:12:54,800 --> 00:12:57,360
They're tied to a specific VM family in region.

270
00:12:57,360 --> 00:13:01,040
If you switch to a different VM size or move your workload to a different Azure region,

271
00:13:01,040 --> 00:13:02,680
your reservation doesn't apply.

272
00:13:02,680 --> 00:13:04,920
That's where the Azure savings plan for compute comes in.

273
00:13:04,920 --> 00:13:08,920
It's more flexible because you commit to a certain hourly spend on compute services and

274
00:13:08,920 --> 00:13:11,000
you get up to 65% off.

275
00:13:11,000 --> 00:13:13,840
The difference is it applies to any compute service across any region.

276
00:13:13,840 --> 00:13:16,600
So if your workload shift over time, you're still covered.

277
00:13:16,600 --> 00:13:19,240
For most organizations, the savings plan is the better choice.

278
00:13:19,240 --> 00:13:23,800
Unless you have very stable, predictable workloads, then there's Azure Hybrid Benefit,

279
00:13:23,800 --> 00:13:27,480
which is for organizations that already have Windows Server or SQL Server licenses with

280
00:13:27,480 --> 00:13:28,720
software assurance.

281
00:13:28,720 --> 00:13:33,720
You can bring those licenses to Azure and save up to 40% on Windows VMs and up to 55%

282
00:13:33,720 --> 00:13:35,080
on SQL workloads.

283
00:13:35,080 --> 00:13:36,280
And here's the best part.

284
00:13:36,280 --> 00:13:41,080
You can combine Hybrid Benefit with reserved instances so you could get 72% off with a

285
00:13:41,080 --> 00:13:45,400
reservation and then stack another 40% on top of Hybrid Benefit giving you a total savings

286
00:13:45,400 --> 00:13:48,520
over 80% compared to standard pay as you go pricing.

287
00:13:48,520 --> 00:13:51,440
The catch is you have to enable it manually on each VM.

288
00:13:51,440 --> 00:13:52,640
It's not automatic.

289
00:13:52,640 --> 00:13:56,600
So if you've got Windows VMs running in Azure and you haven't checked whether Hybrid Benefit

290
00:13:56,600 --> 00:13:59,360
is enabled, you're probably leaving money on the table.

291
00:13:59,360 --> 00:14:03,360
For development and testing environments, the simplest way to save is auto shutdown.

292
00:14:03,360 --> 00:14:07,760
You can configure any VM to automatically shut down at 7pm and start back up at 7am which

293
00:14:07,760 --> 00:14:11,200
saves about 60 hours per week of unnecessary compute.

294
00:14:11,200 --> 00:14:14,680
For a single VM, that's the equivalent of running it for free for two and a half days

295
00:14:14,680 --> 00:14:15,680
every week.

296
00:14:15,680 --> 00:14:20,160
If you've got 10 dev VMs, auto shutdown alone could save you thousands of dollars a year,

297
00:14:20,160 --> 00:14:22,320
right sizing is another easy win.

298
00:14:22,320 --> 00:14:27,200
Azure Advisor analyzes your VM utilization over the past 30 days and recommends downsizing

299
00:14:27,200 --> 00:14:29,120
VMs that are over-provisioned.

300
00:14:29,120 --> 00:14:34,880
If your VM has been running at 10% CPU utilization for a month, you don't need that 16 core machine.

301
00:14:34,880 --> 00:14:38,680
Advisor will tell you exactly which VMs to resize and how much you'll save and the best

302
00:14:38,680 --> 00:14:40,080
part is it's free.

303
00:14:40,080 --> 00:14:42,320
You don't need any additional tools.

304
00:14:42,320 --> 00:14:44,960
Before you deploy anything, use the Azure pricing calculator.

305
00:14:44,960 --> 00:14:49,040
It's a free web tool that lets you add services, configure them and see exactly what they'll

306
00:14:49,040 --> 00:14:50,800
cost before you spin anything up.

307
00:14:50,800 --> 00:14:55,200
You can save your estimates and compare different configurations and it's the best way to avoid

308
00:14:55,200 --> 00:14:57,840
that I didn't know it would cost that much moment.

309
00:14:57,840 --> 00:14:59,640
And finally, there are spot instances.

310
00:14:59,640 --> 00:15:03,640
These are spare compute capacity that Azure sells at a discount of up to 90%.

311
00:15:03,640 --> 00:15:08,280
The catch is Azure can reclaim that capacity at any time with just 30 seconds notice.

312
00:15:08,280 --> 00:15:13,440
So you can only use spot instances for workloads that can handle interruptions, batch processing,

313
00:15:13,440 --> 00:15:15,200
rendering jobs or testing.

314
00:15:15,200 --> 00:15:18,920
But for those workloads, the savings are enormous.

315
00:15:18,920 --> 00:15:20,720
Building a cost-conscious culture.

316
00:15:20,720 --> 00:15:22,760
Here's the thing about all these tools and techniques.

317
00:15:22,760 --> 00:15:24,880
They don't work if nobody uses them.

318
00:15:24,880 --> 00:15:27,920
This management isn't just a finance problem, it's an engineering problem.

319
00:15:27,920 --> 00:15:31,360
If your developers don't understand what things cost, they'll keep spinning up expensive

320
00:15:31,360 --> 00:15:35,520
VMs and leaving them running because the tools are only as good as the culture around them.

321
00:15:35,520 --> 00:15:36,920
The first step is tagging.

322
00:15:36,920 --> 00:15:40,480
Tag every resource from day one with project environment, cost, center and owner.

323
00:15:40,480 --> 00:15:41,960
If it's not tagged, it's invisible.

324
00:15:41,960 --> 00:15:46,480
You can't track what you can't see, so don't rely on people remembering to tag things manually.

325
00:15:46,480 --> 00:15:49,440
Use Azure policy to enforce tagging rules automatically.

326
00:15:49,440 --> 00:15:53,160
You can set up a policy that depends tags to any resource that doesn't have them, or

327
00:15:53,160 --> 00:15:56,600
one that denies deployment entirely of required tags are missing.

328
00:15:56,600 --> 00:15:58,640
That makes tagging automatic and not optional.

329
00:15:58,640 --> 00:16:03,120
You'll also want to run regular cost reviews where every team has a monthly 30 minute meeting

330
00:16:03,120 --> 00:16:07,840
to look at their Azure costs, ask what changed, what's costing more than expected, and

331
00:16:07,840 --> 00:16:10,440
if there are any orphaned resources or idle VMs.

332
00:16:10,440 --> 00:16:14,440
This isn't a finance meeting, it's an engineering meeting, so the people who deploy the resources

333
00:16:14,440 --> 00:16:16,320
should be the ones reviewing the costs.

334
00:16:16,320 --> 00:16:18,080
And that brings us to responsibility.

335
00:16:18,080 --> 00:16:21,000
If you deploy it, you should understand what it costs.

336
00:16:21,000 --> 00:16:25,200
This should know that a D-Series VM costs more than a B-Series and that leaving a test environment

337
00:16:25,200 --> 00:16:27,560
running over the weekend costs real money.

338
00:16:27,560 --> 00:16:31,480
You don't need everyone to be a Finops expert, but they should have basic cost awareness.

339
00:16:31,480 --> 00:16:35,280
A simple dashboard showing each team's daily spend can change behavior overnight.

340
00:16:35,280 --> 00:16:39,360
The 80/20 rule applies here, which means 80% of your savings will come from 20% of your

341
00:16:39,360 --> 00:16:40,360
resources.

342
00:16:40,360 --> 00:16:44,520
Instead of trying to optimize everything at once, find your biggest spenders first, that

343
00:16:44,520 --> 00:16:49,520
application gateway, that oversized SQL database, or that dev environment that's been

344
00:16:49,520 --> 00:16:50,960
running for months.

345
00:16:50,960 --> 00:16:54,280
You'll see the biggest impact with the least effort.

346
00:16:54,280 --> 00:16:57,560
Now there is a limit to what Azure Cost Management can do on its own.

347
00:16:57,560 --> 00:17:01,800
If you're running multiple clouds, need complex chargeback models, or need to show back costs

348
00:17:01,800 --> 00:17:05,600
to individual business units, the native tools can start to feel limited.

349
00:17:05,600 --> 00:17:09,080
That's when you look at Finops tools or third party solutions like Cloud Health or Cloud

350
00:17:09,080 --> 00:17:10,080
Ability.

351
00:17:10,080 --> 00:17:14,520
But for most organizations, Azure Cost Management is more than enough to get started and

352
00:17:14,520 --> 00:17:15,960
save real money.

353
00:17:15,960 --> 00:17:17,960
So here's what you've learned today.

354
00:17:17,960 --> 00:17:22,160
Azure Cost Management turns cloud spending from a black box into a transparent dashboard.

355
00:17:22,160 --> 00:17:26,120
You can see where your money goes, set budgets to catch problems early, and use discounts

356
00:17:26,120 --> 00:17:29,240
and automation to save without sacrificing performance.

357
00:17:29,240 --> 00:17:30,280
Here's your homework.

358
00:17:30,280 --> 00:17:33,280
This week, set one budget and one alert on your subscription.

359
00:17:33,280 --> 00:17:36,720
Pick a threshold you're comfortable with and configure email notifications.

360
00:17:36,720 --> 00:17:39,880
It takes about five minutes and it's the single most effective thing you can do to avoid

361
00:17:39,880 --> 00:17:41,160
a surprise bill.

362
00:17:41,160 --> 00:17:46,200
Then, spend 15 minutes in cost analysis, drilling into your top three services by cost.

363
00:17:46,200 --> 00:17:47,480
Look at what's actually running.

364
00:17:47,480 --> 00:17:51,640
I guarantee you'll find something you can optimize like a VM that's too big, a dev environment

365
00:17:51,640 --> 00:17:54,920
that should be shut down at night or a disc that's been often for months.

366
00:17:54,920 --> 00:17:58,800
If you found this episode useful, subscribe on your favorite podcast platform and share

367
00:17:58,800 --> 00:18:01,600
it with someone who's just starting their cloud journey.

368
00:18:01,600 --> 00:18:02,800
We'll see you in the next episode.

