1
00:00:03,439 --> 00:00:05,919
Welcome to episode 399
2
00:00:05,919 --> 00:00:09,039
of the Microsoft Cloud IT Pro podcast recorded
3
00:00:09,039 --> 00:00:12,900
live from the MVP Summit on 03/28/2025.
4
00:00:13,199 --> 00:00:15,554
This is a show about Microsoft three sixty
5
00:00:15,554 --> 00:00:17,635
five and Azure from the perspective of IT
6
00:00:17,635 --> 00:00:19,875
pros and end users, where we discuss a
7
00:00:19,875 --> 00:00:21,875
topic or recent news and how it relates
8
00:00:21,875 --> 00:00:24,275
to you. This week, Ben and Scott get
9
00:00:24,275 --> 00:00:25,954
a chance to catch up with Greg Sutti
10
00:00:25,954 --> 00:00:27,175
at the MVP Summit.
11
00:00:27,554 --> 00:00:29,550
While there, Scott and Greg have a chance
12
00:00:29,550 --> 00:00:31,949
to sit down and discuss infrastructure as code
13
00:00:31,949 --> 00:00:34,350
in Azure. They discuss what Greg has been
14
00:00:34,350 --> 00:00:36,590
working on when it comes to Bicep, Azure
15
00:00:36,590 --> 00:00:40,530
verified modules, Bicep configuration files, and more.
16
00:00:42,829 --> 00:00:44,530
I'm here at MVP Summit
17
00:00:45,364 --> 00:00:47,364
with Gregor, who decided to sit down and
18
00:00:47,364 --> 00:00:48,824
was gracious enough to
19
00:00:49,284 --> 00:00:50,424
join us today.
20
00:00:50,964 --> 00:00:53,225
Gregor is an MVP
21
00:00:53,684 --> 00:00:54,664
in Microsoft
22
00:00:55,045 --> 00:00:55,545
Azure
23
00:00:56,085 --> 00:00:57,625
infrastructure and code,
24
00:00:58,140 --> 00:01:00,620
cost resource and configuration management, and probably a
25
00:01:00,620 --> 00:01:02,219
bunch of other things where it has a
26
00:01:02,219 --> 00:01:04,219
bunch of other skills. So, Gregor, why don't
27
00:01:04,219 --> 00:01:05,980
you take a couple minutes, go ahead, introduce
28
00:01:05,980 --> 00:01:07,900
yourself, and then we'll get into things. Thank
29
00:01:07,900 --> 00:01:09,740
you, Scott. Yeah. My name is Gregor Sutti.
30
00:01:09,740 --> 00:01:11,980
I'm an Azure architect for a company in
31
00:01:11,980 --> 00:01:12,560
The Netherlands.
32
00:01:13,064 --> 00:01:14,984
I am from Scotland, so I will try
33
00:01:14,984 --> 00:01:16,905
and speak slowly so that everyone can understand
34
00:01:16,905 --> 00:01:17,405
me.
35
00:01:18,024 --> 00:01:20,504
My background, I was a developer from from
36
00:01:20,504 --> 00:01:21,325
v b sixties,
37
00:01:21,704 --> 00:01:24,024
then I moved over to .net, and then
38
00:01:24,024 --> 00:01:25,465
I was doing SQL. So I've got a
39
00:01:25,465 --> 00:01:26,825
bit of a data background, but I have
40
00:01:26,825 --> 00:01:28,799
a development background, and then I moved to
41
00:01:28,880 --> 00:01:31,359
become an Azure architect for Intercept in The
42
00:01:31,359 --> 00:01:31,859
Netherlands.
43
00:01:32,159 --> 00:01:33,760
I have been doing that for five years
44
00:01:33,760 --> 00:01:36,180
now. Yeah. And I'm Azure MVP. I'm also
45
00:01:36,560 --> 00:01:38,480
an MCT, so I do a lot of
46
00:01:38,480 --> 00:01:41,635
Azure fundamentals training, Azure AI training. And, yeah,
47
00:01:41,635 --> 00:01:43,954
that's basically my background. Training near and dear
48
00:01:43,954 --> 00:01:46,355
to my heart. Mhmm. Love training. Love training.
49
00:01:46,355 --> 00:01:48,115
I probably annoyed a bunch of people. I
50
00:01:48,115 --> 00:01:49,475
I I was one of the writers for
51
00:01:49,475 --> 00:01:51,395
the AZ 100 before I became the one
52
00:01:51,395 --> 00:01:52,375
zero four. So
53
00:01:52,674 --> 00:01:53,715
you you get a lot of stuff in
54
00:01:53,715 --> 00:01:55,590
there to blame me for. Nice to know.
55
00:01:55,590 --> 00:01:56,950
So tell me a little bit about your
56
00:01:56,950 --> 00:01:59,189
experience as an MVP. I think folks always
57
00:01:59,189 --> 00:02:00,170
ask that question.
58
00:02:00,709 --> 00:02:02,650
Yeah. How do you come become an MVP?
59
00:02:02,950 --> 00:02:04,950
What goes into it? Like, what's your Lyft
60
00:02:04,950 --> 00:02:07,769
experience there? Good question. So, yeah, my background,
61
00:02:07,984 --> 00:02:09,905
I always wanted to be an MVP. I
62
00:02:09,905 --> 00:02:11,824
wasn't really sure what it was to begin
63
00:02:11,824 --> 00:02:13,504
with, so I reached out to one of
64
00:02:13,664 --> 00:02:16,064
another fellow Scottish person called Kenny Lowe, and
65
00:02:16,064 --> 00:02:17,584
I asked him and he told me quite
66
00:02:17,584 --> 00:02:19,584
a lot about the program. Really interested in
67
00:02:19,584 --> 00:02:20,944
it. I had to say to myself, I
68
00:02:20,944 --> 00:02:22,860
would love to become an MVP. So my
69
00:02:22,860 --> 00:02:24,700
first step was I wrote the letters MVP
70
00:02:24,700 --> 00:02:26,379
above my monitor at home, and I thought
71
00:02:26,379 --> 00:02:27,819
that is my goal. I want to become
72
00:02:27,819 --> 00:02:29,740
an MVP. You you put together a vision
73
00:02:29,740 --> 00:02:31,020
board. No. I just put I just put
74
00:02:31,020 --> 00:02:32,620
the letters MVP right above it. I thought
75
00:02:32,620 --> 00:02:34,060
I'm gonna go for this. This is my
76
00:02:34,060 --> 00:02:36,115
goal. I started off I don't have any
77
00:02:36,115 --> 00:02:37,715
Azure experience, so I was working as a
78
00:02:37,715 --> 00:02:38,534
dot net developer.
79
00:02:38,835 --> 00:02:40,675
The cloud is obviously a big thing five,
80
00:02:40,675 --> 00:02:42,514
six years ago. I wanted to learn Azure,
81
00:02:42,514 --> 00:02:44,514
so I started off with just learning the
82
00:02:44,514 --> 00:02:46,594
exams. So I started off with the development
83
00:02:46,594 --> 00:02:49,400
exams, and I started off blogging about my
84
00:02:49,400 --> 00:02:53,239
experience of learning, like, the developer exams. Like,
85
00:02:53,239 --> 00:02:54,840
how am I what study material am I
86
00:02:54,840 --> 00:02:56,360
gonna do? How am I gonna go about
87
00:02:56,360 --> 00:02:58,840
learning this? I'm a hands on learner, so
88
00:02:58,840 --> 00:03:00,680
the way I learn is by I don't
89
00:03:00,680 --> 00:03:03,004
read much. Basically, I read the docs and
90
00:03:03,004 --> 00:03:05,245
then hands on learning. So open up the
91
00:03:05,245 --> 00:03:07,805
Azure portal, deploy the resources, and learn from
92
00:03:07,805 --> 00:03:10,044
that. Then I did some practice tests, took
93
00:03:10,044 --> 00:03:11,485
the exam and failed it the first time
94
00:03:11,485 --> 00:03:14,125
around because I didn't have enough hands on
95
00:03:14,125 --> 00:03:16,044
experience. I thought I knew enough to pass
96
00:03:16,044 --> 00:03:17,490
the exam, but it turned out I didn't.
97
00:03:17,490 --> 00:03:18,770
So I took a lot of learnings from
98
00:03:18,770 --> 00:03:20,610
that, but I needed to spend more time
99
00:03:20,610 --> 00:03:22,530
hands on. Took the exam again and passed
100
00:03:22,530 --> 00:03:25,169
it, and today, as of now, I've done
101
00:03:25,169 --> 00:03:27,969
13 exams. So I am quite exam heavy.
102
00:03:27,969 --> 00:03:30,450
Kind of got a routine of studying hands
103
00:03:30,450 --> 00:03:33,125
on, looking at the docs, blogging about my
104
00:03:33,125 --> 00:03:35,145
experiences of what I've learned, what you need
105
00:03:35,205 --> 00:03:37,685
to focus on for the exams. And, yeah,
106
00:03:37,685 --> 00:03:40,085
from that, I then started attending the Glasgow
107
00:03:40,085 --> 00:03:42,645
Azure user group where Sarah Lynn runs that.
108
00:03:42,645 --> 00:03:44,724
She approached me because I was going quite
109
00:03:44,724 --> 00:03:45,224
regular,
110
00:03:45,770 --> 00:03:46,969
and she said, would you like to help?
111
00:03:46,969 --> 00:03:49,050
So I'm kinda helping her with that. That
112
00:03:49,129 --> 00:03:51,849
that's been very helpful for MVP. So I've
113
00:03:51,849 --> 00:03:52,590
been blogging.
114
00:03:52,889 --> 00:03:54,030
I would do some talks
115
00:03:54,330 --> 00:03:56,169
and helping out the Azure user group. So
116
00:03:56,169 --> 00:03:57,930
that's kinda how I got started in becoming
117
00:03:57,930 --> 00:03:59,865
an MVP. And a lot of people reach
118
00:03:59,865 --> 00:04:01,705
out to me on LinkedIn and say, how
119
00:04:01,705 --> 00:04:03,705
do I become an MVP? So I always
120
00:04:03,705 --> 00:04:05,625
say it's all about the community. It's all
121
00:04:05,625 --> 00:04:09,064
about giving back. So whatever you learn, blog
122
00:04:09,064 --> 00:04:11,625
it, write about it, share your knowledge, share
123
00:04:11,625 --> 00:04:13,625
your things you've run into. Lots of times
124
00:04:13,625 --> 00:04:16,069
I Google for for an issue and I
125
00:04:16,069 --> 00:04:17,269
end up look at ended up on my
126
00:04:17,269 --> 00:04:17,930
own blog.
127
00:04:18,310 --> 00:04:20,310
So I started blogging because I've got terrible
128
00:04:20,310 --> 00:04:22,889
memory. Oh, yeah. And sometimes I still still
129
00:04:22,949 --> 00:04:25,290
end up on my own blog. So, yeah,
130
00:04:25,509 --> 00:04:28,310
blogging, giving back to the community, user groups
131
00:04:28,310 --> 00:04:30,149
are always helpful. But I would say you
132
00:04:30,149 --> 00:04:31,645
don't have to a lot of people say
133
00:04:31,645 --> 00:04:33,165
that you'd have to do public speaking. I
134
00:04:33,165 --> 00:04:34,685
don't think you do. There's one of my
135
00:04:34,685 --> 00:04:37,084
friends, Thomas Thornton, he's got an amazing blog
136
00:04:37,084 --> 00:04:38,365
and that's all he does, and he's become
137
00:04:38,365 --> 00:04:41,084
an MVP from from blogging. He's not into
138
00:04:41,084 --> 00:04:43,564
public speaking. So just giving back to the
139
00:04:43,564 --> 00:04:45,699
community as much as possible is is kinda
140
00:04:45,699 --> 00:04:47,860
how you go about becoming an MVP. Gotcha.
141
00:04:47,860 --> 00:04:49,939
Yeah. One of the other things, or at
142
00:04:49,939 --> 00:04:51,939
least my experience there is I I I
143
00:04:51,939 --> 00:04:53,300
did a similar thing. I wanted to be
144
00:04:53,300 --> 00:04:55,219
an MVP. I never became an MVP, but
145
00:04:55,219 --> 00:04:57,459
that was okay because the things that I
146
00:04:57,459 --> 00:04:59,300
were doing, I still got to go out
147
00:04:59,300 --> 00:05:01,605
and meet people and interact with user groups.
148
00:05:01,605 --> 00:05:04,485
And that experience of like, yeah, oh, I
149
00:05:04,485 --> 00:05:06,324
just landed from Google on my own blog.
150
00:05:06,324 --> 00:05:08,404
Yep. It's definitely a thing that happens. So
151
00:05:08,404 --> 00:05:11,285
I I often tell folks don't do it
152
00:05:11,285 --> 00:05:12,725
with the expectation that you want to be
153
00:05:12,725 --> 00:05:13,925
in a VP. Absolutely. Do it with the
154
00:05:13,925 --> 00:05:15,625
expectation that you want to
155
00:05:15,980 --> 00:05:17,740
participate in a community. You want to become
156
00:05:17,740 --> 00:05:19,580
a better technical writer. You want to become
157
00:05:19,580 --> 00:05:22,620
a better presenter. Whatever dimension or or mix
158
00:05:22,620 --> 00:05:24,779
or match of those things are so that
159
00:05:24,779 --> 00:05:26,779
you're getting something out of it. Yeah. And
160
00:05:26,779 --> 00:05:29,339
and and that's really kind of the the
161
00:05:29,339 --> 00:05:30,764
goal and where you want to land. So
162
00:05:30,925 --> 00:05:33,025
I I I have to inquire. So your
163
00:05:33,245 --> 00:05:35,645
Azure infrastructure as code is one of your
164
00:05:35,645 --> 00:05:39,004
categories. Yep. Dot net developer. Yep. Have have
165
00:05:39,004 --> 00:05:40,285
you crossed to the dark side? Do you
166
00:05:40,285 --> 00:05:42,925
consider yourself an IT pro these days? No.
167
00:05:42,925 --> 00:05:44,925
I'm not an IT pro. Generalist. Yeah. I'm
168
00:05:44,925 --> 00:05:47,720
more so when I worked for JP Morgan,
169
00:05:47,720 --> 00:05:49,079
they came up with this term t shaped
170
00:05:49,079 --> 00:05:51,399
developer. So the idea is you are kind
171
00:05:51,399 --> 00:05:53,000
of broad, but you go deep in one
172
00:05:53,000 --> 00:05:54,360
area. So I thought that was quite good.
173
00:05:54,360 --> 00:05:56,680
So my not my problem, but my background
174
00:05:56,680 --> 00:05:58,199
is I am a bit of a master
175
00:05:58,199 --> 00:05:59,955
of a jack of all trades, master of
176
00:05:59,955 --> 00:06:01,555
none, and I decided I would try and
177
00:06:01,555 --> 00:06:03,634
do infrastructure as code as kinda my deep
178
00:06:03,634 --> 00:06:06,615
thing. So, yeah, I do data. I do
179
00:06:06,675 --> 00:06:09,895
AI. I do infrastructure as code, cost management.
180
00:06:09,955 --> 00:06:12,300
I do most of Azure. Probably the only
181
00:06:12,300 --> 00:06:14,220
thing I don't really do is EKS, and
182
00:06:14,220 --> 00:06:15,740
that's the one thing I've kinda because people
183
00:06:15,740 --> 00:06:17,180
at my work to do all that. And
184
00:06:17,180 --> 00:06:18,860
I'm like, you can you can stick with
185
00:06:18,860 --> 00:06:20,300
that and I'll do the rest. So, yeah,
186
00:06:20,300 --> 00:06:21,979
I get asked lots of questions about lots
187
00:06:21,979 --> 00:06:22,879
of different things.
188
00:06:23,180 --> 00:06:26,145
Infrastructure as code, and I have a very
189
00:06:26,145 --> 00:06:27,824
lucky background. I work for a lot of
190
00:06:27,824 --> 00:06:29,504
people, a lot of managers who taught me
191
00:06:29,504 --> 00:06:32,545
how to do things properly, document things, do
192
00:06:32,545 --> 00:06:34,625
pull requests with good comments, and and I
193
00:06:34,625 --> 00:06:36,064
was just I've just got a really good
194
00:06:36,064 --> 00:06:38,145
background for working for good people who showed
195
00:06:38,145 --> 00:06:39,504
me how to do it the right way.
196
00:06:39,504 --> 00:06:42,970
So infrastructure as code, build pipelines, doing everything
197
00:06:43,189 --> 00:06:45,189
professionally. So that's why I got into Bicep.
198
00:06:45,189 --> 00:06:46,949
I wanted to learn how to deploy resources
199
00:06:46,949 --> 00:06:47,610
for customers
200
00:06:48,069 --> 00:06:50,629
across different environments and do it properly. So,
201
00:06:50,629 --> 00:06:52,629
yeah, I'm a big Bicep fan. That that
202
00:06:52,629 --> 00:06:54,569
was gonna be my next question. Mhmm. So
203
00:06:55,264 --> 00:06:57,664
Azure Resource Manager arm has changed a bunch
204
00:06:57,664 --> 00:06:58,964
over the years Yep. From
205
00:06:59,425 --> 00:07:01,044
declarative templates to
206
00:07:01,824 --> 00:07:02,884
Bicep and
207
00:07:03,264 --> 00:07:05,904
and having a domain specific language and and
208
00:07:05,904 --> 00:07:06,564
a DSL.
209
00:07:07,370 --> 00:07:09,209
And there there are certainly folks out there,
210
00:07:09,209 --> 00:07:11,529
I think, that have done infrastructure as code
211
00:07:11,529 --> 00:07:13,789
either on the arm side. They've done maybe
212
00:07:13,849 --> 00:07:14,349
Terraform,
213
00:07:14,889 --> 00:07:16,649
tends to be like my canonical one that
214
00:07:16,649 --> 00:07:18,409
I go back to and and near and
215
00:07:18,409 --> 00:07:20,409
dear to my heart. How how how are
216
00:07:20,409 --> 00:07:20,909
you
217
00:07:21,404 --> 00:07:23,904
finding Bicep, like, the transition from
218
00:07:24,205 --> 00:07:27,264
traditional resource manager templates and and kinda
219
00:07:27,645 --> 00:07:29,904
coming over that? And then are you
220
00:07:30,605 --> 00:07:32,764
is are you just a a Bicep fan?
221
00:07:32,764 --> 00:07:34,764
Are you using it with customers? Like, how
222
00:07:34,764 --> 00:07:36,990
is how is kind of the getting past
223
00:07:36,990 --> 00:07:39,790
the documentation and the POCs to, hey, here's
224
00:07:39,790 --> 00:07:41,949
how this goes in the world for you?
225
00:07:41,949 --> 00:07:44,350
Great question. I did luckily, I didn't spend
226
00:07:44,350 --> 00:07:45,790
too much time in my career doing ARM
227
00:07:45,790 --> 00:07:47,710
templates because ARM templates are a little bit
228
00:07:47,710 --> 00:07:49,790
tricky to kinda understand. When you look at
229
00:07:49,790 --> 00:07:51,845
them, you're like, what is the dependency chain?
230
00:07:51,845 --> 00:07:53,925
How are things working? So I kind of
231
00:07:53,925 --> 00:07:55,605
got on board with Bicep from the very
232
00:07:55,605 --> 00:07:58,324
start. I open up Versus Code. I just
233
00:07:58,324 --> 00:08:00,725
write Bicep. I basically just learned it by,
234
00:08:00,725 --> 00:08:02,725
again, hands on. How do I deploy a
235
00:08:02,725 --> 00:08:05,125
storage account? Let's start with some simple deploy
236
00:08:05,125 --> 00:08:07,930
it like that. How do I parameterize it?
237
00:08:07,930 --> 00:08:09,769
How do I deploy it? Do I deploy
238
00:08:09,769 --> 00:08:11,129
it from my machine? Do I deploy it
239
00:08:11,129 --> 00:08:14,829
from Azure DevOps or GitHub workflows? Runners. Sorry.
240
00:08:14,889 --> 00:08:17,370
So, yeah, just learning it by hands on
241
00:08:17,370 --> 00:08:18,889
and doing it, and I've been doing it
242
00:08:18,889 --> 00:08:21,464
for five years now. Probably, I feel good
243
00:08:21,464 --> 00:08:22,584
at it now, I would suggest. I've got
244
00:08:22,584 --> 00:08:24,904
lots of experience. So when I'm at work,
245
00:08:24,904 --> 00:08:27,544
I always do infrastructure as code using Bicep.
246
00:08:27,544 --> 00:08:29,464
Everyone kinda asks me how to do things
247
00:08:29,464 --> 00:08:31,324
because I I spend probably
248
00:08:31,625 --> 00:08:32,504
70%
249
00:08:32,504 --> 00:08:34,605
of the week doing Bicep for different customers.
250
00:08:34,919 --> 00:08:36,279
Absolutely. I love it. I love the idea
251
00:08:36,279 --> 00:08:38,460
that I can show customers how to deploy
252
00:08:38,759 --> 00:08:41,419
their environment to dev and test in production
253
00:08:41,720 --> 00:08:44,279
using the same templates. So all of the
254
00:08:44,279 --> 00:08:47,000
same standards. The only difference is the config
255
00:08:47,000 --> 00:08:49,754
for the actual deployment resources. So dev might
256
00:08:49,754 --> 00:08:51,834
be a a cheap VM, and acceptance of
257
00:08:51,834 --> 00:08:53,754
prod might be a more expensive VM. So,
258
00:08:53,754 --> 00:08:55,914
yeah, I'm using Bicep a lot, and I
259
00:08:55,914 --> 00:08:57,834
absolutely love it. Even today, we're talking to
260
00:08:57,834 --> 00:08:59,914
the Bicep team, and I think that stuff's
261
00:08:59,914 --> 00:09:02,420
great. Gotcha. And and before we started recording,
262
00:09:02,420 --> 00:09:04,740
you had mentioned that some of the projects
263
00:09:04,740 --> 00:09:06,740
you work on with customers might be around
264
00:09:06,740 --> 00:09:08,519
migrations, things like that.
265
00:09:09,139 --> 00:09:11,399
How do you see your customers
266
00:09:12,019 --> 00:09:15,514
kinda going through those motions? And maybe if
267
00:09:15,514 --> 00:09:17,134
I'm migrating to Azure,
268
00:09:17,434 --> 00:09:19,194
I I I don't know your experience with
269
00:09:19,194 --> 00:09:21,115
it. I'd be curious to understand. I I
270
00:09:21,115 --> 00:09:22,714
see a lot of customers that kinda start
271
00:09:22,714 --> 00:09:24,235
in the portal, and they just go next,
272
00:09:24,235 --> 00:09:26,475
next, next. And I've I've got my virtual
273
00:09:26,475 --> 00:09:28,654
machine, and I've got my VNet. And
274
00:09:29,070 --> 00:09:30,750
oh oh, I I need a database. I
275
00:09:30,750 --> 00:09:32,929
might stand up like a PaaS instance, like
276
00:09:32,990 --> 00:09:35,070
manage instance, something like that. And then they
277
00:09:35,070 --> 00:09:36,670
do it once and they go, how do
278
00:09:36,670 --> 00:09:38,350
I do it again? Correct. And and and
279
00:09:38,350 --> 00:09:39,870
what does that look like? So I'm curious
280
00:09:39,870 --> 00:09:41,090
like, do your customers
281
00:09:41,965 --> 00:09:42,465
move
282
00:09:42,845 --> 00:09:44,764
kind of more traditionally? They come up, they
283
00:09:44,764 --> 00:09:46,125
go through that same kind of motion, and
284
00:09:46,125 --> 00:09:48,524
then you step in and help them take
285
00:09:48,524 --> 00:09:51,504
those environments to a more repeatable
286
00:09:51,884 --> 00:09:54,284
stamped out model? Yep. So it depends on
287
00:09:54,284 --> 00:09:57,120
the customer, obviously. Some customers are already using
288
00:09:57,279 --> 00:10:00,100
doing ClickOps and they're already in Azure. ClickOps?
289
00:10:00,160 --> 00:10:01,759
Yeah. We call it ClickOps. Yeah. Yeah. And
290
00:10:01,759 --> 00:10:03,840
the port then the portal just and then
291
00:10:03,840 --> 00:10:05,440
you show them the value of Bicep and
292
00:10:05,440 --> 00:10:06,799
you show them how you can repeat the
293
00:10:06,799 --> 00:10:07,299
environment.
294
00:10:07,679 --> 00:10:10,115
Because I always I always worry that potentially
295
00:10:10,254 --> 00:10:12,095
a region may go down. You never know.
296
00:10:12,095 --> 00:10:13,774
And they're in West Europe and they might
297
00:10:13,774 --> 00:10:15,455
need to move to North Europe. And if
298
00:10:15,455 --> 00:10:17,534
you've deployed that by hand using ClickOps, how
299
00:10:17,534 --> 00:10:18,914
do you remember all the settings?
300
00:10:19,294 --> 00:10:21,054
The person who's deployed it might move on
301
00:10:21,054 --> 00:10:23,070
from the company and then you're kinda left
302
00:10:23,230 --> 00:10:24,910
not sure what to do. So I will
303
00:10:24,910 --> 00:10:27,309
show them that from a PowerShell file, we
304
00:10:27,309 --> 00:10:30,110
call our Bicep templates. We deploy dev. We
305
00:10:30,110 --> 00:10:31,389
roll it out. They kinda have a look
306
00:10:31,389 --> 00:10:33,250
at it. They check the settings. They deploy
307
00:10:33,389 --> 00:10:35,309
their workload on top of that. All good.
308
00:10:35,309 --> 00:10:37,789
Then we move on to acceptance and production.
309
00:10:37,789 --> 00:10:39,514
So once they see the value of it,
310
00:10:39,514 --> 00:10:41,595
they're all in. And when I'm doing my
311
00:10:41,595 --> 00:10:43,995
architecture designs upfront, I always put in a
312
00:10:43,995 --> 00:10:46,554
section about why infrastructure of code's important, and
313
00:10:46,554 --> 00:10:48,075
they kinda get it. The the buy in
314
00:10:48,075 --> 00:10:49,914
to nobody's ever said, no. We're doing click
315
00:10:49,914 --> 00:10:52,250
ops. But what I still see is sometimes
316
00:10:52,250 --> 00:10:55,549
I'll deploy dev acceptance prod and some people
317
00:10:55,690 --> 00:10:58,090
manually change things, and then then they realize
318
00:10:58,090 --> 00:10:59,929
that there's drift. And then when they deploy
319
00:10:59,929 --> 00:11:02,090
the resources, all of a sudden acceptance isn't
320
00:11:02,090 --> 00:11:03,690
working, but dev is. And then they're like,
321
00:11:03,690 --> 00:11:05,049
yeah, what's going on? And then you have
322
00:11:05,049 --> 00:11:06,335
to show them, like, you have to use
323
00:11:06,335 --> 00:11:08,175
infrastructure as code, you have to use build
324
00:11:08,175 --> 00:11:11,215
pipelines, no touch deployment, like, but but I
325
00:11:11,215 --> 00:11:12,495
always want to do click ups to get
326
00:11:12,495 --> 00:11:14,175
things working quickly. I I get that. But
327
00:11:14,175 --> 00:11:16,335
sometimes you just have to, like, teach these
328
00:11:16,335 --> 00:11:18,175
people that that's gonna lead to pain. So,
329
00:11:18,175 --> 00:11:20,434
yeah, we've we've had a customer recently who
330
00:11:20,690 --> 00:11:22,690
we deployed dev acceptance and prod. We set
331
00:11:22,690 --> 00:11:24,929
up the workload and then they manually changed
332
00:11:24,929 --> 00:11:26,870
some things and, like, dev and acceptance
333
00:11:27,329 --> 00:11:28,929
was was working but dev wasn't and then
334
00:11:28,929 --> 00:11:30,769
it was because of the changes. Yeah. So
335
00:11:30,769 --> 00:11:32,529
just a learning curve, but that's the way
336
00:11:32,529 --> 00:11:34,795
to go. E easier to click run once
337
00:11:34,795 --> 00:11:37,035
on a pipeline Yeah. Or or an action
338
00:11:37,035 --> 00:11:39,355
than it is to click next, next, next,
339
00:11:39,355 --> 00:11:40,394
next, next, next Well, we have we have
340
00:11:40,394 --> 00:11:42,815
10 web apps and one of the customers
341
00:11:42,955 --> 00:11:44,394
was basically changing all the settings on the
342
00:11:44,394 --> 00:11:46,235
web apps and acceptance and dev was working
343
00:11:46,235 --> 00:11:48,690
and acceptance wasn't. And sometimes it's difficult to
344
00:11:48,690 --> 00:11:50,850
compare two different environments, and they're in the
345
00:11:50,850 --> 00:11:53,009
same region and they're in the same subscription,
346
00:11:53,009 --> 00:11:55,970
but, I'm sorry, they're different subscriptions, but, yeah,
347
00:11:55,970 --> 00:11:57,490
for for, like, web apps, there's a lot
348
00:11:57,490 --> 00:11:58,690
of settings, and I had to go through
349
00:11:58,690 --> 00:12:00,610
and manually compare them all. And, yeah, that
350
00:12:00,610 --> 00:12:02,450
was a bit of a painful exercise, but
351
00:12:02,450 --> 00:12:04,004
you kinda teach them that that's not the
352
00:12:04,004 --> 00:12:06,004
way to go. So we've kinda put delete
353
00:12:06,004 --> 00:12:08,004
locks in them or or making sure that
354
00:12:08,004 --> 00:12:09,605
there's PIN so that they don't they don't
355
00:12:09,605 --> 00:12:11,125
have access to go and do things unless
356
00:12:11,125 --> 00:12:12,804
they elevate and and and do that kind
357
00:12:12,804 --> 00:12:15,204
of stuff. Gotcha. Do you also find that
358
00:12:15,204 --> 00:12:17,970
you like, maybe those more traditional migration customers
359
00:12:18,370 --> 00:12:20,289
to teach them a little bit about I
360
00:12:20,289 --> 00:12:21,649
I imagine you need to wear a little
361
00:12:21,649 --> 00:12:24,209
bit of your software development hat and and
362
00:12:24,209 --> 00:12:25,189
kinda get into
363
00:12:25,809 --> 00:12:29,329
software development life cycle Yep. Because infrastructure as
364
00:12:29,329 --> 00:12:32,049
code Mhmm. That needs to live someplace. Yep.
365
00:12:32,049 --> 00:12:33,509
That that Bicep file
366
00:12:34,085 --> 00:12:36,325
and the history of it and the versioning
367
00:12:36,325 --> 00:12:38,245
of it, it's Yep. Gotta be in Azure
368
00:12:38,245 --> 00:12:40,565
DevOps or GitHub or hopefully some type of
369
00:12:40,565 --> 00:12:43,524
repository that's not your OneDrive or your desktop
370
00:12:43,524 --> 00:12:45,285
or a little thumb drive over in the
371
00:12:45,285 --> 00:12:46,899
corner. Yeah. That's the thing. You you have
372
00:12:46,899 --> 00:12:49,299
to source control the the infrastructure as code.
373
00:12:49,299 --> 00:12:51,940
And then, normally, what I do is internally,
374
00:12:51,940 --> 00:12:53,539
where I work, we we will create the
375
00:12:53,539 --> 00:12:54,839
repos for our customers.
376
00:12:55,139 --> 00:12:56,740
And then I'll I'll lay all the bicep.
377
00:12:56,740 --> 00:12:58,100
And then if they want, we'll give them
378
00:12:58,100 --> 00:12:59,700
the bicep and put it into their Azure
379
00:12:59,700 --> 00:13:01,764
DevOps, and then they can run pipelines. But
380
00:13:01,764 --> 00:13:03,304
we tend to do it in our repos.
381
00:13:03,524 --> 00:13:04,804
So it's me that's writing all of the
382
00:13:04,804 --> 00:13:06,725
code, and then they just they just review
383
00:13:06,725 --> 00:13:08,164
it and and check it. But, yeah, it
384
00:13:08,164 --> 00:13:10,184
needs to make sure that it's source controlled
385
00:13:10,324 --> 00:13:13,125
without doing proper proper proper pull requests and
386
00:13:13,125 --> 00:13:14,725
and rep approvals and all that kind of
387
00:13:14,725 --> 00:13:16,379
good stuff. Yeah. I also help build the
388
00:13:16,379 --> 00:13:18,220
pipelines for them because a lot of customers
389
00:13:18,220 --> 00:13:19,899
like, we've got infrastructure as code, but how
390
00:13:19,899 --> 00:13:21,580
do we deploy it? It's like, they don't
391
00:13:21,580 --> 00:13:23,500
want I'm gonna introduce you to our friend
392
00:13:23,500 --> 00:13:25,019
Gamel. Yeah. They they don't want me to
393
00:13:25,019 --> 00:13:26,940
deploy to production from my machine, which is
394
00:13:26,940 --> 00:13:28,575
totally fine. Well, I have to set up
395
00:13:28,575 --> 00:13:30,815
the pipelines for them, and then sometimes customers
396
00:13:30,815 --> 00:13:32,175
don't know how to do that as well.
397
00:13:32,175 --> 00:13:34,415
So I will build the ammo and build
398
00:13:34,415 --> 00:13:36,014
all the pipelines for them, and then then
399
00:13:36,014 --> 00:13:37,774
they're in a good place. But sometimes they
400
00:13:37,774 --> 00:13:40,095
just don't quite understand because on on prem,
401
00:13:40,095 --> 00:13:41,695
they're just manually changing things, and then they
402
00:13:41,695 --> 00:13:42,975
wanna do the same in the cloud. And
403
00:13:42,975 --> 00:13:44,549
they're like, no. Please don't. That's not really
404
00:13:44,549 --> 00:13:46,309
best practice. So so I learn and you
405
00:13:46,309 --> 00:13:47,750
just have to keep keep on the on
406
00:13:47,750 --> 00:13:49,350
this case and make sure they're doing the
407
00:13:49,350 --> 00:13:50,009
right things.
408
00:13:50,629 --> 00:13:53,370
It's quite funny sometimes. That reminds me of
409
00:13:53,669 --> 00:13:55,269
like sitting down with my kids maybe and
410
00:13:55,269 --> 00:13:55,769
like,
411
00:13:56,149 --> 00:13:58,309
no, don't do that. Yeah. Exactly. I I
412
00:13:58,309 --> 00:14:00,205
really need you to go do your homework.
413
00:14:00,205 --> 00:14:01,485
I mean, you tell them don't do that,
414
00:14:01,485 --> 00:14:02,764
they'll let it. But we've got it working
415
00:14:02,764 --> 00:14:03,804
then. And I'm like, yeah. You got it
416
00:14:03,804 --> 00:14:06,384
working, but it's not repeatable. And and eventually,
417
00:14:06,445 --> 00:14:08,044
it's things in that they need to do
418
00:14:08,044 --> 00:14:09,825
things properly. Gotcha. Yeah.
419
00:14:13,629 --> 00:14:15,789
Do you feel overwhelmed by trying to manage
420
00:14:15,789 --> 00:14:18,029
your Office three sixty five environment? Are you
421
00:14:18,029 --> 00:14:21,409
facing unexpected issues that disrupt your company's productivity?
422
00:14:21,629 --> 00:14:23,629
Intelligink is here to help. Much like you
423
00:14:23,629 --> 00:14:25,470
take your car to the mechanic that has
424
00:14:25,470 --> 00:14:27,629
specialized knowledge on how to best keep your
425
00:14:27,629 --> 00:14:30,654
car running, Intelligent helps you with your Microsoft
426
00:14:30,715 --> 00:14:32,894
cloud environment because that's their expertise.
427
00:14:33,355 --> 00:14:35,595
Intelligent keeps up with the latest updates in
428
00:14:35,595 --> 00:14:37,754
the Microsoft cloud to help keep your business
429
00:14:37,754 --> 00:14:39,995
running smoothly and ahead of the curve. Whether
430
00:14:39,995 --> 00:14:42,075
you are a small organization with just a
431
00:14:42,075 --> 00:14:44,549
few users up to an organization of several
432
00:14:44,549 --> 00:14:45,529
thousand employees,
433
00:14:45,909 --> 00:14:47,830
they want to partner with you to implement
434
00:14:47,830 --> 00:14:50,649
and administer your Microsoft cloud technology.
435
00:14:51,350 --> 00:14:54,809
Visit them at intelleginc.com/podcast.
436
00:14:55,110 --> 00:15:01,824
That's intelligink,.com/podcast
437
00:15:02,284 --> 00:15:04,365
for more information or to schedule a thirty
438
00:15:04,365 --> 00:15:06,464
minute call to get started with them today.
439
00:15:06,684 --> 00:15:10,044
Remember, Intelligink focuses on the Microsoft cloud so
440
00:15:10,044 --> 00:15:11,759
you can focus on your business.
441
00:15:14,000 --> 00:15:15,540
And how much do you find
442
00:15:16,240 --> 00:15:16,740
that
443
00:15:17,040 --> 00:15:19,600
you you you kinda spend your time just
444
00:15:19,600 --> 00:15:21,679
keeping up with the churn of Azure? And
445
00:15:21,679 --> 00:15:23,279
and as you see so you mentioned maybe,
446
00:15:23,279 --> 00:15:24,720
like, deploying, like, a web app for a
447
00:15:24,720 --> 00:15:27,065
customer, and they had two environments and a
448
00:15:27,065 --> 00:15:29,225
setting changed over here and over here. Web
449
00:15:29,225 --> 00:15:31,304
apps are also changing as as they go,
450
00:15:31,304 --> 00:15:32,985
things like that. Like, how do you think
451
00:15:32,985 --> 00:15:35,164
about that as an architect and incorporating
452
00:15:35,784 --> 00:15:38,904
maybe additional parameters into your templates and Yeah.
453
00:15:38,904 --> 00:15:41,289
It's it's challenging. Yeah. I mean, I I
454
00:15:41,289 --> 00:15:42,569
do a lot of training and and when
455
00:15:42,569 --> 00:15:44,250
you're doing training and have the slides and
456
00:15:44,250 --> 00:15:45,529
you're like, let's go into a storage account
457
00:15:45,529 --> 00:15:47,370
and deploy a storage account and the settings
458
00:15:47,370 --> 00:15:49,370
will change because the the the UI of
459
00:15:49,370 --> 00:15:51,089
the the portal updates quite a lot and
460
00:15:51,289 --> 00:15:54,014
yeah. It's challenging. It definitely is. So to
461
00:15:54,014 --> 00:15:55,454
kinda keep on top of that, we are
462
00:15:55,454 --> 00:15:57,375
making use of what's called the Azure verified
463
00:15:57,375 --> 00:16:00,334
modules. So within Bicep, Microsoft are working on
464
00:16:00,334 --> 00:16:03,054
this Bicep kind of ex they extract the
465
00:16:03,054 --> 00:16:04,735
modules for you, they write the modules for
466
00:16:04,735 --> 00:16:06,430
you, and then we just call them. So
467
00:16:06,430 --> 00:16:08,750
they've got an ongoing GitHub project called Azure
468
00:16:08,750 --> 00:16:11,230
Verified Modules. They've pretty much got all of
469
00:16:11,230 --> 00:16:13,470
the Azure resources built, and we just call
470
00:16:13,470 --> 00:16:14,830
that. So we make use of that, which
471
00:16:14,830 --> 00:16:16,990
is which is awesome. Going forward, Microsoft are
472
00:16:16,990 --> 00:16:18,990
kinda trying to push everybody towards using Azure
473
00:16:18,990 --> 00:16:21,565
Verified Modules. So that helps a lot. So,
474
00:16:21,625 --> 00:16:23,544
yeah. So I I work in Azure storage.
475
00:16:23,544 --> 00:16:25,225
Mhmm. I'm I'm one of the people that
476
00:16:25,225 --> 00:16:27,625
signs off on those on the on those
477
00:16:27,625 --> 00:16:30,184
verified modules for for the team that that
478
00:16:30,184 --> 00:16:31,865
builds them and pushes them out there. I
479
00:16:31,865 --> 00:16:34,225
think it's a a very interesting model that
480
00:16:34,345 --> 00:16:36,809
that's kind of moving there. If you think
481
00:16:36,809 --> 00:16:38,830
about, like, being a customer in the past,
482
00:16:39,049 --> 00:16:41,850
you might have gone to Microsoft and read
483
00:16:41,850 --> 00:16:44,269
the documentation or landed up in a samples
484
00:16:44,330 --> 00:16:46,730
repo, things like that. But you were largely
485
00:16:46,730 --> 00:16:48,730
left to your own devices. Yep. And and
486
00:16:48,730 --> 00:16:49,629
sure, there's
487
00:16:49,934 --> 00:16:51,615
support there. Yep. And and you can reach
488
00:16:51,615 --> 00:16:53,535
out to CSS, but they might have to
489
00:16:53,855 --> 00:16:55,715
Microsoft customer support. But they
490
00:16:56,254 --> 00:16:58,174
they kinda have to do some debugging and
491
00:16:58,174 --> 00:16:59,855
and things with you along the way. So
492
00:16:59,855 --> 00:17:01,075
one of one of the niceties
493
00:17:01,615 --> 00:17:04,429
of AVM or those Azure Terraform
494
00:17:17,609 --> 00:17:19,674
modules in there Terraform modules in there as
495
00:17:19,674 --> 00:17:21,514
well. So it's not just Bicep. It's Bicep
496
00:17:21,514 --> 00:17:23,514
and Terraform. They're there. And and one of
497
00:17:23,514 --> 00:17:25,134
the things that I like about those
498
00:17:25,434 --> 00:17:25,934
is
499
00:17:26,394 --> 00:17:29,115
not only the kind of nice sample nature
500
00:17:29,115 --> 00:17:31,595
that's there, they've also implemented a bunch of
501
00:17:31,595 --> 00:17:32,095
best
502
00:17:33,359 --> 00:17:35,320
practices and learnings that come in. Like, I
503
00:17:35,320 --> 00:17:36,271
I know when we were working on the
504
00:17:36,271 --> 00:17:38,160
storage modules and kind of working through that
505
00:17:38,160 --> 00:17:40,160
partnership, there was a lot of kind of
506
00:17:40,160 --> 00:17:41,619
things around best practices,
507
00:17:42,240 --> 00:17:44,960
best default state. What's what's what's just like
508
00:17:44,960 --> 00:17:47,275
the best configuration? If somebody picked this up
509
00:17:47,275 --> 00:17:49,375
and they did a fire and forget deployment,
510
00:17:49,835 --> 00:17:51,835
what's the best state that customer needs to
511
00:17:51,835 --> 00:17:54,075
be in and where they need to be?
512
00:17:54,075 --> 00:17:55,914
So there there's a lot of that in
513
00:17:55,914 --> 00:17:58,234
there as well. Like, zone of resiliency is
514
00:17:58,234 --> 00:18:00,015
a consideration from the front
515
00:18:00,500 --> 00:18:02,340
and being able to tie that all together.
516
00:18:02,340 --> 00:18:02,840
So
517
00:18:03,220 --> 00:18:05,320
I I think as AVM matures,
518
00:18:05,860 --> 00:18:09,140
it'll definitely become a a good place for
519
00:18:09,140 --> 00:18:10,900
customers to to look to. I have a
520
00:18:10,900 --> 00:18:12,500
lot of my customers come to me today
521
00:18:12,500 --> 00:18:13,154
and say,
522
00:18:13,875 --> 00:18:14,615
why EVM?
523
00:18:15,474 --> 00:18:18,134
Especially my Terraform customers, why EVM versus
524
00:18:18,515 --> 00:18:20,855
the HashiCorp modules or the
525
00:18:21,674 --> 00:18:23,555
or or something else that's out there in
526
00:18:23,555 --> 00:18:24,615
open source. And,
527
00:18:24,994 --> 00:18:26,515
really, I think the biggest thing is the
528
00:18:26,515 --> 00:18:27,015
supportability
529
00:18:29,960 --> 00:18:31,099
built, maintained,
530
00:18:31,559 --> 00:18:32,059
supported
531
00:18:33,319 --> 00:18:33,900
by Microsoft,
532
00:18:34,440 --> 00:18:34,940
and
533
00:18:35,319 --> 00:18:38,359
customers get that support as well. So I'd
534
00:18:38,359 --> 00:18:39,960
encourage anybody to go out and take a
535
00:18:39,960 --> 00:18:40,779
look at APM.
536
00:18:41,234 --> 00:18:42,295
Some of the modules
537
00:18:42,674 --> 00:18:44,755
are kind of in a beta state, alpha
538
00:18:44,755 --> 00:18:46,434
state. They're they're they're in various states of
539
00:18:46,434 --> 00:18:46,934
release.
540
00:18:47,555 --> 00:18:49,394
But as that gets sealed up across all
541
00:18:49,394 --> 00:18:51,255
the services that are out there, it becomes
542
00:18:51,394 --> 00:18:53,954
kind of a broader ecosystem over time. One
543
00:18:53,954 --> 00:18:55,960
of the best things I think is you
544
00:18:55,960 --> 00:18:57,400
can you can put that in a design
545
00:18:57,400 --> 00:18:59,240
for a customer. So I'm designing right now,
546
00:18:59,240 --> 00:19:01,180
design document, I can tell them all this.
547
00:19:01,240 --> 00:19:03,900
And the documentation for the Azure verified modules
548
00:19:04,120 --> 00:19:06,680
references the Well Architected Framework. And one of
549
00:19:06,680 --> 00:19:08,519
the best things about the docs for EVM
550
00:19:08,519 --> 00:19:10,220
is you can go to usage examples
551
00:19:10,605 --> 00:19:12,605
and the bot one is always well well
552
00:19:12,605 --> 00:19:14,865
architected framework and it shows you the Bicep.
553
00:19:15,005 --> 00:19:17,744
So the docs for Bicep alone are sometimes
554
00:19:17,964 --> 00:19:19,565
a little bit tricky to to figure out
555
00:19:19,565 --> 00:19:21,565
what is the ID reference, what is what
556
00:19:21,644 --> 00:19:23,404
it says it's an array, the property might
557
00:19:23,404 --> 00:19:25,170
say an array and you're not sure what
558
00:19:25,170 --> 00:19:27,730
goes in that array. But the AVM, the
559
00:19:27,730 --> 00:19:30,130
well architected framework, has very nice examples of
560
00:19:30,130 --> 00:19:31,970
how to deploy things with best practice in
561
00:19:31,970 --> 00:19:33,410
mind to that. That's one of the keys
562
00:19:33,410 --> 00:19:34,930
of using it, I think. Yeah. And it
563
00:19:34,930 --> 00:19:36,690
will it will make it better going forward.
564
00:19:36,690 --> 00:19:37,750
Yeah. Yeah.
565
00:19:38,049 --> 00:19:39,664
Not just just raised, but, like, the the
566
00:19:39,664 --> 00:19:42,565
fixed enums, the fixed values. I think it's
567
00:19:42,625 --> 00:19:44,244
a kind of good set of,
568
00:19:44,545 --> 00:19:47,265
if not best practices, certainly like guardrails or
569
00:19:47,265 --> 00:19:49,664
referential material. Yep. In the case of, like,
570
00:19:49,664 --> 00:19:51,825
a storage account, you you don't we might
571
00:19:51,825 --> 00:19:54,660
want the underscore, like, standard underscore LRS versus
572
00:19:54,660 --> 00:19:56,980
just standard LRS. Like, whatever it happens to
573
00:19:56,980 --> 00:19:57,480
be
574
00:19:57,940 --> 00:19:59,960
as as you're pumping those things through.
575
00:20:00,339 --> 00:20:01,940
I I I'm curious because you you you
576
00:20:01,940 --> 00:20:04,660
mentioned kind of architectural docs and design docs
577
00:20:04,660 --> 00:20:06,835
and things like that. Do you take advantage
578
00:20:06,974 --> 00:20:09,214
of kind of any of the tooling that's
579
00:20:09,214 --> 00:20:10,335
out there? Maybe do you have a favorite
580
00:20:10,335 --> 00:20:13,055
one for, like, visualizing your templates and the
581
00:20:13,055 --> 00:20:14,674
resources that are visualizing,
582
00:20:15,134 --> 00:20:17,375
I Yeah. Sometimes I just when I deploy
583
00:20:17,375 --> 00:20:19,455
the bicep in Visual Studio Code, you can
584
00:20:19,455 --> 00:20:21,779
get a a resource visualizer. But one tool
585
00:20:21,779 --> 00:20:23,299
I'd really like to call out is what's
586
00:20:23,299 --> 00:20:26,099
called the AZ quick review, AZ QR. I
587
00:20:26,099 --> 00:20:27,539
don't know if not a lot of people
588
00:20:27,539 --> 00:20:28,819
know about this. I have not heard of
589
00:20:28,819 --> 00:20:29,859
this. So it's an ex It's a cool
590
00:20:29,859 --> 00:20:32,019
name. It's a GitHub project. It's a open
591
00:20:32,019 --> 00:20:34,335
source GitHub project. And if you run that,
592
00:20:34,575 --> 00:20:35,934
so what we do is we run this
593
00:20:35,934 --> 00:20:38,414
tool after we've built the the bicep. We've
594
00:20:38,414 --> 00:20:40,095
run the pipeline. The last step of the
595
00:20:40,095 --> 00:20:42,015
pipeline is you can point it at your
596
00:20:42,015 --> 00:20:44,335
subscription where you've just deployed it. And against
597
00:20:44,335 --> 00:20:46,494
the way I'll architect the framework, it'll generate
598
00:20:46,494 --> 00:20:48,820
a CSV that lists all the resources. It
599
00:20:48,820 --> 00:20:50,980
will tell you your security scores. It will
600
00:20:50,980 --> 00:20:51,480
recommend
601
00:20:51,779 --> 00:20:53,700
what you've not done, what you should do.
602
00:20:53,700 --> 00:20:55,859
And it's very in-depth and it is very
603
00:20:55,859 --> 00:20:57,940
good for finding out like, oh, I'm using
604
00:20:57,940 --> 00:21:00,420
service endpoints. I should really be using private
605
00:21:00,420 --> 00:21:03,964
endpoints. I'm not using TLS 1.3 or 1.2.
606
00:21:03,964 --> 00:21:05,884
It'll tell you all that good stuff that
607
00:21:05,884 --> 00:21:07,644
is built in. So we just call this
608
00:21:07,644 --> 00:21:09,404
tool. You can run it against a tenant
609
00:21:09,404 --> 00:21:11,164
and do all the subscriptions. You can run
610
00:21:11,164 --> 00:21:13,244
it against an individual subscription or you can
611
00:21:13,244 --> 00:21:14,845
even do it against a resource group and
612
00:21:14,845 --> 00:21:16,880
even a resource. And it prompts out a
613
00:21:16,880 --> 00:21:18,720
CSV file at the end and you redo
614
00:21:18,720 --> 00:21:20,079
that as part of the build. You get
615
00:21:20,079 --> 00:21:22,720
the art artifact from Azure DevOps, and you've
616
00:21:22,720 --> 00:21:24,480
got something to show the customer. And you
617
00:21:24,480 --> 00:21:25,759
can do that. You can run that tool
618
00:21:25,759 --> 00:21:27,200
at any point. So if you're not even
619
00:21:27,200 --> 00:21:28,914
using Bicep, you can still run the tool
620
00:21:28,914 --> 00:21:30,755
against your environment, and it'll give you a
621
00:21:30,755 --> 00:21:33,154
list of recommendations. So excellent. It's really good.
622
00:21:33,154 --> 00:21:35,234
I wish Microsoft would look take maybe even
623
00:21:35,234 --> 00:21:37,555
do something towards using something like that because
624
00:21:37,555 --> 00:21:39,715
it's really useful. Once you've deployed your your
625
00:21:39,715 --> 00:21:41,715
infrastructure's code, it basically gives you a score
626
00:21:41,715 --> 00:21:43,480
and says here's the good parts, here's the
627
00:21:43,480 --> 00:21:45,000
not so good parts. Go and fix that.
628
00:21:45,000 --> 00:21:47,000
And that's, again, against the well architected framework.
629
00:21:47,000 --> 00:21:49,240
So it's building on top of AVM as
630
00:21:49,240 --> 00:21:51,579
well. Gotcha. Yeah. So what what's your
631
00:21:51,960 --> 00:21:52,460
favorite
632
00:21:52,759 --> 00:21:53,740
feature in Bicep?
633
00:21:54,039 --> 00:21:55,880
Favorite feature in Bicep? Oh, that's a good
634
00:21:55,880 --> 00:21:57,724
question. Let me think. I only think. Favorite
635
00:21:57,724 --> 00:21:58,625
feature in Bicep.
636
00:21:59,085 --> 00:22:01,325
I like the Bicep parameters. So that's a
637
00:22:01,325 --> 00:22:02,924
kind of when you have a a main
638
00:22:02,924 --> 00:22:05,644
dot Bicep file, and we talked about before
639
00:22:05,644 --> 00:22:08,044
where you're deploying the dev environment, the test
640
00:22:08,044 --> 00:22:10,784
environment, and the production environment, these three environments
641
00:22:11,359 --> 00:22:13,759
may differ just from the the size of
642
00:22:13,759 --> 00:22:15,519
the VM, let's say. So the VM for
643
00:22:15,519 --> 00:22:17,380
dev may be like a a small VM,
644
00:22:17,519 --> 00:22:19,200
and then you can have a para a
645
00:22:19,200 --> 00:22:21,440
bisect parameter file for the the dev environment.
646
00:22:21,440 --> 00:22:23,505
We've also got one for acceptance and prod.
647
00:22:23,505 --> 00:22:24,964
So the acceptance and prod
648
00:22:25,265 --> 00:22:28,144
variables will consider a larger VM, more disk
649
00:22:28,144 --> 00:22:29,984
size, maybe an extra disk. So you can
650
00:22:29,984 --> 00:22:31,904
configure all that and bicep. So that means
651
00:22:31,904 --> 00:22:34,625
that you're deploying all these resources with three
652
00:22:34,625 --> 00:22:36,865
different environments with the three different settings. So
653
00:22:36,865 --> 00:22:38,480
that, I really like that. I think that's
654
00:22:38,480 --> 00:22:40,099
really cool. That's been out for a while.
655
00:22:40,159 --> 00:22:41,759
Yeah. It's it's a good way to rationalize
656
00:22:41,759 --> 00:22:44,079
things through, like, because often it's t shirt
657
00:22:44,079 --> 00:22:46,240
sizing. It's small, medium, large. And that's much
658
00:22:46,240 --> 00:22:49,200
easier for somebody to figure out than what's
659
00:22:49,200 --> 00:22:50,419
a d sixteen
660
00:22:50,720 --> 00:22:53,615
Yep. V five or v six or Yep.
661
00:22:53,755 --> 00:22:55,474
Oh, oh, no. A d 16 s versus
662
00:22:55,474 --> 00:22:57,274
a d 16. And and and you can
663
00:22:57,274 --> 00:22:59,434
kind of bake that logic in into your
664
00:22:59,434 --> 00:23:00,174
own custom
665
00:23:00,554 --> 00:23:02,315
enums along the way. What what do you
666
00:23:02,315 --> 00:23:03,855
see as kind of the biggest
667
00:23:04,210 --> 00:23:07,090
kind of stumbling block or or pitfall with
668
00:23:07,090 --> 00:23:09,009
your customers and bicep today? Like if somebody
669
00:23:09,009 --> 00:23:09,990
is new to it, like,
670
00:23:10,450 --> 00:23:12,289
what are one or two things that they
671
00:23:12,289 --> 00:23:13,970
should look out for? A lot of our
672
00:23:13,970 --> 00:23:16,515
customers believe us to write the bicep, which
673
00:23:16,674 --> 00:23:18,355
getting them on board is quite tricky. You
674
00:23:18,355 --> 00:23:20,115
just have to, like, we will write the
675
00:23:20,115 --> 00:23:22,674
bicep and kinda sometimes they want to take
676
00:23:22,674 --> 00:23:23,794
the repo off of us and look at
677
00:23:23,794 --> 00:23:24,994
it and and they don't have the skills
678
00:23:24,994 --> 00:23:27,154
to learn bicep. So scaling them on on
679
00:23:27,154 --> 00:23:28,434
that is is sometimes a bit of an
680
00:23:28,434 --> 00:23:30,129
issue. Yeah. They they just want someone else
681
00:23:30,129 --> 00:23:31,730
to deploy it and then then they'll they'll
682
00:23:31,730 --> 00:23:33,109
put their workload on. So
683
00:23:33,410 --> 00:23:34,849
we tend to just look at the device
684
00:23:34,849 --> 00:23:36,609
that fall and deploy that. So it'd be
685
00:23:36,609 --> 00:23:38,450
nice if some of our customers had people
686
00:23:38,450 --> 00:23:40,289
who learn the device as well just to
687
00:23:40,289 --> 00:23:41,569
just to so when we are not that
688
00:23:41,730 --> 00:23:43,089
not around and they want to change it,
689
00:23:43,089 --> 00:23:44,769
then I've got other people to do that.
690
00:23:44,769 --> 00:23:46,505
Gotcha. And how about when you're out there
691
00:23:46,505 --> 00:23:48,505
training? You mentioned you're an MCT Mhmm. So
692
00:23:48,505 --> 00:23:50,984
a Microsoft certified trainer. Yep. Kinda what are
693
00:23:50,984 --> 00:23:53,085
the things that you point out to students
694
00:23:53,144 --> 00:23:55,785
to look out for? In terms of In
695
00:23:55,785 --> 00:23:56,765
in terms of
696
00:23:57,464 --> 00:24:00,779
maybe maybe not pitfalls of bicep, but here's
697
00:24:00,779 --> 00:24:02,859
some things that you should think about. And
698
00:24:03,099 --> 00:24:04,880
because like any other
699
00:24:05,259 --> 00:24:07,680
language, like it is a domain specific language,
700
00:24:07,900 --> 00:24:09,660
it's got a set of constraints and kind
701
00:24:09,660 --> 00:24:11,680
of guardrails in it and and and rules.
702
00:24:11,740 --> 00:24:14,315
Yep. But those also often come with new
703
00:24:14,315 --> 00:24:16,315
ways of thinking about things, and here's how
704
00:24:16,315 --> 00:24:17,054
you have to
705
00:24:17,514 --> 00:24:19,514
adapt your thinking. Or the way you did
706
00:24:19,514 --> 00:24:20,954
it over here in Arm might be a
707
00:24:20,954 --> 00:24:23,355
little bit an Arm template, a resource manager
708
00:24:23,355 --> 00:24:25,960
template might be Mainly around structuring the code.
709
00:24:25,960 --> 00:24:27,159
So what I like to do is I
710
00:24:27,159 --> 00:24:28,839
put all the parameters at the top, and
711
00:24:28,839 --> 00:24:30,759
then I'll have the variables, and then I'll
712
00:24:30,759 --> 00:24:32,759
draw like a line and the styles across
713
00:24:32,759 --> 00:24:35,000
the code, and no hard coding from that
714
00:24:35,000 --> 00:24:37,419
point onwards. So I try and teach people
715
00:24:37,454 --> 00:24:39,375
to make sure that the modules that you're
716
00:24:39,375 --> 00:24:41,934
calling, there's no hard coded locations. It's all
717
00:24:41,934 --> 00:24:44,595
parameterized at the top. It's all well documented.
718
00:24:44,894 --> 00:24:47,315
In Versus Code, you can use, a
719
00:24:47,694 --> 00:24:49,454
Versus Code Copilot and you can get it
720
00:24:49,454 --> 00:24:52,319
to document everything for you. Put descriptions above
721
00:24:52,319 --> 00:24:54,559
all your modules so that everyone knows what
722
00:24:54,559 --> 00:24:56,240
what the code does. I'm a firm believer
723
00:24:56,240 --> 00:24:57,759
of leave the code in a good state
724
00:24:57,759 --> 00:24:59,359
so that some if I'm off, someone could
725
00:24:59,359 --> 00:25:00,799
pick up the bicep and try and figure
726
00:25:00,799 --> 00:25:02,640
out what it's doing. I'll generate a diagram
727
00:25:02,640 --> 00:25:03,839
as well and put leave that in the
728
00:25:03,839 --> 00:25:05,779
repo so people can see what I've deployed.
729
00:25:05,805 --> 00:25:07,965
Some of the pitfalls I always think are
730
00:25:07,965 --> 00:25:10,144
when you're using Versus Code as a beginner
731
00:25:10,285 --> 00:25:12,924
in anything, they say generate generate this for
732
00:25:12,924 --> 00:25:15,005
me and you never really learned, you know,
733
00:25:15,005 --> 00:25:16,605
I'm always worried that like you can let
734
00:25:16,605 --> 00:25:18,045
it fly from reading a book, but the
735
00:25:18,045 --> 00:25:19,410
minute you're sitting in a cockpit and try
736
00:25:19,410 --> 00:25:21,092
and fly a plane, you really struggle. So
737
00:25:21,092 --> 00:25:22,773
you need to get hands on and learn
738
00:25:22,773 --> 00:25:24,455
what things do. A good example is in
739
00:25:24,455 --> 00:25:26,137
a module in Bicep, you have the name
740
00:25:26,137 --> 00:25:27,818
of the module, you have the name of
741
00:25:27,818 --> 00:25:29,500
the deployment, and you have the name of
742
00:25:29,500 --> 00:25:31,182
the, like, the storage account for example, and
743
00:25:31,182 --> 00:25:32,864
those three names are different. And I see
744
00:25:32,864 --> 00:25:34,664
a lot of people creating the module called
745
00:25:34,664 --> 00:25:36,024
create storage and then they'll put the name
746
00:25:36,024 --> 00:25:37,704
of the deployment, create storage, and then put
747
00:25:37,704 --> 00:25:39,144
the name of the storage account, create storage,
748
00:25:39,144 --> 00:25:40,585
and then they'll start there and go, why
749
00:25:40,585 --> 00:25:42,664
is that not working? Because they haven't learned
750
00:25:42,664 --> 00:25:44,904
the reason these three parameters are slightly different
751
00:25:44,904 --> 00:25:46,720
even though they're all called name. So So,
752
00:25:46,720 --> 00:25:48,240
yeah, there are one or two pitfalls of
753
00:25:48,240 --> 00:25:49,759
learning it. But the other thing to do
754
00:25:49,759 --> 00:25:52,420
is if you're really stuck, deploy the resource
755
00:25:52,559 --> 00:25:54,640
using ClickOps and then go into the arm.
756
00:25:54,640 --> 00:25:56,480
You can export the template. Now the feature's
757
00:25:56,480 --> 00:25:57,920
coming out, but you can click on generate
758
00:25:57,920 --> 00:26:00,080
bicep and it'll actually show you the bicep.
759
00:26:00,080 --> 00:26:02,095
So sometimes you need to figure out, like,
760
00:26:02,095 --> 00:26:04,494
a good example might be TD encryption SQL
761
00:26:04,494 --> 00:26:06,414
Server. You deploy in the portal. You type
762
00:26:06,414 --> 00:26:08,014
the you type the portal, and then you
763
00:26:08,014 --> 00:26:09,294
can see the bicep and see what the
764
00:26:09,294 --> 00:26:10,734
setting is to turn that on. And that
765
00:26:10,815 --> 00:26:12,414
that's always a good way of kind of
766
00:26:12,414 --> 00:26:14,414
reverse engineering your bicep. I think if you're
767
00:26:14,414 --> 00:26:15,394
doing things like
768
00:26:15,694 --> 00:26:18,549
Azure firewall rule collections, the the documentation is
769
00:26:18,549 --> 00:26:20,150
quite tricky to kind of follow it. So
770
00:26:20,150 --> 00:26:21,670
you you deploy it by hand and then
771
00:26:21,670 --> 00:26:23,269
work out what goes where and then it
772
00:26:23,269 --> 00:26:24,390
needs to be in the right order. So
773
00:26:24,390 --> 00:26:25,830
that's that's always that's always a good way
774
00:26:25,830 --> 00:26:27,029
of doing it as well. That's one of
775
00:26:27,029 --> 00:26:29,430
the biggest pitfalls is figuring out what does
776
00:26:29,430 --> 00:26:32,309
the parameter mean? What what's it expecting? Yeah.
777
00:26:32,309 --> 00:26:34,234
Yeah. I do that with customers a lot.
778
00:26:34,234 --> 00:26:35,275
They they come in often
779
00:26:35,914 --> 00:26:38,075
they they I I think their intentions are
780
00:26:38,075 --> 00:26:40,234
good. Mhmm. So and and I I tend
781
00:26:40,234 --> 00:26:41,595
to be the same way. Like, I I'd
782
00:26:41,595 --> 00:26:43,194
rather get hands on with it than go
783
00:26:43,194 --> 00:26:44,954
read a book about it. Yep. And so
784
00:26:44,954 --> 00:26:47,930
I'll often just start opening Versus Code and
785
00:26:47,930 --> 00:26:48,430
and
786
00:26:48,730 --> 00:26:50,970
then, oh, it doesn't work. It's broken. But
787
00:26:50,970 --> 00:26:52,650
that trick of going to the portal and
788
00:26:52,650 --> 00:26:54,170
let me see how the portal does it
789
00:26:54,170 --> 00:26:55,930
because I I always used to when I
790
00:26:55,930 --> 00:26:57,869
was a trainer and and doing the
791
00:26:58,294 --> 00:27:00,775
the infrastructure exams, the the one point I
792
00:27:00,775 --> 00:27:03,515
always wanted my students to take away was
793
00:27:03,734 --> 00:27:06,775
the Azure portal, when you're deploying something or
794
00:27:06,775 --> 00:27:09,494
you are updating something, it is an ARM
795
00:27:09,494 --> 00:27:13,130
expression generator. Yep. So it it's great at
796
00:27:13,130 --> 00:27:15,049
expressing those values in a way that, like,
797
00:27:15,049 --> 00:27:16,410
you can go get to the end and
798
00:27:16,410 --> 00:27:18,509
and get the template. Get the ARM template.
799
00:27:18,569 --> 00:27:19,849
Great to hear that they've got get a
800
00:27:19,849 --> 00:27:22,809
bicep template coming. That that that's certainly a
801
00:27:22,809 --> 00:27:26,075
a nicety that's there. You also mentioned working
802
00:27:26,075 --> 00:27:28,974
in Versus Code, GitHub, Copilot, things like that.
803
00:27:29,034 --> 00:27:31,274
I haven't played around with ARM templates too
804
00:27:31,274 --> 00:27:33,355
much or really gotten hands on with with
805
00:27:33,355 --> 00:27:34,954
Bicep with GitHub Copilot, but I do a
806
00:27:34,954 --> 00:27:37,049
lot of PowerShell and Bash. Super helpful there.
807
00:27:37,130 --> 00:27:38,970
What's your experience been? Is is it a
808
00:27:38,970 --> 00:27:41,289
good Oh, fabulous. Good augmentor Yes. Where even
809
00:27:41,289 --> 00:27:43,470
for, like, new thing where it's Yeah.
810
00:27:43,850 --> 00:27:45,610
Yeah. You can actually one of the things
811
00:27:45,610 --> 00:27:47,289
that people might not know is I talked
812
00:27:47,289 --> 00:27:49,769
about AVM modules. You can go into GitHub
813
00:27:49,769 --> 00:27:52,525
Copilot and reference that external GitHub repo and
814
00:27:52,525 --> 00:27:54,365
ask it to generate bicep based off of
815
00:27:54,365 --> 00:27:56,924
that project. So instead of it gen writing
816
00:27:56,924 --> 00:27:59,744
generic bicep, it'll actually write bicep that's targeting
817
00:27:59,804 --> 00:28:01,884
the Azure verified modules, which is really good.
818
00:28:01,884 --> 00:28:03,505
So I use it to generate documentation.
819
00:28:04,045 --> 00:28:05,789
If I'm doing if I'm even if I'm
820
00:28:05,789 --> 00:28:07,470
doing bash scripts or I'm looking at someone
821
00:28:07,470 --> 00:28:09,710
else's script, I always do slash explain and
822
00:28:09,710 --> 00:28:11,470
it'll it'll explain to me what the script's
823
00:28:11,470 --> 00:28:14,450
doing. That's also very helpful. Mainly generate documentation,
824
00:28:14,909 --> 00:28:16,990
putting your variables at the top, making sure
825
00:28:16,990 --> 00:28:19,674
there's descriptions on everything, and kind of explaining
826
00:28:19,755 --> 00:28:20,955
I was trying to write a little bit
827
00:28:20,955 --> 00:28:22,394
at the top of the file on explaining
828
00:28:22,394 --> 00:28:24,154
what I'm trying to do. Like, what I've
829
00:28:24,234 --> 00:28:26,154
maybe I've taken a what I sometimes do
830
00:28:26,154 --> 00:28:27,994
is I'll go to the Azure Architecture Center.
831
00:28:27,994 --> 00:28:30,075
I'll look for the zero trust diagram. I'll
832
00:28:30,075 --> 00:28:31,914
deploy that as an example when I'm teaching
833
00:28:31,914 --> 00:28:33,674
someone Bicep, and I'll put in the link
834
00:28:33,674 --> 00:28:35,910
to the diagram, explain all of the resources
835
00:28:36,049 --> 00:28:37,650
at the top of the the Bicep file
836
00:28:37,650 --> 00:28:39,570
so that people have got some understanding before
837
00:28:39,570 --> 00:28:41,490
it's doing. Because that's what I tend to
838
00:28:41,490 --> 00:28:43,570
see is when people are deploying Bicep for
839
00:28:43,570 --> 00:28:44,930
the first time, they don't know how to
840
00:28:44,930 --> 00:28:46,529
make resources talk to each other. So someone
841
00:28:46,529 --> 00:28:48,054
will create a storage account, someone will create
842
00:28:48,054 --> 00:28:49,734
a manager of the entity and a SQL
843
00:28:49,734 --> 00:28:51,174
Server, and then they'll say, how do I
844
00:28:51,174 --> 00:28:52,455
get the manager of the entity to talk
845
00:28:52,455 --> 00:28:53,815
to the SQL Server to get to go
846
00:28:53,815 --> 00:28:55,494
to the storage account? And then that's where
847
00:28:55,494 --> 00:28:57,255
it starts to get tricky. You you just
848
00:28:57,255 --> 00:28:58,695
need to read the docs and spend a
849
00:28:58,695 --> 00:29:00,215
lot of time in figuring it out or
850
00:29:00,215 --> 00:29:02,615
deploy it manually and reverse engineer. That's that's
851
00:29:02,615 --> 00:29:04,109
the way forward. I think it's always been
852
00:29:04,109 --> 00:29:06,349
hard to figure out the Mhmm. Dependencies. Yep.
853
00:29:06,349 --> 00:29:06,849
And
854
00:29:07,230 --> 00:29:09,070
I don't know if there's just an easier
855
00:29:09,070 --> 00:29:11,390
way to do it. It's just the the
856
00:29:11,390 --> 00:29:12,910
way the system comes. Yep. If I give
857
00:29:12,910 --> 00:29:14,289
you a bunch of Legos,
858
00:29:15,150 --> 00:29:17,230
your Lego house needs to look different than
859
00:29:17,230 --> 00:29:19,595
mine sometimes. Yep. And sometimes that just turns
860
00:29:19,595 --> 00:29:21,115
into, like, oh, we dumped the whole thing
861
00:29:21,115 --> 00:29:22,235
out in front of us, and now we
862
00:29:22,235 --> 00:29:24,414
now we gotta figure out how that composes
863
00:29:24,634 --> 00:29:26,154
and and and how all that goes. Some
864
00:29:26,154 --> 00:29:27,835
of the other nice things is the Bicep
865
00:29:27,835 --> 00:29:29,515
configuration files. So if you're not used to
866
00:29:29,515 --> 00:29:31,115
that or you don't know about that, you
867
00:29:31,115 --> 00:29:32,875
can add a configuration file where you can
868
00:29:32,875 --> 00:29:34,335
say, like, don't show warnings.
869
00:29:34,769 --> 00:29:36,609
You can say, only use the latest version
870
00:29:36,609 --> 00:29:38,369
of AVM modules. That's a nice one. So
871
00:29:38,369 --> 00:29:40,049
if a new version of the module comes
872
00:29:40,049 --> 00:29:42,049
out, your code won't build and you have
873
00:29:42,049 --> 00:29:43,730
to go and change the code or you
874
00:29:43,730 --> 00:29:45,809
can make an error or a warning. Kinda
875
00:29:45,809 --> 00:29:47,009
kinda like, you know, I I might with
876
00:29:47,009 --> 00:29:48,775
the container. Yeah. Exactly. Say, hey, play all
877
00:29:48,775 --> 00:29:50,775
the latest image tag kind of thing. The
878
00:29:50,775 --> 00:29:52,134
one thing that we were talking about earlier
879
00:29:52,134 --> 00:29:53,575
is it would be nice to know if
880
00:29:53,575 --> 00:29:57,095
the underlying API has changed from version 0.12
881
00:29:57,095 --> 00:29:58,054
to 0.13,
882
00:29:58,054 --> 00:30:00,054
what are the changes? That's one thing we've
883
00:30:00,054 --> 00:30:01,710
we've we've asked for for some sort of
884
00:30:01,710 --> 00:30:03,549
feedback on, like, what was the difference between
885
00:30:03,549 --> 00:30:05,710
the previous API and this API? Because nobody
886
00:30:05,710 --> 00:30:07,309
really knows and it's really hard to find
887
00:30:07,309 --> 00:30:08,910
the docs. So that that would be an
888
00:30:08,910 --> 00:30:11,809
interesting nice change. I use I use Copilot
889
00:30:11,869 --> 00:30:13,230
all the time. And the more you use
890
00:30:13,230 --> 00:30:15,244
it, it starts to get frightening. You you
891
00:30:15,244 --> 00:30:17,325
start you may write Bicep for an Azure
892
00:30:17,325 --> 00:30:18,845
Firewall and it just knows that you're gonna
893
00:30:18,845 --> 00:30:21,005
write an Azure Firewall policy next. It's like
894
00:30:21,005 --> 00:30:22,924
it's like how did you know that? It's
895
00:30:22,924 --> 00:30:25,244
really, really smart. It's super useful and saves
896
00:30:25,244 --> 00:30:26,684
a lot of time. Thanks for taking the
897
00:30:26,684 --> 00:30:28,460
time to chat with me today. Thanks for
898
00:30:28,460 --> 00:30:30,480
having me. Let you get back over to
899
00:30:30,779 --> 00:30:33,820
MVP Summit and get some good learnings and
900
00:30:33,820 --> 00:30:35,900
and give us some good feedback and Will
901
00:30:35,900 --> 00:30:38,380
do. Thanks for coming in. Thank you. Thanks
902
00:30:38,380 --> 00:30:39,279
for having me.
903
00:30:41,180 --> 00:30:42,559
If you enjoyed the podcast,
904
00:30:42,875 --> 00:30:44,475
go leave us a five star rating in
905
00:30:44,475 --> 00:30:46,475
iTunes. It helps to get the word out
906
00:30:46,475 --> 00:30:48,715
so more IT pros can learn about Office
907
00:30:48,715 --> 00:30:50,174
three sixty five and Azure.
908
00:30:50,715 --> 00:30:52,315
If you have any questions you want us
909
00:30:52,315 --> 00:30:54,555
to address on the show, or feedback about
910
00:30:54,555 --> 00:30:56,899
the show, feel free to reach out via
911
00:30:56,899 --> 00:30:58,999
our website, Twitter, or Facebook.
912
00:30:59,379 --> 00:31:01,219
Thanks again for listening, and have a great
913
00:31:01,219 --> 00:31:01,719
day.