WEBVTT

1
00:00:01.000 --> 00:00:04.759
How'd you like to listen to dot
net rocks with no ads? Easy?

2
00:00:05.320 --> 00:00:09.400
Become a patron for just five dollars
a month. You get access to a

3
00:00:09.480 --> 00:00:14.199
private RSS feed where all the shows
have no ads. Twenty dollars a month,

4
00:00:14.240 --> 00:00:18.399
we'll get you that and a special
dot net Rocks patron mug. Sign

5
00:00:18.440 --> 00:00:24.079
up now at Patreon dot dot net
rocks dot com. Hey Carlin Richard here.

6
00:00:24.399 --> 00:00:28.879
As you may have heard, NDC
is back offering their incredible in person

7
00:00:28.960 --> 00:00:33.320
conferences around the world, and we'd
like to tell you about them. NDC

8
00:00:33.479 --> 00:00:39.439
Copenhagen is happening August twenty seventh through
the thirty first. Go to NDC Copenhagen

9
00:00:39.560 --> 00:00:45.280
dot com for more information. NDC
Porto is happening October sixteenth through the twentieth.

10
00:00:45.520 --> 00:00:49.600
The early bird discount for DC Porto
ends July twenty first. Go to

11
00:00:49.719 --> 00:00:54.960
Dcporto dot com to register and check
out the full lineup of conferences at NDC

12
00:00:54.960 --> 00:00:59.840
Conferences dot com. Hey there,
this is Jeff Fritz, the Purple Blazer

13
00:01:00.200 --> 00:01:03.840
from Microsoft, letting you in on
a little secret about my friend Carl Franklin.

14
00:01:04.519 --> 00:01:07.920
You know, the guy who started
dot net Rocks, the first podcast

15
00:01:07.959 --> 00:01:12.879
about dot net in two thousand and
two. The guy who's been teaching Blazer

16
00:01:12.959 --> 00:01:19.200
on YouTube since twenty twenty, Yeah
that Carl Franklin. Well, Carl's joined

17
00:01:19.280 --> 00:01:23.159
up with the folks from Code in
a Castle to teach a week long hands

18
00:01:23.200 --> 00:01:29.040
on Blazer class at Are you ready
to get this? At a castle slash

19
00:01:29.239 --> 00:01:34.280
villa in Tuscany. It's sort of
a luxury vacation with Blazer learning built in.

20
00:01:36.439 --> 00:01:42.359
Carl's calling it the Blazer master Class. You'll learn Blazer from the ground

21
00:01:42.480 --> 00:01:47.079
up, finishing the week with the
ability to build and deploy Blazer applications.

22
00:01:48.239 --> 00:01:52.040
Since the training happens for only four
hours in the morning over six days,

23
00:01:52.439 --> 00:01:57.079
you can bring your significant other,
your partner with you and you should right

24
00:01:57.799 --> 00:02:01.400
This part of Italy is absolutely beautiful. There's so much to see and do,

25
00:02:01.760 --> 00:02:07.280
and in Larion Marco from Code into
Castle are organizing daily activities both at

26
00:02:07.319 --> 00:02:12.520
the castle and in the area.
The castle is in the Marema, a

27
00:02:12.599 --> 00:02:17.319
less touristed region of Tuscany, offering
both classic Tuscan hill country as well as

28
00:02:17.400 --> 00:02:23.319
easy access to the Etruscan Riviera,
with sublime local food, wine and olive

29
00:02:23.360 --> 00:02:29.080
oil around every corner. Breakfast is
included. Every day there will be two

30
00:02:29.080 --> 00:02:32.879
communal dinners at the castle book ending
the experience, and most other meals and

31
00:02:34.039 --> 00:02:38.240
all activities are included. And did
I mention you'll learn Blazer in person from

32
00:02:38.319 --> 00:02:44.240
Carl Franklin. Listen, space is
limited and for very good reason. This

33
00:02:44.319 --> 00:02:50.199
is quality training in a beautiful setting. Go to code in Acastle dot com

34
00:02:50.319 --> 00:02:57.759
slash Blazer twenty twenty three that's BLA
z O R two zero two three To

35
00:02:57.800 --> 00:03:02.439
take advantage of this amazing opportunity to
join Carl in Tuscany for an unforgettable week

36
00:03:02.719 --> 00:03:15.599
of La dolce vita while advancing your
programming skills in this important new technology.

37
00:03:22.639 --> 00:03:24.759
Welcome back to dot net Rocks.
This is Carl Franklin and this is Richard

38
00:03:24.800 --> 00:03:30.479
Campbell, and um, what can
I say? Man? We're it's beginning

39
00:03:30.520 --> 00:03:37.080
to rain here and the ash from
Ontario and is moving out now that's good

40
00:03:37.199 --> 00:03:39.599
weather changes. You know. The
first set of forest fires that really hit

41
00:03:39.680 --> 00:03:44.120
hard. We had some of the
northeast of BC and then Nova Scotia caught

42
00:03:44.159 --> 00:03:46.800
fire, which is weird. Nova
Scotia normally does not burn right, I

43
00:03:46.879 --> 00:03:50.599
know, and they couldn't had a
heck of a time trying to contain it,

44
00:03:50.639 --> 00:03:53.400
and it wasn't until mother nature came
along and said how about some rain

45
00:03:53.000 --> 00:03:57.680
that actually got things under control.
But they lost some homes, lots of

46
00:03:57.719 --> 00:04:00.080
people evacuated, like it's been,
it's been areas. I mean. The

47
00:04:00.159 --> 00:04:04.120
saving grace for a place like Quebec
is most of the fires are in the

48
00:04:04.159 --> 00:04:10.240
north, which is pretty deserted.
Not entirely. There are some First Nation

49
00:04:10.360 --> 00:04:14.280
villages that were not They weren't able
to save. They evaluated the people,

50
00:04:14.840 --> 00:04:19.120
but you're talking about places that people
have lived at literally for thousands of years.

51
00:04:19.399 --> 00:04:24.040
Thousands of years. Yeah, yeah, and so that is pretty painful.

52
00:04:24.040 --> 00:04:27.480
Well, if you're confused, we're
actually recording this on June ninth,

53
00:04:27.480 --> 00:04:30.040
and it's just a couple of days
after the fires in the Quebec started.

54
00:04:30.600 --> 00:04:35.519
But just good news that it's it's
all over now. Yeah, well mostly

55
00:04:35.600 --> 00:04:39.480
for me anyway. It's disturbing to
me that forest fire season has started this

56
00:04:39.600 --> 00:04:43.279
early. Yeah, you know it's
gonna be I think it's gonna be a

57
00:04:43.279 --> 00:04:46.120
tough summer. Yeah. Well,
let's get started with a little thing.

58
00:04:46.160 --> 00:04:57.879
We call it been or no framework
roll the crazy music. Awesome, All

59
00:04:57.920 --> 00:05:00.199
right, man, what do you
got all right. Far from me to

60
00:05:00.519 --> 00:05:08.079
report any news story that prevents people
from doing sane things like wearing seat belts

61
00:05:08.800 --> 00:05:14.920
or you know, getting vaccinated or
using a password manager. Pastor managers are

62
00:05:14.959 --> 00:05:17.319
good. Pastor managers are good.
However, every once in a while,

63
00:05:17.480 --> 00:05:23.720
one of them gets hacked. And
this happened on June fifth. It was

64
00:05:23.759 --> 00:05:29.639
reported key pass k ee pass version
two point five four fixes a bug that

65
00:05:29.720 --> 00:05:35.720
leaked clear text master password. Oh
that's not good. Here's the question,

66
00:05:35.759 --> 00:05:41.360
like why did they even have it? Like there's no reason? Yes,

67
00:05:42.639 --> 00:05:46.800
what yeah, like this this the
bigger thing here is that it suddenly breaks

68
00:05:46.839 --> 00:05:49.959
into this whole question of what were
you people doing under the hood. Well,

69
00:05:50.120 --> 00:05:53.480
well, here's the thing. It
wasn't. It wasn't like it was

70
00:05:53.560 --> 00:05:59.800
just boom done. It was it
was a vulnerability where you had to do

71
00:05:59.839 --> 00:06:02.360
a memory dump of the application.
So you have to crash the application,

72
00:06:02.720 --> 00:06:08.480
right, look through the memory dump, and then even though it's a secure

73
00:06:08.639 --> 00:06:12.199
text box, right, Yeah,
when the user types in the password,

74
00:06:12.199 --> 00:06:17.839
they are leftover strings, so basically
it gets everything but the beginning string.

75
00:06:17.879 --> 00:06:21.439
You know that little dot that pops
up when you're typing your password, right,

76
00:06:23.480 --> 00:06:27.199
So those are leftover strings, and
the dumper allows users to recover almost

77
00:06:27.240 --> 00:06:30.920
all of the mastered password characters apart
from the first one or two. Yeah,

78
00:06:30.959 --> 00:06:33.680
so it's not so bad, all
right, So you understand that,

79
00:06:33.720 --> 00:06:38.279
you're like, oh, so I
need direct access to your machine to have

80
00:06:38.319 --> 00:06:42.399
put code in it to be able
to break that, you know. Okay,

81
00:06:42.480 --> 00:06:45.680
Yeah, it's not so much of
a of a of a you know,

82
00:06:45.920 --> 00:06:49.360
we used it as clickbait on security
this week. Okay. Well,

83
00:06:49.399 --> 00:06:54.279
and the other thing is like key
passes, the you know Linux kind of

84
00:06:54.800 --> 00:06:58.920
yeah, you know, from the
open open source community, that's the one

85
00:06:59.040 --> 00:07:01.680
that is supposed to be the greatest
in a lot of respects, but tricky

86
00:07:01.720 --> 00:07:06.199
to use. So uh and it
still is very safe, so don't yeah,

87
00:07:06.240 --> 00:07:09.680
yeah, let's say, and you
know, the only thing worse than

88
00:07:10.600 --> 00:07:15.040
using a password manager is not using
not using like correct, Yes, I

89
00:07:15.519 --> 00:07:20.160
moved from one from from last pass
to Bitwarden. Same here, and I'm

90
00:07:20.199 --> 00:07:24.480
happy. We haven't looked back since
happy with bit Warden does a good job,

91
00:07:24.759 --> 00:07:27.160
right, all right, Well that's
what I got. Who's talking to

92
00:07:27.199 --> 00:07:30.519
us today, Richard grad A comments
Office Show twelve fifty five. So I've

93
00:07:30.519 --> 00:07:33.879
gone back in the archives about seven
years ago. Jeez. And that was

94
00:07:33.920 --> 00:07:38.920
a show that we did with Joe
Goodano when we were talking about as your

95
00:07:38.920 --> 00:07:42.839
App Insights, and that's a twenty
sixteen and I realized reading this, it's

96
00:07:42.879 --> 00:07:45.920
like, hey, you know,
those are pretty early days. They were.

97
00:07:46.680 --> 00:07:48.360
And one of the conversations that we
had at the time was the fact

98
00:07:48.439 --> 00:07:57.240
that there were updates that were coming
periodically, that we're fairly disruptive to developers,

99
00:07:57.319 --> 00:08:00.519
like the work that you were doing
and implementations you done and be shifted

100
00:08:00.519 --> 00:08:03.480
around. And so skinnoct actually had
this comment related to another comment, a

101
00:08:03.519 --> 00:08:07.639
comment from Jan Tarlemaine from show twelve
to thirty nine, which is only a

102
00:08:07.680 --> 00:08:15.279
few shows before, about cloud service
updates making life difficult for developers, and

103
00:08:15.279 --> 00:08:18.560
he'd just seen a plural sight course
from John Seville. I remember John on

104
00:08:18.639 --> 00:08:20.959
Sequel as You're and he mentioned some
of the deprecated features. This is probably

105
00:08:22.040 --> 00:08:24.279
much rare, but potentially a much
worse problem than updates. It seems to

106
00:08:24.279 --> 00:08:31.800
me that the classic challenge here is
managing benefits to companies based on features.

107
00:08:31.600 --> 00:08:33.960
But otherwise, you guys, keep
up the good work. We really like

108
00:08:35.399 --> 00:08:41.600
everything here and it run as radio. Thank you and we'll keep working on

109
00:08:41.639 --> 00:08:46.320
the problem. And I just I've
forgotten that, like seven years ago,

110
00:08:48.480 --> 00:08:52.000
we were dealing with a lot of
breaking changes. You know, Asure was

111
00:08:52.039 --> 00:08:56.600
relatively young, and they were learning
more as a number of customers grew about

112
00:08:56.600 --> 00:09:00.799
how things should be architected. And
it was an ongoing topic for us five

113
00:09:00.879 --> 00:09:03.159
hundred episodes ago. If we don't
talk about that anymore, now we don't.

114
00:09:03.399 --> 00:09:07.440
It's true, great, Really,
it's not a thing. I think

115
00:09:07.440 --> 00:09:09.440
we're cred of hitting a maturity point
where we can kind of count on the

116
00:09:09.480 --> 00:09:13.879
product to give us pretty clear paths
forwards. It still happens once in a

117
00:09:13.919 --> 00:09:18.080
while, but they also give you
lots of warning to migrade and give you

118
00:09:18.080 --> 00:09:20.879
good migration paths. Yeah, so
seekonette. Thank you so much for your

119
00:09:20.879 --> 00:09:22.159
comment and a copy of music.
Cobuy is on its way to un If

120
00:09:22.200 --> 00:09:24.759
you'd like a copy of music,
go buy right a comment on the website

121
00:09:24.759 --> 00:09:28.080
at dot net rocks dot com or
on the facebooks publish every show there,

122
00:09:28.240 --> 00:09:31.480
and if you comment there and everyady
on the show, we'll send you a

123
00:09:31.480 --> 00:09:33.120
copy of music. Go buy,
and you can follow us on Twitter if

124
00:09:33.120 --> 00:09:37.240
you want to. We've been there
a long time. But the real fun

125
00:09:37.320 --> 00:09:41.200
stuff's happening on mass done. I
met Carl Franklin at tech Hub dot social,

126
00:09:41.399 --> 00:09:46.000
and I'm rich Campbell at Massa dot
dot social. Send us a tout

127
00:09:46.039 --> 00:09:50.159
Rudy too, Rich, Rudy,
tuity, fresh and fruity, all right,

128
00:09:50.360 --> 00:09:54.960
right, something like that, All
right to let me bring on our

129
00:09:54.000 --> 00:10:01.240
guests today. Savannah Trotsky is a
senior product manager at Microsoft focused on Azure

130
00:10:01.279 --> 00:10:05.679
Cloud native developer tools and experience.
She's the product lead for the open source

131
00:10:05.720 --> 00:10:11.960
Azure Developer CLI, formerly known as
azd a ZYD. Previously, she was

132
00:10:13.039 --> 00:10:16.799
the proud manager for the Pilance Language
Server, which powers the editing experience in

133
00:10:16.879 --> 00:10:22.879
visual Studio, code code Spaces,
visual Studio, and more. She's passionate

134
00:10:22.879 --> 00:10:26.960
about Python, open source software,
debops, and developer experience. Welcome to

135
00:10:26.960 --> 00:10:31.879
the show, Savannah, Hello,
thanks for having me. Richard named Carl.

136
00:10:31.159 --> 00:10:35.320
Nice to meet both of you as
well. Yeah, definitely excited to

137
00:10:35.320 --> 00:10:37.919
have you on. And CLI is
something that I used to use, you

138
00:10:37.960 --> 00:10:41.120
know, PowerShell, and then it's
like built right into the portal. Now

139
00:10:41.159 --> 00:10:45.279
you can just like click up and
it's been there for a while. I

140
00:10:45.360 --> 00:10:48.840
realize that you just click a button
and poof CLI. I love that.

141
00:10:50.159 --> 00:10:54.679
Yeah, there's like a couple of
different CLIs happening on Azure these days,

142
00:10:54.759 --> 00:10:58.559
like the like Azure Cli you said, PowerShell, cloud Shell stuff, and

143
00:10:58.600 --> 00:11:03.360
now the Azure Developer Cli. So
alright, I'm better define the differences here

144
00:11:03.360 --> 00:11:07.080
because that's a lot of that's a
lot of CLIs, I think. So

145
00:11:07.600 --> 00:11:11.360
yeah, I think with the Azure
Developer Cli being a new product, I

146
00:11:11.360 --> 00:11:16.240
think that is sort of a thing
that we have to clarify a little bit.

147
00:11:16.000 --> 00:11:20.600
So the Azure Developer CLI, the
thing that I work on, is

148
00:11:20.679 --> 00:11:28.159
a higher level application developer friendly CLI. So instead of you interacting with atomic

149
00:11:28.200 --> 00:11:33.480
Azure resources like a particular service and
passing in a bunch of parameters and flags

150
00:11:33.480 --> 00:11:39.039
and configurations in an imperative way in
the terminal, the Azure Developer Cli thinks

151
00:11:39.080 --> 00:11:43.919
more about like the total application scope, so like all of the Azure resources

152
00:11:43.919 --> 00:11:46.840
and how they kind of fit together. And so in the command line we

153
00:11:48.000 --> 00:11:54.039
have our commands are more like initialized, provision, deploy up down, and

154
00:11:54.120 --> 00:12:00.159
we defer kind of that complexity to
infrastructure is code more declarative model. So

155
00:12:00.240 --> 00:12:03.080
that's kind of like the difference I
guess um to two tools in the same

156
00:12:03.120 --> 00:12:07.039
tool belt, different different jobs to
be done, right, right, So

157
00:12:07.200 --> 00:12:13.919
is that sort of in the UM
the Palumi space or the other the I'm

158
00:12:15.000 --> 00:12:20.559
saying terraform. Yeah, yeah,
So we support so um the Asure Developer

159
00:12:20.600 --> 00:12:24.279
CLI uses the infrastructure is code in
the form of these application templates, and

160
00:12:24.360 --> 00:12:30.120
today we support BICEP, which is
the Microsoft flavor of infrastruct and Terraform.

161
00:12:30.919 --> 00:12:35.039
Our top most upboted issue on our
GitHub repoot is also to support Pollumi.

162
00:12:35.919 --> 00:12:39.320
The people want it. That's great. That's the first one I really heard

163
00:12:39.320 --> 00:12:43.799
about. But they've all been around
for a while, all right. So

164
00:12:43.159 --> 00:12:46.559
when you have these high level commands, obviously there's a lot of stuff behind

165
00:12:46.600 --> 00:12:52.320
them. So how you're assuming that
you're connecting to your what your resource group

166
00:12:52.440 --> 00:12:58.480
or something like that first, that
is your overarching context for for this CLI?

167
00:12:58.759 --> 00:13:03.879
How does that work? So it's
actually like a level but like higher

168
00:13:03.000 --> 00:13:09.000
level than that, so like the
whole like the original reason the Azure Developer

169
00:13:09.080 --> 00:13:15.039
CLI was created was really to like
support application developers who don't necessarily have expertise

170
00:13:15.080 --> 00:13:18.639
on Azure get their apps on Azure
and so a lot of those folks don't

171
00:13:18.639 --> 00:13:22.399
necessarily know what resources they need for
their application. They might be able to

172
00:13:22.480 --> 00:13:26.960
identify like their local app stack and
the technologies they're using to build their prototype,

173
00:13:26.000 --> 00:13:31.320
but they don't necessarily know I want
Azure Container apps or Azure app service

174
00:13:31.399 --> 00:13:33.960
with key vaults and all of that
good stuff. And so the idea with

175
00:13:35.120 --> 00:13:39.879
AZD is that you go and you
find an application template, which you can

176
00:13:39.879 --> 00:13:43.440
find on gethub. We have Microsoft
authored ones that our team and other teams

177
00:13:43.440 --> 00:13:48.120
of Microsoft have authored. There also
community created templates. Find one that maps

178
00:13:48.120 --> 00:13:54.159
to your local app stack, and
then you basically swap out this the proof

179
00:13:54.159 --> 00:13:58.000
of concept source code that's in there
and piggyback off of the infrastructure as code

180
00:13:58.039 --> 00:14:01.799
assets on daisi er so you don't
have to fuss with kind of the complexity

181
00:14:01.799 --> 00:14:05.559
of Azure. I mean, step
one is really get your app in the

182
00:14:05.960 --> 00:14:09.320
cloud right, and then as time
goes on and as you have, you

183
00:14:09.360 --> 00:14:11.799
know, problems you want to sort
out, Like maybe now your application serves

184
00:14:11.919 --> 00:14:16.559
a million users, you might want
to change some of the configurations and the

185
00:14:16.600 --> 00:14:22.399
skews and that kind of stuff to
support a more high highly trafficked app or

186
00:14:22.399 --> 00:14:26.320
a website. And you can do
that, but incrementally by kind of fine

187
00:14:26.360 --> 00:14:30.000
tuning the infrastructure's code with a specific
problem in mind, instead of having to

188
00:14:30.039 --> 00:14:33.600
deal with all of the complexity of
Azure right right from the get go.

189
00:14:33.919 --> 00:14:37.519
Yeah, I mean me as a
as a developer that is familiar with provisioning

190
00:14:37.519 --> 00:14:43.039
Azure resources. It sounds a little
scary to me because if I just say

191
00:14:43.120 --> 00:14:48.080
something like deploy, is it going
to create resources that I'm now paying for

192
00:14:48.240 --> 00:14:52.039
that I don't know what I'm paying
for? Is it going to generate those

193
00:14:52.039 --> 00:14:56.279
things for me? Or is it
assume that those things exist before I get

194
00:14:56.320 --> 00:15:01.559
to deploy? So all of those
resources are defined in the infrastructure as code

195
00:15:01.600 --> 00:15:05.000
and so there's nothing like magical happening
here. We're just kind of like,

196
00:15:05.200 --> 00:15:09.559
instead of that imperative like I'm touching
an individual Azure resource or walking through the

197
00:15:09.600 --> 00:15:13.840
Azure portal, we have this infrastructure
as code that lives in the same application

198
00:15:13.879 --> 00:15:16.519
scope as the developers source code.
So you can go in there understand what's

199
00:15:16.559 --> 00:15:20.679
happening, but the gestures that you
need to use day to day are just

200
00:15:20.720 --> 00:15:24.360
like a lot easier to remember.
Got it? That makes sense? Yeah,

201
00:15:24.360 --> 00:15:26.799
it feels like this is a place
to hide complexity, so you can

202
00:15:26.840 --> 00:15:28.720
just go when you're ready to go
and all of that. You only need

203
00:15:28.759 --> 00:15:31.320
to work all this stuff out once. Yeah, I think I kind of

204
00:15:31.519 --> 00:15:35.720
talk about in terms of deferring the
complexity, you know, because it's there,

205
00:15:37.120 --> 00:15:39.120
like the complexity of the cloud is
still there, and there's like learning

206
00:15:39.159 --> 00:15:43.879
to be done, right, but
it's not like you're overwhelmed right from the

207
00:15:43.919 --> 00:15:46.919
get go, and like you can
focus on the problems you want to focus

208
00:15:46.919 --> 00:15:48.519
on when you want to focus on
them, right. I mean, we

209
00:15:48.639 --> 00:15:52.279
all we know we should be storing
our secrets in key valls. The question

210
00:15:52.360 --> 00:15:54.799
is do you have to have all
that set up first before you can do

211
00:15:54.840 --> 00:16:00.639
a deploy or these there workarounds here
that then later I can put key vault

212
00:16:00.720 --> 00:16:06.759
in. Yeah, so in like
the infrastructure's code, the key vault would

213
00:16:06.799 --> 00:16:10.159
be defined there along with like monitoring
infrastructure kind of all the stuff that you

214
00:16:10.159 --> 00:16:15.039
would need. And then today it's
a pretty manual process to go in and

215
00:16:15.039 --> 00:16:18.120
tweak the the iic the infrastructure is
code to add a key vault or add

216
00:16:18.120 --> 00:16:22.480
a database later. But we are
working on features maybe in the next six

217
00:16:23.120 --> 00:16:26.919
months to a year from now,
that would allow someone to inject infrastructure's code

218
00:16:26.919 --> 00:16:30.440
into their project. One very important
question. It's not a YAML file,

219
00:16:30.559 --> 00:16:34.919
is it. So we have an
azure dot YAML, which is a very

220
00:16:36.279 --> 00:16:41.559
yeah, yet another yam file,
right, we have like a very simple

221
00:16:41.720 --> 00:16:47.799
short YAML file we use to tell
the developer CLI like it'll be like what

222
00:16:47.879 --> 00:16:51.080
services do you? I mean front
end, back end. It has the

223
00:16:51.200 --> 00:16:55.039
language, the target hosts, so
if you're using app service, and a

224
00:16:55.159 --> 00:16:57.240
path toward the source code lives and
that's like basically all that really needs to

225
00:16:57.279 --> 00:17:02.720
live in there. But the configuration
isn't yammo, right, No, it's

226
00:17:02.759 --> 00:17:08.240
bi separate terraform okay, right good
and eventually polluted and someday pollumi probably.

227
00:17:08.359 --> 00:17:12.400
So I'm literally grabbing links as fast
as I can go because you know,

228
00:17:12.440 --> 00:17:17.799
I found the Azure yamal for for
AZD, like all of these are the

229
00:17:18.240 --> 00:17:21.599
little tidbits are like okay, I
get this, I need that piece in

230
00:17:21.599 --> 00:17:26.119
this piece, Like it's still assembling
the bits to make AZD behave for us.

231
00:17:26.480 --> 00:17:29.599
Yeah. Yeah, the like the
Azure yamal I kind of consider to

232
00:17:29.640 --> 00:17:33.160
be like the entry point for you
telling a ZD like what it is you're

233
00:17:33.200 --> 00:17:34.920
trying to do, and like where
your quote code lives, and like how

234
00:17:34.960 --> 00:17:38.799
it can stitch together the app and
then the infra diirectory contains all of you

235
00:17:40.160 --> 00:17:44.160
your you know, the Azure specific
infrastructure is code stuff and pull stuff from

236
00:17:44.200 --> 00:17:45.920
there and stitch it all together for
you. Yeah, it's still a bunch

237
00:17:45.960 --> 00:17:51.519
of bits, there's no two ways
about it. I did find the GitHub

238
00:17:51.559 --> 00:17:56.240
repository for awesome AZD because and there's
a ton of stuff here. Holy Macaroni's.

239
00:17:56.519 --> 00:18:00.559
Yeah, I like the whole awesome
idea. There's a whole bunch of

240
00:18:00.880 --> 00:18:03.200
awesome collections. Yeah. I have
to give a like a shout out to

241
00:18:03.200 --> 00:18:07.759
one of the cloud developer advocates.
I work with Nitya who who came up

242
00:18:07.799 --> 00:18:11.039
with the idea for calling it awesome. AZDM built the initial prototype of that

243
00:18:11.079 --> 00:18:15.960
website, which like is really like
a curated template gallery for various application stacks

244
00:18:17.000 --> 00:18:22.480
as your technologies, trying to make
it more discoverable for folks to find the

245
00:18:22.559 --> 00:18:26.680
right recipe right well and not roll
your own right. Look, here's here's

246
00:18:26.680 --> 00:18:34.480
a solution for implementing the for Kubernetes
right for as your front door. It's

247
00:18:34.519 --> 00:18:40.599
like it's been solved. It almost
reminds me of the PowerShell world where it's

248
00:18:40.599 --> 00:18:42.519
like listen, somebody's order written a
chunk of PowerShell to do this, just

249
00:18:42.559 --> 00:18:45.680
go get it from the gallery,
like don't write your own Yeah, okay,

250
00:18:45.839 --> 00:18:51.000
to learn from it adapted And this
feels very much the same sort of

251
00:18:51.039 --> 00:18:55.440
thing of a lot of folks that
put a lot of energy into putting all

252
00:18:55.480 --> 00:18:57.920
of these templates together for you in
advance that you can pick them up and

253
00:18:59.319 --> 00:19:03.200
assemble. It is something that's pretty
comprehensive. Yeah, it's also been pretty

254
00:19:03.240 --> 00:19:06.680
cool like in the you know,
the current state of the world with all

255
00:19:06.680 --> 00:19:10.559
the AI stuff coming out, there's
like AI templates in there too, so

256
00:19:10.599 --> 00:19:14.039
like things like build your own chat
GPT plug in and hosted on Azure,

257
00:19:14.319 --> 00:19:18.559
or build your own chat GPT like
trained on your enterprise data so that you

258
00:19:18.599 --> 00:19:23.079
can have people use natural language to
ask questions about their healthcare plan, you

259
00:19:23.119 --> 00:19:27.319
know. So it's it's pretty cool
to see like the diversity of applications being

260
00:19:27.359 --> 00:19:30.799
built in there too. Yeah,
look at them all. Yeah, this

261
00:19:30.000 --> 00:19:33.839
is not just the plumbing for deploying
an app service. Yeah, there's a

262
00:19:33.839 --> 00:19:37.440
lot of different pieces here and a
lot of different directions you go in.

263
00:19:37.559 --> 00:19:41.680
So I mean often when we say
go in a ZT you know, that's

264
00:19:41.720 --> 00:19:44.440
a lot of go. Yeah,
all right, what else do we need

265
00:19:44.480 --> 00:19:47.440
to know? I know by the
azure animal schema, and I'm glad to

266
00:19:47.559 --> 00:19:52.920
know that it's as much of the
animal as I'm gonna need only enough.

267
00:19:52.200 --> 00:19:56.960
Yeah, but and then it sounds
like biceps the first class citizen, Like

268
00:19:57.000 --> 00:20:00.720
that's probably my next step is to
go spend some time with bicep. Yeah,

269
00:20:00.759 --> 00:20:04.559
bicep is sort of the like what
we've seen a lot of folks adopting

270
00:20:04.920 --> 00:20:11.400
mud right now. Bicep is kind
of um it's it's in like our support

271
00:20:11.440 --> 00:20:15.599
for bicep is in like a stable
quote unquote stable state. Terraform is a

272
00:20:15.640 --> 00:20:18.599
bit earlier on. It's it's an
alpha right now behind a feature flag because

273
00:20:18.599 --> 00:20:23.200
we wanted to com We recently introduced
these alpha, beta, and stable kind

274
00:20:23.200 --> 00:20:26.519
of feature stages for each feature as
we rolled them out to communicate to folks

275
00:20:26.559 --> 00:20:30.319
like, maybe you don't want to
use this in a production scenario today because

276
00:20:30.359 --> 00:20:34.160
like the actual user experience of using
this feature might change because we're like getting

277
00:20:34.160 --> 00:20:40.480
feedback, right so there, we're
hoping to get Terraform also that stable state

278
00:20:40.559 --> 00:20:44.640
kind of with more use and more
stress testing across applications and stuff. Funny

279
00:20:44.640 --> 00:20:48.960
that ties right back to Sea connects
comment about changes in Azure and heavy services

280
00:20:48.000 --> 00:20:52.079
move from under view. Maybe maybe
the other thing has happened in seven years

281
00:20:52.160 --> 00:20:56.480
is that Microsoft themselves has gotten very
disciplined about Hey, when we say stable,

282
00:20:56.519 --> 00:20:57.880
we mean stable, and if you
implement this you can expect it to

283
00:20:57.920 --> 00:21:03.160
keep working for atty pain Leslie.
But when we say beta or you know,

284
00:21:03.279 --> 00:21:07.000
experimental, you should expect this to
shift from under you. And so

285
00:21:07.119 --> 00:21:10.920
you've at least got fair warning that
you might be surprised when the newer version

286
00:21:10.920 --> 00:21:14.160
comes along. Yeah, I mean, I think trying to avoid situations where

287
00:21:14.200 --> 00:21:18.880
people have unpleasant surprises and their stuff
is broken, especially because you can run

288
00:21:18.960 --> 00:21:23.000
a CD and CI pipelines as well, like making sure like there's a good

289
00:21:23.039 --> 00:21:29.400
contract there and that people can rely
on it for business critical scenarios without you

290
00:21:29.480 --> 00:21:33.359
know, unpleasant stuff. Well it's
this, you say, the main thing,

291
00:21:33.359 --> 00:21:36.880
which is the surprise break? Right? Like that's the one where right,

292
00:21:37.119 --> 00:21:40.200
I just I just pushed code,
you know, I just accepted a

293
00:21:40.240 --> 00:21:44.640
pull request and now I have a
string of errors and everybody's like, what

294
00:21:44.880 --> 00:21:48.960
just happened? And it's got nothing
you do with my pr it's got everything

295
00:21:48.000 --> 00:21:53.599
to do with some service change somewhere
in the pipeline and we're exploding now and

296
00:21:55.240 --> 00:21:57.319
now you have to dismantle all that
and check bit by bit to figure out,

297
00:21:57.440 --> 00:22:02.640
like what's the broken bid. Yeah, and that itself is sort of

298
00:22:02.680 --> 00:22:06.519
like antithetical to azd's value prop,
right, But like we want to keep

299
00:22:06.559 --> 00:22:11.319
people focused on the business critical scenarios
that they're trying to go after. And

300
00:22:11.359 --> 00:22:14.920
so if we're like, you know, causing breaking changes for folks, that

301
00:22:15.079 --> 00:22:18.680
is like derailing them from their path
from A to B, that's that's bad.

302
00:22:18.799 --> 00:22:21.000
Right. So yeah, it's like, hey, you know, I

303
00:22:21.039 --> 00:22:26.599
had work to do. Yeah,
yeah, exactly. Oh yeah, I

304
00:22:26.640 --> 00:22:30.839
appreciate that. And it also speaks
to it's up to us to be smart

305
00:22:30.880 --> 00:22:34.160
about reading these things and knowing I
only want the stable stuff put in.

306
00:22:34.240 --> 00:22:38.319
Maybe it's a few fewer futures and
I really really wanted, but I'm going

307
00:22:38.359 --> 00:22:42.440
to be surprised far less often if
I stick with the stable set and then

308
00:22:42.480 --> 00:22:47.480
only experimental. And I absolutely have
to because I need that feature desperately.

309
00:22:47.640 --> 00:22:52.079
Yeah, we have a couple of
things in alpha state right now, terror

310
00:22:52.160 --> 00:22:56.319
Form, our support for Azure Spring
apps. And also we recently added resource

311
00:22:56.319 --> 00:23:00.839
groups scope to deployments. Previously we
only supported such ryption scope, but we

312
00:23:00.880 --> 00:23:03.319
wanted to also give people some more
flexibility and their infrastructure as code. So

313
00:23:03.599 --> 00:23:08.640
yeah, that's a cool idea resource
scoping, just because you know, as

314
00:23:08.640 --> 00:23:12.440
your environments are getting massive, so
me being able to say, having to

315
00:23:12.440 --> 00:23:15.119
create a resource group for all of
these things, and that's where you play.

316
00:23:15.359 --> 00:23:18.880
Yeah, and we allow you now
to like with that feature, like

317
00:23:18.000 --> 00:23:22.640
bring an existing resource group to a
ZED right right. Previously we always support

318
00:23:22.680 --> 00:23:26.200
the case where we were creating resource
groups for the user and then putting all

319
00:23:26.240 --> 00:23:30.960
their resources in there, but we
want to enable scenarios where people might want

320
00:23:30.960 --> 00:23:36.440
to like adopt AZD beyond, just
like true day zero scenarios. So right,

321
00:23:36.519 --> 00:23:38.559
yeah, yeah, and there in
lies the problem with these kinds of

322
00:23:38.559 --> 00:23:41.680
tools, like taking an existing app
and getting it to work through this is

323
00:23:41.720 --> 00:23:45.759
not a trivial problem. Yeah,
yeah, for sure. So I'm reading

324
00:23:45.799 --> 00:23:53.079
the I'm scanning the documentation here and
there's some information about customizing workflows using command

325
00:23:53.119 --> 00:23:59.000
and event hooks and that that really
piqued my interest because you know, the

326
00:23:59.079 --> 00:24:02.240
more we can hook into these things, that you know, more we can

327
00:24:02.279 --> 00:24:03.720
take advantage of them. I think, how does that work? Yeah,

328
00:24:03.759 --> 00:24:07.880
so we have support for pre impost
command, and like kind of service life

329
00:24:07.920 --> 00:24:11.200
cycle hooks, so things like oh, you want to run a script before

330
00:24:11.200 --> 00:24:15.759
your provision or after provision or before
deploy or after deploy, like, we

331
00:24:15.799 --> 00:24:18.279
give you kind of that flexibility.
I think the reality is was when you're

332
00:24:18.319 --> 00:24:22.160
building a tool for all developers,
you kind of have to make it sort

333
00:24:22.200 --> 00:24:26.839
of malleable, right because everyone's got
their own workflow or scripts they want to

334
00:24:26.920 --> 00:24:32.279
run ahead of a deployment. So
we tried to kind of give that flexibility

335
00:24:32.279 --> 00:24:36.000
through the through the hook support.
Yeah, very cool. Nice. Another

336
00:24:36.039 --> 00:24:42.160
thing I see is make your project
a ZED compatible. So a project isn't

337
00:24:42.200 --> 00:24:45.000
compatible with a z D right out
of the box. What does that mean

338
00:24:45.279 --> 00:24:52.480
so today? Yeah, so today
there is some overhead and kind of rolling

339
00:24:52.519 --> 00:24:56.279
your own AZD combatible projects, so
that there's kind of two paths. One

340
00:24:56.359 --> 00:25:02.319
is finding a template and building off
of some one's existing work and infrastructure's code,

341
00:25:02.559 --> 00:25:04.799
swapping out that source code for your
own, modifying it, and then

342
00:25:04.839 --> 00:25:08.519
AZD upping it, which will package, provision and deploy the Apple Azure.

343
00:25:11.200 --> 00:25:14.279
Then there's like the option of I
actually don't want to start from a template.

344
00:25:14.319 --> 00:25:17.279
I want to start from my own
I know how to write infrastructure is

345
00:25:17.319 --> 00:25:21.559
code. I need to write infrastructure's
code. I need to make like add

346
00:25:21.559 --> 00:25:25.480
an Azure amble to the project and
then azd app it. So there's like

347
00:25:25.880 --> 00:25:29.680
there is some work there. We
are working on some features that would allow

348
00:25:29.680 --> 00:25:33.240
a developer to not have to do
either of those things, where we would

349
00:25:33.240 --> 00:25:37.200
maybe infer kind of what the local
app stack is and then generate some infrastructure

350
00:25:37.240 --> 00:25:41.799
as code for them. We started
some early prototyping on that, but yeah,

351
00:25:41.799 --> 00:25:45.359
that's definitely still one of the things
that I'd like to get us past,

352
00:25:45.400 --> 00:25:48.599
because that's it's not sometimes not trivial, right, Yeah, I mean

353
00:25:48.960 --> 00:25:52.359
we've often run into this issue where
it's like I want you to parse my

354
00:25:52.440 --> 00:25:56.440
existing application to make a template for
me, essentially like work with what i've

355
00:25:56.440 --> 00:26:00.480
got. Yeah, but that's not
a simple problem. People do crazy things.

356
00:26:03.480 --> 00:26:07.440
Who knows what the code the infrastructure
looks like? But yeah, I

357
00:26:07.480 --> 00:26:11.119
guess that you know today right now, the challenge with an existing brownfield app

358
00:26:11.200 --> 00:26:14.640
is to go thumb through the templates
and say, like, what do I

359
00:26:14.720 --> 00:26:18.079
need? Yeah, it's close to
fit these things together, yeah, yeah,

360
00:26:18.119 --> 00:26:19.880
and then figure out the rough spots. Yeah, and there are like

361
00:26:21.039 --> 00:26:26.039
some templates that are more targeted at
the enterprise scenarios. Like there's a reliable

362
00:26:26.160 --> 00:26:29.799
dot net web app one which I
think is like a true twelve factor app,

363
00:26:30.240 --> 00:26:33.119
and we have like some JavaScript ones. There was one like that shows

364
00:26:33.119 --> 00:26:37.680
like a full real estate website with
like a payment system and a blog and

365
00:26:37.759 --> 00:26:41.279
like a listing and it's wow.
Yeah that came out at Builds a couple

366
00:26:41.279 --> 00:26:45.680
of weeks ago, and definitely seeing
some people like really building large proof of

367
00:26:45.720 --> 00:26:52.240
like kind of sample architectures, and
also some like pretty basic stuff too,

368
00:26:52.279 --> 00:26:53.319
so kind of across the board.
But yeah, you're right, like I

369
00:26:53.359 --> 00:26:57.920
think, especially if you've got like
a large enterprise brownfield application, like it's

370
00:26:59.000 --> 00:27:02.319
it's still a ask, right,
Yeah, no question. I mean,

371
00:27:02.480 --> 00:27:06.400
and I appreciate someone going to the
trouble to build that sort of comprehensive wide

372
00:27:06.960 --> 00:27:10.839
app model as a template. Not
that I'll probably use it directly, but

373
00:27:10.839 --> 00:27:12.920
it's a great starting point for me
to look at it and go, now,

374
00:27:12.960 --> 00:27:15.960
how would I build this for my
app with each of these pieces sort

375
00:27:15.960 --> 00:27:19.440
of knowing how to break them down
into the significant segments and what each of

376
00:27:19.440 --> 00:27:25.519
them would look like. But yeah, here and this is great when you're

377
00:27:25.559 --> 00:27:27.839
starting something new, to just go
all right, we've made We've got a

378
00:27:27.839 --> 00:27:30.319
whiteboard scenario here. We kind of
know what we want to go. I

379
00:27:30.319 --> 00:27:34.240
think this templates closest let's go and
you a z D from the very beginning.

380
00:27:34.480 --> 00:27:38.160
Yeah, like retrofitting a ZD in
new existing project just going to be

381
00:27:38.200 --> 00:27:42.599
more challenging. Yeah, and it
like not in not between now and the

382
00:27:42.680 --> 00:27:45.880
end of this year, but probably
early next year, we'll be focusing kind

383
00:27:45.880 --> 00:27:49.319
of more on that, like what
I kind of call compose ability, right,

384
00:27:49.440 --> 00:27:52.200
or like maybe I start out with
a basic app, but then later

385
00:27:52.240 --> 00:27:56.160
I decide I need to add more
components to it, or you know,

386
00:27:56.200 --> 00:27:59.960
swap out my database, or like
how do we enable people to do that?

387
00:28:00.200 --> 00:28:03.000
Because that's common, right, Like
when you later decide or discover that

388
00:28:03.039 --> 00:28:06.319
there's some problem that you need to
add infrastructure like that is something that comes

389
00:28:06.359 --> 00:28:08.400
up pretty often. But yeah,
yeah, starting with the kind of onboarding

390
00:28:08.400 --> 00:28:12.559
scenarios first and then kind of the
project to grow up stories as well.

391
00:28:12.720 --> 00:28:18.079
Absolutely, and Savana, I'm gonna
interrupt for one moment this very important message

392
00:28:21.960 --> 00:28:25.319
and we're back it's done at Rocks. I'm Richard Campbell, that's Carl Franklin

393
00:28:25.599 --> 00:28:30.240
Yo. Talking to our friend Savannah
from Microsoft a bit about AZD which is

394
00:28:30.279 --> 00:28:34.920
the Azure Developer CLI, not the
PowerShell CLI, not the as Your CLI.

395
00:28:36.119 --> 00:28:40.559
They're different, but very much focused
on the on the dev challenge,

396
00:28:40.759 --> 00:28:42.640
and we right before the break we
were talking a bit about like, I'm

397
00:28:42.720 --> 00:28:45.720
changing the infrastructure for my app,
Like, what's this going to look like?

398
00:28:47.400 --> 00:28:49.200
I can't imagine. In fact,
I've been talking to a company's dealing

399
00:28:49.240 --> 00:28:53.640
with this where the happily using as
your sequel. Now there's parts of the

400
00:28:53.680 --> 00:28:56.799
app that are that are widely distributed, more performance sensitive, and you're like,

401
00:28:56.839 --> 00:29:00.160
hey, we're talking about using Cosmos
for part of this, so I

402
00:29:00.200 --> 00:29:04.519
would imagine you'd bring in Cosmo the
Cosmos template just to make it part of

403
00:29:04.519 --> 00:29:07.960
the deploy And you've really got the
You're not you're not going to hang up

404
00:29:08.000 --> 00:29:11.279
as your sequel. That's not going
away, but we're moving pieces of the

405
00:29:11.319 --> 00:29:18.039
workload over to Cosmos dB and having
those deploys run as well, and then

406
00:29:18.240 --> 00:29:22.759
making some connectors and things to synchronize
data eventually, but I need that performance

407
00:29:22.759 --> 00:29:25.880
on the front end. So I've
got this platform that'll do it for me,

408
00:29:26.240 --> 00:29:27.519
but I got to add it into
the equation. Am I thinking the

409
00:29:27.599 --> 00:29:33.039
right way? Yeah? I mean
that that's the scenario we like, eventually

410
00:29:33.079 --> 00:29:37.440
we do want to support UM,
But like, I think the tricky part

411
00:29:37.559 --> 00:29:41.200
is there, Like what is the
developer experience of like adding or modifying your

412
00:29:41.240 --> 00:29:45.119
infrastructure as code or like actually updating
it, right, Because like the thing

413
00:29:45.240 --> 00:29:51.039
is, like a lot of application
developers don't necessarily care about infrastructure as code

414
00:29:51.039 --> 00:29:55.400
if they're uninitiated, right, they
care about the flexibility and deployments. They

415
00:29:55.400 --> 00:29:57.640
care about, you know, being
able to like find two and stuff,

416
00:29:57.680 --> 00:30:02.359
but that infrastructure is own piece,
especially if they don't understand the value prop

417
00:30:02.359 --> 00:30:06.200
of infrastructure as code. It's really
just like a means to an end for

418
00:30:06.240 --> 00:30:10.000
them. So like we're trying to
like figure out the right gestures to expose

419
00:30:10.079 --> 00:30:11.799
that in right, it's part of
my fast deploy process, right, It's

420
00:30:11.839 --> 00:30:15.200
that I don't want to think about
deployment. So I have all of the

421
00:30:15.359 --> 00:30:21.480
I learned enough I ac at the
time to get the pipeline working, and

422
00:30:21.519 --> 00:30:23.799
then it all fell out of my
head because now I've got to work on

423
00:30:23.920 --> 00:30:29.559
my code and so each time I
go back to make changes to that for

424
00:30:29.599 --> 00:30:33.480
whatever reason, it's like starting over. Yeah, you know, I don't.

425
00:30:33.680 --> 00:30:34.839
I don't think we do. Most
of us do with this, and

426
00:30:36.079 --> 00:30:40.240
often enough to actually retain it.
It's like red Jax in a way,

427
00:30:40.279 --> 00:30:44.359
like you can't hold that stuff in
your head. I've never learned redj X.

428
00:30:44.400 --> 00:30:47.839
It's just something I go into a
validator every single time, right,

429
00:30:48.039 --> 00:30:51.880
absolutely, And I feel the same
way about you know. I know there's

430
00:30:51.920 --> 00:30:55.440
folks out there that work on this
stuff all the time because they're they are

431
00:30:55.519 --> 00:31:00.119
the specialist for their organization and they're
taken care of a dozen projects. But

432
00:31:00.279 --> 00:31:04.440
that's not me. All right.
I've got my projects, and I'm partly

433
00:31:04.480 --> 00:31:08.440
responsible for some of the IAC stuff. I'm also talking to maybe subsistemins in

434
00:31:08.519 --> 00:31:11.599
it, and so I'm kind of
picking it up from scratch every time.

435
00:31:12.000 --> 00:31:15.160
Yeah, and so you know,
everything you can do to make that easier

436
00:31:15.200 --> 00:31:18.799
for me, to sort of guide
me down the path. That's pretty compelling,

437
00:31:19.799 --> 00:31:25.119
certainly for the initial builds. But
this, you know, it's adding

438
00:31:25.160 --> 00:31:27.079
weight to changing infrastructure. Oh,
if we're going to change the infratructure,

439
00:31:27.119 --> 00:31:30.759
that also means you have to change
the pipeline, Like what does that look

440
00:31:30.799 --> 00:31:33.559
like? What do we got to
do? Yeah, And kind of like

441
00:31:33.599 --> 00:31:37.039
another feature that we're working on in
the next couple months is this like what

442
00:31:37.119 --> 00:31:41.160
we are calling like an application scaffolding
wizard, So that would be like I

443
00:31:41.200 --> 00:31:47.240
know actually things about ashore, I
know what services I want. Can azyd

444
00:31:47.319 --> 00:31:48.759
allow me to walk through a wizard
and say, I want key vall,

445
00:31:48.960 --> 00:31:53.759
I want container apps, I want
this thing and just spit out infrastructure as

446
00:31:53.799 --> 00:31:57.799
code modules with smart defaults that I
can go in and tweak. So that

447
00:31:57.960 --> 00:32:02.200
that's kind of like horrific or like
related to this effort that my team is

448
00:32:02.279 --> 00:32:06.559
working on for our templates that we've
authored, which is like actually coming up

449
00:32:06.559 --> 00:32:09.640
with a set of BICEP modules that
use those smart defaults or like are like

450
00:32:10.079 --> 00:32:14.079
we think are a good starting point
and we'll be working to get those into

451
00:32:14.119 --> 00:32:16.160
the BICEP registry so that folks can
have a good foundation to build on.

452
00:32:16.240 --> 00:32:20.759
But like to your point, a
lot of the time it's like if you

453
00:32:20.799 --> 00:32:23.400
don't write it, i AC all
the time you're back in Microsoft Docs trying

454
00:32:23.400 --> 00:32:27.640
to lowing BICEP or look at terror
form right, and then you need to

455
00:32:27.640 --> 00:32:31.480
figure out what are the supported keys
and all the values and configurations for each

456
00:32:31.519 --> 00:32:36.160
particular service, and like that's I
mean, some people are experts in it,

457
00:32:36.200 --> 00:32:38.440
but it's definitely something that folks have
to continue to revisit API. Oh

458
00:32:38.480 --> 00:32:43.160
no, I've added comments to my
own I a c that says, hey,

459
00:32:43.279 --> 00:32:45.359
dummy, this is like the fifth
time you've been here, you're going

460
00:32:45.400 --> 00:32:49.880
to make these mistakes. Do this
and this, so you know, way

461
00:32:49.920 --> 00:32:53.240
you you have a mandate to keep
it high level because otherwise you're creeping towards

462
00:32:53.279 --> 00:32:58.599
just being another portal, right with
all the wizards and go to fill out

463
00:32:58.640 --> 00:33:00.720
this form first and then this form
in the net form. It's and there's

464
00:33:00.759 --> 00:33:04.279
nothing wrong with a portal. Yeah, I love I use it all the

465
00:33:04.319 --> 00:33:07.920
time. Yeah, And there's some
efforts like kind of a sister team to

466
00:33:08.160 --> 00:33:13.200
my team. Is this new Azure
app spaces Portal that came out at build,

467
00:33:13.200 --> 00:33:17.839
which is a more developer friendly portal
blade and like so like there are

468
00:33:17.880 --> 00:33:22.720
like there's nothing wrong with portal or
CLI. I think when we talk about

469
00:33:22.759 --> 00:33:24.599
why would someone come and use one
or the other, it's more just like

470
00:33:24.680 --> 00:33:28.599
some people just have a preference for
it, right, Yeah, your style,

471
00:33:28.720 --> 00:33:30.119
Yeah, yeah, yeah, or
sometimes there's things you like, there's

472
00:33:30.160 --> 00:33:35.480
certain tasks that ares not well suited
to CLI, like monitoring dashboards like I'm

473
00:33:35.480 --> 00:33:38.599
not going to go and like ship
like anything that uses a lot of imagery

474
00:33:38.720 --> 00:33:42.440
is like best suited to a portal
for sure too. So you know what

475
00:33:42.559 --> 00:33:45.960
else too that the CLI generally doesn't
change too much, whereas the portal.

476
00:33:46.559 --> 00:33:50.880
You know, you could learn how
to do a task one month and come

477
00:33:50.880 --> 00:33:53.720
back the next month and the everything's
been redefined and redone and everything else.

478
00:33:53.759 --> 00:33:58.119
So yeah, I run into that
problem because I document a lot of this

479
00:33:58.160 --> 00:34:00.279
stuff for a YouTube show, and
I get people saying, hey, you

480
00:34:00.279 --> 00:34:05.920
know the portal in your video doesn't
look like the portal now, yeah,

481
00:34:05.920 --> 00:34:08.719
where is this? Where is that
things get moved around? That's that's sort

482
00:34:08.719 --> 00:34:13.719
of reality. But I'm feeling really
prescient for my comment at the beginning of

483
00:34:13.719 --> 00:34:16.920
the show change right, It's like
there is still pieces that are changing.

484
00:34:17.599 --> 00:34:21.440
It's not like they're taking anything away. It's just like I don't know where

485
00:34:21.440 --> 00:34:24.400
to look now. And in some
way, the CLI solves that problem because

486
00:34:24.400 --> 00:34:28.840
it's done the look at it's the
script. It's just when the script breaks,

487
00:34:29.239 --> 00:34:31.039
Now what you know, how do
you how do you debug it?

488
00:34:31.079 --> 00:34:35.760
How do you you trace it down? It's this is where I think these

489
00:34:35.840 --> 00:34:38.519
things get challenging, because it's still
very much the same old how far did

490
00:34:38.519 --> 00:34:43.360
it get? You know? How
am I spinning up messages to show where

491
00:34:43.400 --> 00:34:46.960
it fails? Like those kinds of
things. We're still doing pretty ridomentary debugging

492
00:34:47.440 --> 00:34:53.400
when it comes to uh BICEP and
I guess you know, act executing on

493
00:34:53.440 --> 00:34:57.039
top of it. Yeah, I
mean, I think that's definitely an area

494
00:34:57.400 --> 00:35:00.559
that still needs some some polish.
Something that we want to like work on

495
00:35:00.760 --> 00:35:04.920
in the next couple months as well, is trying to like when we like

496
00:35:05.119 --> 00:35:09.360
the errors that sometimes you see coming
from Azure are not very descriptive or or

497
00:35:09.440 --> 00:35:13.440
actionable, right, and then you're
like, you know, off googling,

498
00:35:13.440 --> 00:35:16.639
and so like, how how can
we help folks course correct and like get

499
00:35:16.639 --> 00:35:20.239
back on track, or like,
as are there docs that we should be

500
00:35:20.280 --> 00:35:22.599
suggesting people too so they don't have
to go and do the Google searching or

501
00:35:22.599 --> 00:35:25.599
whatever, so or being searching if
that's your flavor of search. But like,

502
00:35:25.880 --> 00:35:29.960
you know, um, I think
that that is a good point and

503
00:35:30.000 --> 00:35:32.800
definitely something that we have work to
do with. Yeah, and it's not

504
00:35:34.039 --> 00:35:37.239
just you, like that's a huge
array of stuff. Like, Yeah,

505
00:35:37.280 --> 00:35:40.199
the problem is that once you know
what the problem is, the message makes

506
00:35:40.239 --> 00:35:45.280
total sense. Yeah, but often
it is not. Other than saying we

507
00:35:45.320 --> 00:35:49.000
are broken, it doesn't say anything
to you at the beginning when you when

508
00:35:49.039 --> 00:35:52.320
you don't know what it is.
Yeah, for sure, I didn't get

509
00:35:52.320 --> 00:35:55.000
a chance to spend to really look
at asure app spaces steering builds just because

510
00:35:55.000 --> 00:36:00.440
there was a lot going on.
But it is interesting to think in terms

511
00:36:00.480 --> 00:36:06.360
of more and more we're going to
have our own corner of Azure for doing

512
00:36:06.400 --> 00:36:12.039
development that then ties into the larger
app Azure for deployment. I just wonder

513
00:36:12.159 --> 00:36:14.559
what impact that's going to have for
a ZD, Like does that make easy

514
00:36:14.639 --> 00:36:22.159
these life easier to just deploy into
an app space rather than the overall infrastructure.

515
00:36:22.360 --> 00:36:25.320
I mean I think that the So
the thing that like I'm most interested

516
00:36:25.320 --> 00:36:28.679
in, right is, like if
we're using a z D as this like

517
00:36:29.039 --> 00:36:34.320
quote unquote more developer friendly way of
approaching Azure, I'd love for that same

518
00:36:34.440 --> 00:36:38.800
paradigm to like carry into the portal
when a developer inevitably ends up there,

519
00:36:39.000 --> 00:36:42.840
right, Because even if we keep
them in the CLI while they're doing their

520
00:36:42.840 --> 00:36:45.480
development, they're going to end up
looking at the portal at some point,

521
00:36:45.679 --> 00:36:49.079
right, Yeah, And so like
one of the things that like I'm focused

522
00:36:49.079 --> 00:36:53.079
on is like can we make the
paradigm feel natural and good regardless of where

523
00:36:53.079 --> 00:36:57.000
you end up. And then also
like we have integrations and editors. We

524
00:36:57.039 --> 00:37:00.679
have a vs code extension we haven't
experienced in visual studio, Like how can

525
00:37:00.719 --> 00:37:04.880
we tie that that thread across all
of those different clients? Yeah, yeah,

526
00:37:04.920 --> 00:37:08.760
that's and it's appealing to different audiences
too, because certainly we get email

527
00:37:08.800 --> 00:37:12.559
from folks. It's like I live
in studio and that's all I live in

528
00:37:12.639 --> 00:37:15.440
and I don't care about the rest
of the stuff. Give me the button

529
00:37:15.480 --> 00:37:20.639
to click on. Yeah, and
it's and a doct dialogue on the right

530
00:37:20.679 --> 00:37:23.760
side that tells me what happened and
I am content. Yeah, nothing wrong

531
00:37:23.760 --> 00:37:28.519
with that either. Yeah, yeah, I guess. I mean why upside

532
00:37:28.519 --> 00:37:30.639
to a CD is you don't have
to be a dotnet deloper to be using

533
00:37:30.679 --> 00:37:34.760
this, Like this is any kind
of developer that's going too is going to

534
00:37:34.760 --> 00:37:38.800
appreciate it. Yeah. Yeah,
we currently support dot net and or C

535
00:37:39.000 --> 00:37:45.199
sharp, F sharp whatever. And
then also Python JavaScript or type script and

536
00:37:45.599 --> 00:37:50.199
Java. See there's if you go
to that template website, you'll see templates

537
00:37:50.239 --> 00:37:53.440
across combinations of all of those.
It was adjust the languages that then you've

538
00:37:53.559 --> 00:37:58.239
got support for apps services, container
apps, static web apps, function apps,

539
00:37:58.320 --> 00:38:02.159
Kuberneti services, and there must be
more than that by now, and

540
00:38:02.239 --> 00:38:07.320
also Azure Spring apps for for Java
devs as well. So like we target

541
00:38:07.360 --> 00:38:13.000
all kind of the major compute targets
for Azure nice, and that means all

542
00:38:13.000 --> 00:38:15.079
different development tools in front of all
of that. Like, this is part

543
00:38:15.119 --> 00:38:19.719
of the challenge for us that you
now have a pivot point between how I

544
00:38:19.800 --> 00:38:23.760
construct software and then at the point
of which I want to deploy it can

545
00:38:23.840 --> 00:38:28.639
step into AZD and deploy into Azure
with that. Yeah, I think that's

546
00:38:28.679 --> 00:38:32.840
sort of like the beauty and also
the complexity of working on a tool for

547
00:38:32.960 --> 00:38:37.760
all developers, right, is that
each one of those types, Like even

548
00:38:37.800 --> 00:38:40.199
if you just looked at Python,
they're like so many different flavors of Python,

549
00:38:40.920 --> 00:38:44.760
right, and then if you look
at all the languages and you add

550
00:38:44.800 --> 00:38:49.119
Kubernetes, you add containers, you
add micro service architecture, there's a lot

551
00:38:49.159 --> 00:38:52.119
of different workflows and so like thinking
through things like how do we I don't

552
00:38:52.119 --> 00:38:54.920
want to like build a tool that
just wraps all of those tools, Like

553
00:38:54.960 --> 00:39:00.519
how do we play nicely in that
developer's ecosystem, their toolchain, whatever they're

554
00:39:00.639 --> 00:39:05.639
using. Right, that's something that
is a very fun problem to sometimes think

555
00:39:05.679 --> 00:39:07.719
about. Oh for sure, Yeah, without being prescriptive. You want to

556
00:39:08.119 --> 00:39:10.320
you want to embrace what they're doing, but at the same time, you

557
00:39:10.320 --> 00:39:14.519
don't want to make it too complex
that it forces them away. Yeah,

558
00:39:14.519 --> 00:39:17.599
and also enforce like best practices type
stuff like meet people where they're at,

559
00:39:17.599 --> 00:39:22.719
but also sometimes try and nudge them
towards the right thing, like don't hard

560
00:39:22.760 --> 00:39:25.320
code your seek are using AI in
any of this, looking at what they're

561
00:39:25.320 --> 00:39:30.440
doing and say you may want to
do something else here something. Yeah,

562
00:39:30.480 --> 00:39:35.480
we're definitely like exploring that angle in
this current state of the world, right,

563
00:39:35.519 --> 00:39:38.639
I think everyone's sort of considering AI. I think I'm team like put

564
00:39:38.679 --> 00:39:44.440
AI in things where it makes sense
and like is actually doing good stuff.

565
00:39:45.039 --> 00:39:46.840
So like one of the things we're
looking at is like can we use AI

566
00:39:46.960 --> 00:39:52.559
from doing that I infer and applications
of local app stack and then generate infrastructure

567
00:39:52.559 --> 00:39:59.079
as code. So like kind of
investigating that and also investigating non AI powered

568
00:39:59.119 --> 00:40:00.800
approaches to doing that as well.
I'm figuring out, you know, which

569
00:40:00.800 --> 00:40:07.159
one is actually gonna meet the most
folks needs and actually support the variety of

570
00:40:07.199 --> 00:40:09.440
developers that we have trying to use
a z D. Absolutely. One thing

571
00:40:09.440 --> 00:40:14.719
that would be really cool is to
get an estimate of the cost of things.

572
00:40:14.800 --> 00:40:16.480
You know, when you're wrapping these
things up and thinking about them,

573
00:40:16.519 --> 00:40:21.920
how much would it cost to do
this? You know stack, that'd be

574
00:40:21.960 --> 00:40:25.400
really cool. Yeah, for sure. I've heard that ask a couple times,

575
00:40:25.440 --> 00:40:29.599
actually, like several times since starting
to work on this project. I've

576
00:40:29.679 --> 00:40:31.320
working on a CD for about a
year. But I think like that's a

577
00:40:31.360 --> 00:40:35.599
recurring theme, is like people want
to know how much it costs to like

578
00:40:36.039 --> 00:40:37.880
run one of the templates we have
or you know, and figure they don't

579
00:40:37.880 --> 00:40:42.440
want to like, you know,
shoot themselves in the foot, hire a

580
00:40:42.519 --> 00:40:45.159
general contractor you want an estimate.
Yeah, yeah, right right. Weird.

581
00:40:45.360 --> 00:40:50.519
Everyone's cloud fear is like they rack
up a four hundred dollar bill and

582
00:40:50.559 --> 00:40:53.000
then they're like, you know,
out of luck. So trying to avoid

583
00:40:53.039 --> 00:40:58.119
that for sure. I just did
a show and run as radio called Azure

584
00:40:58.239 --> 00:41:01.639
Sticker Shock. Yeah, talking to
aid and Finn about that, and he's

585
00:41:01.679 --> 00:41:05.440
you know, he's happened to me, describes exactly that scenario. Well,

586
00:41:05.679 --> 00:41:08.760
working in a bigger company too,
where suddenly the CFOs on the phone going

587
00:41:08.920 --> 00:41:14.639
what are you people doing down there? Oh no, this is a five

588
00:41:14.800 --> 00:41:19.400
digit number out of nowhere. Yeah, I had that, fans. Yeah.

589
00:41:19.440 --> 00:41:22.840
Well, and just just knowing that
there are cost management tools that you

590
00:41:22.880 --> 00:41:28.079
can set baselines on how on what
a reasonable spend is so that you get

591
00:41:28.119 --> 00:41:30.519
warnings. I think you can do
that in Azure anyway like that. That's

592
00:41:30.559 --> 00:41:32.800
a yeah, that's a feature.
You can, without a doubt have a

593
00:41:32.800 --> 00:41:37.519
watchdog and you should be doing that. But that's still post factor right yeah,

594
00:41:37.639 --> 00:41:39.199
right, which you're talking about,
which I think is wicked cool,

595
00:41:39.480 --> 00:41:45.599
is just estimate, doing a basic
enumeration based on the deploy and saying this

596
00:41:45.639 --> 00:41:49.039
should cost between this and this a
month. The portal already does that,

597
00:41:49.159 --> 00:41:52.320
like on a resource by resource basis
when you're going to make a sequel server

598
00:41:52.440 --> 00:41:55.599
or whatever. Yeah, here's the
skew and here's about how much it's going

599
00:41:55.639 --> 00:42:00.280
to cost a month. You know, I like that, but yeah,

600
00:42:00.280 --> 00:42:02.599
to add them all up, yeah, at the application level, that would

601
00:42:02.599 --> 00:42:07.199
be pretty I think a lot of
people would really love that. So even

602
00:42:07.199 --> 00:42:09.239
if you just had to take those
files and pump it into a into a

603
00:42:09.360 --> 00:42:13.519
gadget and then it came back and
gave you estimates, right like, it

604
00:42:13.519 --> 00:42:15.440
doesn't even have to be part of
the bill process so much that it's just

605
00:42:15.519 --> 00:42:19.960
like, hey, I've done all
this work to describe what I'm going to

606
00:42:20.159 --> 00:42:22.840
use, rather than retype it or
anything. Can I just upload these files

607
00:42:22.840 --> 00:42:27.280
to me and you'll give me an
estimate? Woo? Because it is you

608
00:42:27.320 --> 00:42:29.280
know, then I could add it
to the pipeline. It's like in the

609
00:42:29.320 --> 00:42:31.159
pipeline, we do this thing and
then I fire off the estimate and you'll

610
00:42:31.199 --> 00:42:35.239
get an email it said, here's
the estimate based on the current deploy woo.

611
00:42:36.119 --> 00:42:38.239
Hey, if I can shift cares
for a second. In the bio,

612
00:42:38.400 --> 00:42:43.800
you say you were the product manager
for the Pielance Language Server, which

613
00:42:43.800 --> 00:42:46.440
powers the editing experience for all these
you know, visual studio, code code

614
00:42:46.440 --> 00:42:51.159
spaces, visual studio. What is
that and why haven't I heard of that?

615
00:42:51.440 --> 00:42:53.599
Oh? Yeah, so I used
to work on Python language tooling at

616
00:42:53.599 --> 00:42:59.519
Microsoft, and so the Pilance Language
Server powers editing experience for Python, and

617
00:43:00.360 --> 00:43:02.480
well, for Python. Yeah,
in in vs code, visual studio,

618
00:43:02.599 --> 00:43:06.960
and some stuff on Azure too.
That's why I haven't heard of it.

619
00:43:07.039 --> 00:43:10.000
Yeah, you're not a Python person. I'm not a Python guy, but

620
00:43:10.079 --> 00:43:14.400
I hear all the cool kids today
are doing Python. Python was my first

621
00:43:14.400 --> 00:43:19.920
programming language, so I'm a I'm
a big fan, especially in scientific in

622
00:43:20.119 --> 00:43:23.320
academia, like it's that's all they
use. Yeah. Yeah. My GitHub

623
00:43:23.320 --> 00:43:27.360
report at the end of twenty twenty
two said I wrote more Python than anything

624
00:43:27.360 --> 00:43:30.320
else last year, and it shocked
me. I didn't mean to. It

625
00:43:30.360 --> 00:43:34.239
was an accident, but you know, I was doing a bunch of datal

626
00:43:34.280 --> 00:43:39.719
handling stuff and by golly, Python's
awfully good at that. The only thing

627
00:43:39.719 --> 00:43:44.920
that made me satter is in the
number two was yeavil oh no, and

628
00:43:44.960 --> 00:43:49.000
then c sharp came in third.
So I did write some c sharp last

629
00:43:49.079 --> 00:43:55.840
year. But what happened to me? Oh man, that's so funny.

630
00:43:57.079 --> 00:44:00.360
You know. The piece we've just
been sort of quietly walking around, which

631
00:44:00.400 --> 00:44:04.960
I think is a big issue I
than talking about Keybault is the security aspects

632
00:44:05.000 --> 00:44:09.039
just and I would hope in these
templates, especially like that they are staying

633
00:44:09.639 --> 00:44:14.440
here's where the keys go. This
should be locked up. This needs to

634
00:44:14.480 --> 00:44:20.320
be validated. Do you need certificates
on both sides of this, Like overall

635
00:44:20.400 --> 00:44:22.360
when I wear my tinfoil hat on
the security side of stuff and run as

636
00:44:22.440 --> 00:44:27.840
radio. We're talking a lot about
supply chain breaching, that the black hats

637
00:44:27.840 --> 00:44:32.280
are now targeting code deploys as a
way to insert malicious code to get access

638
00:44:32.320 --> 00:44:37.519
to systems, and that there's a
real pressure now for developers to have a

639
00:44:37.599 --> 00:44:40.639
more secure pipeline. Yeah, with
all the templates, especially the ones that

640
00:44:40.679 --> 00:44:45.840
are coming in on Microsoft, like
we're trying to enforce kind of those best

641
00:44:45.840 --> 00:44:49.559
practices because I think there's like when
you do your Google searching about getting your

642
00:44:49.559 --> 00:44:52.119
app on a particular service, it
doesn't really upfront say you should use key

643
00:44:52.159 --> 00:44:55.239
vault and not hard code your tokens
and secrets, or like you should maybe

644
00:44:55.320 --> 00:44:59.599
consider using a v net here or
you know, something like that. So

645
00:44:59.800 --> 00:45:05.119
we we like definitely like internally think
about that kind of stuff and make sure

646
00:45:05.159 --> 00:45:07.440
that that's coming in the templates.
And then when they're communities submitted templates to

647
00:45:07.480 --> 00:45:12.360
the gallery, we are running through
them and testing them and reviewing the BICEP

648
00:45:12.400 --> 00:45:15.480
code because we don't want to promote
a scenario, which we're like, you

649
00:45:15.599 --> 00:45:19.159
probably don't want to be doing that. It's an insecure scenario, right,

650
00:45:19.519 --> 00:45:22.440
and so we are thinking about,
like right now that process is a bit

651
00:45:22.480 --> 00:45:25.760
manual for the gallery we are we
are thinking about also adding it a command

652
00:45:25.800 --> 00:45:31.079
like AZD validate, which would like
help us kind of build some automation or

653
00:45:31.119 --> 00:45:35.639
like basically allowed developers to kind of
get a sense of whether or not it

654
00:45:35.679 --> 00:45:37.920
would be one admitted to the template
gallery based on some of the standards we

655
00:45:37.960 --> 00:45:42.719
have internally on our kind of our
pipelines when we go and make templates,

656
00:45:43.760 --> 00:45:46.880
but also like trying to enforce best
practices because it's not really enough that you

657
00:45:47.000 --> 00:45:49.880
just get your out to the cloud. It's like, we want you to

658
00:45:49.880 --> 00:45:52.920
be set up for success to right, and enough people are just struggling to

659
00:45:52.960 --> 00:45:57.480
make this work. Is like tear
away anything I think is not essential to

660
00:45:57.519 --> 00:46:00.039
get this up in the first place, right, and so security off and

661
00:46:00.119 --> 00:46:04.000
gets ditched, but more and more
refining out the trying to retrofit security into

662
00:46:04.039 --> 00:46:08.199
that is worse and building to get
it into the pipeline at the beginning.

663
00:46:08.239 --> 00:46:14.280
This is very what they're calling shift
left these days, hitting security as part

664
00:46:14.320 --> 00:46:19.159
of the initial implementation makes a huge
difference. But although we are talking two

665
00:46:19.159 --> 00:46:23.360
different things here, there's security within
the application itself, but also the security

666
00:46:23.400 --> 00:46:30.199
of the deployment pipeline because they are
now targets of exploitation and a CD as

667
00:46:30.239 --> 00:46:34.480
a role to play in both of
those. Really yeah, yeah, yeah,

668
00:46:34.519 --> 00:46:38.639
for sure. Yeah, it's definitely
something like we want to keep like

669
00:46:38.800 --> 00:46:43.480
top of mind. That whole shift
left thing is definitely something we talk about

670
00:46:43.519 --> 00:46:46.079
a lot internally as well as like
figuring out how we can because I think

671
00:46:46.679 --> 00:46:51.159
the part to think of or to
kind of put in front of an uninitiated

672
00:46:51.199 --> 00:46:54.239
developer someone who's new, is like
why some of this stuff exists, or

673
00:46:54.320 --> 00:46:59.320
like that education component, because at
the end of the day, like like

674
00:46:59.360 --> 00:47:01.719
you said, some most you want
to strip away everything that's not necessary or

675
00:47:02.199 --> 00:47:06.400
because they don't understand the value it
adds if it's not just like I did

676
00:47:06.400 --> 00:47:08.599
the thing I got my app on
Azure, so kind of yeah, I

677
00:47:08.599 --> 00:47:12.800
got a running close enough, right, like at least I'm up, yeah,

678
00:47:12.920 --> 00:47:15.000
right, And I think the thing
is that is a non trivial task

679
00:47:15.119 --> 00:47:19.480
sometimes right, yes, and often
the moment it's up there now they're using

680
00:47:19.480 --> 00:47:22.639
it so retrofitting anything gets hard.
Yeah, they're like I'm done now,

681
00:47:22.800 --> 00:47:24.480
Like, yeah, yeah, it
serving my audience. But yeah, I

682
00:47:24.480 --> 00:47:29.199
think like trying to enforce those best
practices kind of throughout the workflow, not

683
00:47:29.280 --> 00:47:31.559
just in like the local development scenario, but as people continue to iterate and

684
00:47:31.679 --> 00:47:35.800
use AZD commands and like add them
to their CI pipelines and stuff, like,

685
00:47:35.840 --> 00:47:39.159
we want to be thinking about the
security dimension as well. Yeah,

686
00:47:39.519 --> 00:47:45.159
getting better at that and just helping
us do the right thing because you're trying

687
00:47:45.159 --> 00:47:49.280
to get it in afterwards is becoming
more and more difficult. Savannah, what's

688
00:47:49.320 --> 00:47:52.519
next for you? What's in your
inbox? What's in my inbox? M

689
00:47:52.880 --> 00:47:55.639
Yeah, we're working that. I'm
working on a bunch of features, specs

690
00:47:55.639 --> 00:48:00.159
and stuff for some of that,
like inference of local stack generate I C.

691
00:48:02.039 --> 00:48:07.360
I've got to talk coming up in
July for BS Live Redmond, all

692
00:48:07.400 --> 00:48:13.519
about as your developer. Clim So
got a prep for some public more public

693
00:48:13.559 --> 00:48:17.320
speaking stuff, but the summer is
a little quieter than pre build because we

694
00:48:17.400 --> 00:48:22.199
gad az a build and it was
in a couple different keynotes and stuff,

695
00:48:22.599 --> 00:48:27.480
so just kind of we have a
pretty public facing roadmap on our GitHub repo,

696
00:48:28.280 --> 00:48:30.599
so kind of play you away at
some of those, making sure that

697
00:48:30.639 --> 00:48:34.199
we can ship some some new features
to help folks get on Azure. Very

698
00:48:34.199 --> 00:48:37.440
cool. That also speaks to folks
that want to participat in this that are

699
00:48:37.440 --> 00:48:40.679
frustrated with like you can write issues, you can be part of the process.

700
00:48:42.199 --> 00:48:45.079
Are you taking prs from mixed ternals? Oh? Yeah one, so

701
00:48:45.400 --> 00:48:50.039
so I'll disclaim that the CLI is
written and go. So if you're not

702
00:48:50.079 --> 00:48:52.440
a Go dav, that's cool.
You can write. We would love a

703
00:48:52.840 --> 00:48:57.119
contribution to the CLI corp. But
we also have a vs code extension which

704
00:48:57.119 --> 00:48:59.599
is written in type scripts. If
you're a type scrept person you can do

705
00:48:59.639 --> 00:49:02.880
that, or you can write templates
in whatever language you'd like and submit them

706
00:49:02.880 --> 00:49:07.159
to the gallery. And we would
love to have new flavors of app scenario

707
00:49:07.880 --> 00:49:13.639
on our template gallery too, So
there's like a and also just filing issues

708
00:49:13.719 --> 00:49:17.039
questions like helps me shape our product
to make it useful for everyone too.

709
00:49:17.079 --> 00:49:22.519
So discussions issues. Yeah, that's
awesome. Yeah, I look at the

710
00:49:22.639 --> 00:49:27.440
current issue list and it's long four
something. Oh yeah, of course that'll

711
00:49:27.519 --> 00:49:29.519
change by the time anybody else can
go look at it. But it's a

712
00:49:29.880 --> 00:49:34.360
lot of these almost feel like check
support. You know, I'm having trouble

713
00:49:34.400 --> 00:49:37.360
installing it on this, Like is
that actually a bug? Or is this

714
00:49:37.400 --> 00:49:39.599
a procedural problem? Like, but
those are all potential learnings for you.

715
00:49:39.760 --> 00:49:44.559
It's like this is too hard and
that doesn't work right, and maybe they

716
00:49:44.559 --> 00:49:47.079
do find something interesting. The bigger
thing here is there's a lot of people

717
00:49:47.239 --> 00:49:52.119
clearly using this and pressing it in
places you probably haven't thought of. Yeah,

718
00:49:52.199 --> 00:49:57.719
yeah, we're even thinking about stuff
like like the micro service scenarios,

719
00:49:57.719 --> 00:50:00.320
like what if you don't have all
of your app code in the same repo,

720
00:50:00.639 --> 00:50:04.960
or maybe you're doing kubernettes and you
have ic in one repo manifested,

721
00:50:05.079 --> 00:50:07.159
another app code and another. How
do we stitch that together? So like

722
00:50:07.159 --> 00:50:10.960
there's a you know, we're still
WEGA, but there's still a long road

723
00:50:10.960 --> 00:50:15.480
ahead of us to support all the
different flavors of apps. So if you

724
00:50:15.559 --> 00:50:21.599
have stuff that isn't supported by the
CLI today, like wave the Flag,

725
00:50:21.719 --> 00:50:23.880
come come say hi, Like we're
shaping the product. Yeah for sure,

726
00:50:24.480 --> 00:50:29.440
And look at all these different products
that they're pressing on it against Aks,

727
00:50:30.000 --> 00:50:35.920
Azure functions, Ubuntu, Like this
is cool, It's it is a un

728
00:50:36.159 --> 00:50:40.320
of issues. Yeah right, All
these different countries are common adges saying make

729
00:50:40.360 --> 00:50:45.639
it work from my thing. Yeah, it's an exciting problem to have,

730
00:50:45.719 --> 00:50:50.440
for sure. Yeah, yeah,
I think you have good problems. It's

731
00:50:50.559 --> 00:50:53.880
very exciting for sure. Well,
Savannah Astrosky, thanks for being here and

732
00:50:53.880 --> 00:50:58.880
thanks for telling us about this great
product. And we can't wait to hear

733
00:50:58.960 --> 00:51:02.039
what's going on in next next year
with this thing. Can't wait. Yeah,

734
00:51:02.079 --> 00:51:06.440
thanks for having me, super super
fun conversation. Yeah, all right,

735
00:51:06.480 --> 00:51:31.159
we'll see you next time on dot
net rocks. Dot net Rocks is

736
00:51:31.199 --> 00:51:37.119
brought to you by Franklin's Net and
produced by Pop Studios, a full service

737
00:51:37.199 --> 00:51:42.280
audio, video and post production facility
located physically in New London, Connecticut,

738
00:51:42.320 --> 00:51:47.280
and of course in the cloud online
at pwop dot com. Visit our website

739
00:51:47.280 --> 00:51:52.760
at d O t nt r ocks
dot com for RSS feeds, downloads,

740
00:51:52.920 --> 00:51:58.159
mobile apps, comments, and access
to the full archives going back to show

741
00:51:58.239 --> 00:52:01.800
number one, recorded September two thousand
and two. And make sure you check

742
00:52:01.800 --> 00:52:06.679
out our sponsors. They keep us
in business. Now go write some code.

743
00:52:07.239 --> 00:52:20.280
See you next time. You got
a tad middle band

