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
