1
00:00:01,080 --> 00:00:04,799
Speaker 1: How'd you like to listen to dot NetRocks with no ads? Easy?

2
00:00:05,360 --> 00:00:08,560
Become a patron For just five dollars a month, you

3
00:00:08,599 --> 00:00:11,320
get access to a private RSS feed where all the

4
00:00:11,359 --> 00:00:14,560
shows have no ads. Twenty dollars a month will get

5
00:00:14,599 --> 00:00:18,440
you that and a special dot NetRocks patron mug. Sign

6
00:00:18,519 --> 00:00:22,320
up now at Patreon dot dot NetRocks dot com. Hey,

7
00:00:22,440 --> 00:00:26,239
Carl and Richard here with your twenty twenty four NDC schedule.

8
00:00:26,440 --> 00:00:29,160
Speaker 2: Will be at as many NDC conferences as possible this year,

9
00:00:29,199 --> 00:00:32,200
and you should consider attending no matter what. The Copenhagen

10
00:00:32,240 --> 00:00:35,799
Developers Festival happens August twenty sixth through the thirtieth. Tickets

11
00:00:35,840 --> 00:00:38,840
at Cphdevfest dot com.

12
00:00:39,079 --> 00:00:43,439
Speaker 1: Ndcporto is happening October fourteenth through the eighteenth. The early

13
00:00:43,520 --> 00:00:49,159
bird discount ends June fourteenth. Tickets at Ndcporto dot com.

14
00:00:49,200 --> 00:00:50,520
Speaker 2: And we'll see you there.

15
00:00:50,759 --> 00:01:02,280
Speaker 3: We hope.

16
00:01:04,719 --> 00:01:09,120
Speaker 1: Hey, guess what it's dot net rocks again, episode number

17
00:01:09,280 --> 00:01:14,480
nineteen hundred and nine. Yeah, what's up. I'm Carl Franklin.

18
00:01:14,519 --> 00:01:15,439
That's Richard Campbell.

19
00:01:15,599 --> 00:01:18,719
Speaker 2: How do you? How are you? How are you? Hey? Summertime?

20
00:01:18,760 --> 00:01:19,560
I like summertime.

21
00:01:19,680 --> 00:01:23,359
Speaker 1: Summertime is good. And today it's actually the heat lifted

22
00:01:23,400 --> 00:01:26,920
a little bit. Oh good, humidity is low. It's going

23
00:01:27,000 --> 00:01:30,959
to be a nice sunny day here in Connecticut.

24
00:01:31,159 --> 00:01:32,840
Speaker 4: I don't jinx it. Don't jinx it.

25
00:01:33,200 --> 00:01:37,560
Speaker 1: Yeah right, I mean I could. I could say, you know,

26
00:01:37,719 --> 00:01:41,040
the Internet is working, there's no problems with it.

27
00:01:41,640 --> 00:01:44,840
Speaker 2: Don't be crazy now there.

28
00:01:45,079 --> 00:01:47,280
Speaker 1: The reason we're laughing about that is because there is

29
00:01:47,319 --> 00:01:51,359
a major outage this morning, the CrowdStrike problem.

30
00:01:52,359 --> 00:01:55,640
Speaker 2: Somebody pushed out an update on a Thursday, and it

31
00:01:55,719 --> 00:01:59,920
is literally raced around the world and causes machines to

32
00:02:00,079 --> 00:02:04,319
blue screen. And now that they're cleaning it up, of course,

33
00:02:05,519 --> 00:02:08,680
presumably when you actually hear the show two weeks after

34
00:02:08,800 --> 00:02:12,639
we recorded it, everything will be fine, or you'll never

35
00:02:12,680 --> 00:02:14,680
hear the show because the world has collapsed.

36
00:02:15,159 --> 00:02:19,400
Speaker 1: I saw a great meme on Facebook of there's there's

37
00:02:19,439 --> 00:02:23,439
this picture of a little girl turning to a camera

38
00:02:23,719 --> 00:02:27,719
and she's watching a house fire and it might be

39
00:02:27,840 --> 00:02:29,960
from it didn't it didn't look like it was from

40
00:02:30,039 --> 00:02:32,840
fire Starter. Man, It's like meme photo, right, it's a

41
00:02:32,879 --> 00:02:35,759
meme photo. Yeah, with the little girl's looking over her

42
00:02:35,800 --> 00:02:38,199
shoulder at the camera and smiling.

43
00:02:38,719 --> 00:02:41,280
Speaker 2: Riley, Yeah, a bit of a diabolical smile.

44
00:02:41,599 --> 00:02:43,919
Speaker 1: Yeah, and so there's a blue screen of death pasted

45
00:02:44,080 --> 00:02:48,400
over the fire and it said Linux users be like.

46
00:02:50,400 --> 00:02:54,000
Speaker 2: Well, once again we have this reminder of how and

47
00:02:54,240 --> 00:02:56,719
because it's shut down the airlines. Oh yeah, right, like

48
00:02:56,759 --> 00:02:59,800
people use the software everywhere and it's like, once again,

49
00:03:00,039 --> 00:03:06,520
reminder of software runs the world. Maybe we need more discipline.

50
00:03:06,719 --> 00:03:09,199
Speaker 1: We should also dispel that myth that Azure had a

51
00:03:09,240 --> 00:03:10,800
problem too, right, yeah.

52
00:03:10,639 --> 00:03:14,360
Speaker 2: Because clearly it wasn't Azure. It was virtual machines and

53
00:03:14,479 --> 00:03:18,000
virtual pieces that were running CrowdStrike. Yeah, the blue screen,

54
00:03:18,039 --> 00:03:20,919
and then people were complaining that Azure was failing, but

55
00:03:21,080 --> 00:03:27,919
that's not the case at this moment, right right, every

56
00:03:28,039 --> 00:03:30,879
who knows again you're going to hear this two weeks

57
00:03:30,879 --> 00:03:33,199
after we recorded it. We're in the midst of this

58
00:03:33,240 --> 00:03:35,800
thing right now, and I'm like, I have all the

59
00:03:35,840 --> 00:03:38,639
empathy in the world, you know, especially making run as

60
00:03:38,639 --> 00:03:42,360
and collecting all those stories from administrators, like do not

61
00:03:42,560 --> 00:03:46,439
throw stones in your glasshouse, man. We're all got our troubles.

62
00:03:46,159 --> 00:03:49,240
Speaker 1: Right, We won't attempt the gods of vengeance and irony.

63
00:03:49,960 --> 00:03:52,199
They they have a way of smacking us down.

64
00:03:52,280 --> 00:03:53,280
Speaker 2: Yeah, they'll let you know.

65
00:03:54,960 --> 00:03:58,719
Speaker 1: All right, I got a nice one for better no frameworks.

66
00:03:58,719 --> 00:04:10,960
So rowl the crazy and you is it awesome? You know,

67
00:04:11,039 --> 00:04:13,919
somebody actually emailed me. Maybe it was a tweet I

68
00:04:13,960 --> 00:04:16,480
can't remember, but they said, hey, can you publish the

69
00:04:16,480 --> 00:04:19,000
words to the better note of framework theme?

70
00:04:19,680 --> 00:04:20,759
Speaker 4: Uh?

71
00:04:21,040 --> 00:04:30,079
Speaker 1: Really there are no words or something. I don't know,

72
00:04:30,279 --> 00:04:32,199
maybe it was maybe it was that, but you know,

73
00:04:32,240 --> 00:04:35,720
they literally are dude it, dude it, dude it, dude it.

74
00:04:35,879 --> 00:04:39,199
Dude do that's it?

75
00:04:39,399 --> 00:04:40,279
Speaker 2: That's the whole thing.

76
00:04:41,439 --> 00:04:44,079
Speaker 1: Do I really need? Okay, maybe they were just joking,

77
00:04:44,120 --> 00:04:47,279
but so what I have to talk about today is

78
00:04:47,560 --> 00:04:50,600
something near and dear to my heart. It's a Blazer puzzle.

79
00:04:51,000 --> 00:04:53,680
Oh yeah, and I know, yeah, blazer Puzzle dot com.

80
00:04:53,680 --> 00:04:57,079
I know I've talked about it before, but I wanted

81
00:04:57,120 --> 00:05:00,160
to just tell remind people about this. Jeff Fritz and

82
00:05:00,199 --> 00:05:02,800
I do this weekly. This is sort of an offshoot

83
00:05:02,800 --> 00:05:06,879
of Blazer Train. Once blazer Train got saturated with topics,

84
00:05:07,160 --> 00:05:09,399
you know, and it became more about maintenance for new

85
00:05:09,480 --> 00:05:12,720
versions of dot net. We started this new thing. And

86
00:05:12,759 --> 00:05:15,639
the whole idea is that we give you a problem.

87
00:05:15,800 --> 00:05:19,639
Maybe we say, here's a program, a simple Blazer app

88
00:05:20,120 --> 00:05:22,519
and there's an issue, what is the issue and how

89
00:05:22,560 --> 00:05:25,199
do we fix it? Or maybe we say we want

90
00:05:25,240 --> 00:05:28,240
to add this feature, how do you do that? More

91
00:05:28,439 --> 00:05:31,439
nine times out of ten it's a problem, and usually

92
00:05:31,480 --> 00:05:35,040
it comes from real world problems, problems that Jeff and

93
00:05:35,120 --> 00:05:40,120
I have had when we're developing apps or you know

94
00:05:40,360 --> 00:05:45,480
we see junior developers making because they make assumptions. So

95
00:05:46,240 --> 00:05:48,439
it's really much more than just fun and games. And

96
00:05:48,480 --> 00:05:51,959
it is fun, and they're small videos, they're ten minutes.

97
00:05:52,040 --> 00:05:54,759
Speaker 2: I just think it's a good idea, right, A little kata,

98
00:05:55,519 --> 00:05:59,240
you know, coding exercise tackle make you think differently about

99
00:05:59,279 --> 00:06:00,279
the thing you do every day.

100
00:06:00,399 --> 00:06:03,160
Speaker 1: But I actually went I had an issue and I

101
00:06:03,279 --> 00:06:05,480
was like, how do you do that again? And I

102
00:06:05,519 --> 00:06:08,959
went back to the Blazer puzzle, you know, like episode

103
00:06:09,560 --> 00:06:13,360
in the in the first ten or the first twenty.

104
00:06:13,680 --> 00:06:16,439
I found the answer again. So it's not only good

105
00:06:16,560 --> 00:06:19,240
for you know, just fun, but if you have a

106
00:06:19,319 --> 00:06:22,920
problem with Blazer or something you don't understand, it's it's

107
00:06:22,920 --> 00:06:25,120
good to go look at Blazer puzzle dot com and

108
00:06:25,199 --> 00:06:28,879
see if there's a solution, because every episode has a

109
00:06:28,920 --> 00:06:32,879
GitHub repo with a read me that illustrates the problem

110
00:06:32,879 --> 00:06:36,480
and then there's a solution folder that has the you know,

111
00:06:36,560 --> 00:06:39,160
the code that actually works, plus the read me updated

112
00:06:39,199 --> 00:06:42,480
to include the solution. So great idea and stuff. I

113
00:06:42,480 --> 00:06:45,240
love it, Blazer Puzzle dot com. That's what I got.

114
00:06:45,519 --> 00:06:48,360
I was talking to us today, Richard talking about cloud.

115
00:06:48,480 --> 00:06:51,120
I grabbed a coma of AV Show eighteen ninety seven,

116
00:06:51,160 --> 00:06:54,600
which is the one we did with a VP Scott Hunter.

117
00:06:54,680 --> 00:06:58,000
Maybe I heard of him, Yeah, my friend and a

118
00:06:58,240 --> 00:07:01,240
regular keynote for deb Intersection coming up in September. By

119
00:07:01,279 --> 00:07:05,759
your tickets now. And this comment is actually from Serge

120
00:07:06,279 --> 00:07:08,959
from Omega, who said it's not the first time I've

121
00:07:08,959 --> 00:07:11,920
heard Carl saying how much he hates the yamal format,

122
00:07:12,279 --> 00:07:14,399
but not as much as the XML format.

123
00:07:14,759 --> 00:07:17,199
Speaker 2: Richard and Scott seem to also share this sentiment. Nobody

124
00:07:17,240 --> 00:07:19,439
appears to have any problem with Zamal or even Blazer

125
00:07:19,439 --> 00:07:22,800
components that are based on the XML slash htmail format.

126
00:07:22,839 --> 00:07:25,560
So I'm really curious what is it specifically it makes

127
00:07:25,600 --> 00:07:27,399
you dislike XML per se?

128
00:07:27,720 --> 00:07:30,079
Speaker 1: So should I which should I talk about first, Yamal

129
00:07:30,160 --> 00:07:30,680
or XML.

130
00:07:31,000 --> 00:07:34,480
Speaker 2: Well, you actually commented on the comment about that's not

131
00:07:34,560 --> 00:07:38,959
really crazy about examal either. Yeah, I don't know where

132
00:07:38,959 --> 00:07:39,639
do you want to start.

133
00:07:40,040 --> 00:07:43,319
Speaker 1: Well, Yamil is just one of those. It sort of

134
00:07:43,360 --> 00:07:45,959
looks I just don't understand why it has to be

135
00:07:46,000 --> 00:07:47,040
different from Jason.

136
00:07:47,600 --> 00:07:49,199
Speaker 2: Well, they were trying to get rid of the curly

137
00:07:49,240 --> 00:07:52,079
braces essentially. Yeah, But then now the structure comes in

138
00:07:52,120 --> 00:07:54,560
the form of indenting, which is a nightmare, like to

139
00:07:54,600 --> 00:07:58,360
try and remember the indents. If it's working, I find

140
00:07:58,439 --> 00:08:01,720
YAMIL relatively readable. It's somewhat hard to figure out what

141
00:08:01,800 --> 00:08:06,120
actually does, but when you need a debug, it's a bear. Yeah,

142
00:08:05,800 --> 00:08:09,399
And thank goodness for visual studio code and color coding,

143
00:08:09,480 --> 00:08:11,680
indents and things like that to just sort of give

144
00:08:11,720 --> 00:08:15,079
you some cues as to you know what it's about.

145
00:08:15,120 --> 00:08:18,360
But look, it's YAML makes plumbing code. It's why I

146
00:08:18,439 --> 00:08:20,240
end up writing a lot of it because I'm involved

147
00:08:20,279 --> 00:08:24,879
with a lot of infrastructure stuff, and so you never

148
00:08:25,079 --> 00:08:27,759
are in love with it. You're not inventing new things

149
00:08:27,759 --> 00:08:30,639
with it. You're trying to automate stuff to make it repeatable,

150
00:08:31,199 --> 00:08:32,879
and so you got to pick it up and put

151
00:08:32,879 --> 00:08:33,279
it down.

152
00:08:33,480 --> 00:08:36,320
Speaker 1: I'm very used to Jason where I can go in,

153
00:08:36,639 --> 00:08:40,279
you know, switch between code and Jason data. Right, I

154
00:08:40,320 --> 00:08:44,879
can make a class. I can you know, express that

155
00:08:44,960 --> 00:08:48,000
as Jason. I can express a class from Jason, and

156
00:08:48,039 --> 00:08:49,799
I don't really have that with Yama at least I

157
00:08:49,840 --> 00:08:51,120
haven't found a tool that does.

158
00:08:51,960 --> 00:08:53,600
Speaker 2: I don't know that you would. I'd use your Adjason

159
00:08:53,639 --> 00:08:56,080
for that. Definitely different tools for different purposes. You're right,

160
00:08:57,360 --> 00:09:03,039
XML just wordy angle brackets are annoying. Clothing tags are

161
00:09:03,159 --> 00:09:06,200
you know? And then you know there are times when

162
00:09:06,240 --> 00:09:10,200
the structure of XML picks up more space than the

163
00:09:10,200 --> 00:09:14,840
actual data than you're betting in it, right, And don't

164
00:09:14,840 --> 00:09:18,320
even get me started on schemas. Good lord, but yeah,

165
00:09:18,919 --> 00:09:23,399
I mean you grump about your tools at times. Inevitably

166
00:09:23,639 --> 00:09:24,440
it worked.

167
00:09:24,600 --> 00:09:26,480
Speaker 1: At the time, it was good and it worked.

168
00:09:26,600 --> 00:09:29,480
Speaker 2: You get it done. But it's not you know, things

169
00:09:29,480 --> 00:09:33,120
have all it's not delightful. It's necessary stuff. That stuff

170
00:09:33,159 --> 00:09:36,440
you have to do. You know, we've all struggled through

171
00:09:37,240 --> 00:09:40,480
XML annoying anyway, Surge, thank you so much for your comment,

172
00:09:40,600 --> 00:09:42,600
and a copy of Music co By is going out

173
00:09:42,600 --> 00:09:44,039
to you. And if you'd like a copy of Music

174
00:09:44,039 --> 00:09:46,120
co Buy, write a comment on the website at dot

175
00:09:46,200 --> 00:09:48,159
at Rocks dot com or on the facebooks. We publish

176
00:09:48,159 --> 00:09:50,279
every show there and if you comment there at reading

177
00:09:50,279 --> 00:09:51,639
in the show, we'll send you a copy of music.

178
00:09:51,720 --> 00:09:54,080
Speaker 1: Go buy. Music to code by is still very popular.

179
00:09:54,519 --> 00:09:57,679
A lot of people still using it. And if you

180
00:09:57,720 --> 00:10:02,679
don't know what it is, it's twenty five minute instrumentals

181
00:10:03,120 --> 00:10:07,080
that are designed to help you focus, and that they do.

182
00:10:07,600 --> 00:10:10,559
Speaker 2: Yeah so, and if you keep if you use it regularly,

183
00:10:11,480 --> 00:10:14,879
it makes you focus even better because it literally triggers

184
00:10:14,879 --> 00:10:17,200
that in your mind. The only time I play that

185
00:10:17,399 --> 00:10:20,759
music is I need to write yeah, right, and it

186
00:10:20,879 --> 00:10:24,559
just drops you into that state almost immediately, you know,

187
00:10:24,960 --> 00:10:25,799
after all this time.

188
00:10:25,960 --> 00:10:28,960
Speaker 1: Yeah, Okay, Well, you know you can follow us on

189
00:10:29,000 --> 00:10:32,200
the x Twitter if you like. We've been there for many,

190
00:10:32,559 --> 00:10:35,879
many years, but the cool kids are hanging out. I'm mastadon,

191
00:10:36,480 --> 00:10:39,279
I'm at Carl Franklin at techhub dot social.

192
00:10:39,000 --> 00:10:40,919
Speaker 2: And I'm Rich Campbell at macedon dot social.

193
00:10:41,080 --> 00:10:43,600
Speaker 1: Send us a tube. That's another way that you can

194
00:10:43,720 --> 00:10:46,159
get some music to code buy and get a comment

195
00:10:46,240 --> 00:10:50,440
read on the show. Okay, let's get to the actual

196
00:10:50,559 --> 00:10:54,720
content of dot net Rocks. I'd like to introduce our guests.

197
00:10:54,799 --> 00:10:58,759
Jo Chinjiang Jochin is a product the manager on the

198
00:10:58,799 --> 00:11:02,200
Azure Container app team. Previously, they were PM on the

199
00:11:02,200 --> 00:11:05,159
dot net team and worked on products like new get

200
00:11:05,320 --> 00:11:09,159
n any framework in asp net. Welcome Juchin, good.

201
00:11:08,919 --> 00:11:11,480
Speaker 4: To be here, Thanks for having me, Thanks.

202
00:11:11,159 --> 00:11:13,559
Speaker 1: For being here. Wow, we have a lot to talk

203
00:11:13,840 --> 00:11:15,840
first of all, but before we get into your topic,

204
00:11:16,039 --> 00:11:17,960
is there anything that you want to comment on and

205
00:11:18,039 --> 00:11:19,080
what we said already?

206
00:11:19,440 --> 00:11:22,039
Speaker 4: Nah, I'm just an observer for this part.

207
00:11:22,759 --> 00:11:26,919
Speaker 1: Yeah, it's kind of your mo isn't it Like remember

208
00:11:26,960 --> 00:11:30,000
when we were talking before we tried recording this episode

209
00:11:30,039 --> 00:11:32,679
before and you said something like, you know, I'm not

210
00:11:32,759 --> 00:11:35,559
the expert on these things. I've just used them and

211
00:11:35,759 --> 00:11:39,519
I have some opinions and some experiences to share.

212
00:11:39,639 --> 00:11:42,279
Speaker 4: Yeah, that's right. And to give a bit of context there,

213
00:11:42,360 --> 00:11:46,120
I know Hunter and Fowler and you know, all the

214
00:11:46,120 --> 00:11:49,519
big names have said plenty about dot net Aspire and

215
00:11:49,919 --> 00:11:53,240
you know dot net aid in general. And what I'm

216
00:11:53,279 --> 00:11:57,480
bringing in is I don't have a whole lot of knowledge.

217
00:11:57,600 --> 00:12:04,000
All my knowledge has come from screwing around, usually getting burnt,

218
00:12:04,600 --> 00:12:09,159
and asking plenty of questions. So what I'm hoping to

219
00:12:09,440 --> 00:12:11,919
talk about today is more of a big picture of

220
00:12:11,960 --> 00:12:17,519
view on these buzzword topics, not from not as a

221
00:12:17,559 --> 00:12:20,840
person who's built the actual thing. But as someone who's

222
00:12:20,879 --> 00:12:23,200
been using it a bunch, and I've been talking to

223
00:12:23,240 --> 00:12:25,480
a lot of people who've been using it a bunch.

224
00:12:26,960 --> 00:12:30,200
Speaker 2: Great, So, how do you even describe Aspire? Because I

225
00:12:31,120 --> 00:12:33,399
think Fowler struggled with this when we talked to him

226
00:12:33,440 --> 00:12:35,360
back in January, Like, I know he helped make the

227
00:12:35,399 --> 00:12:37,399
thing and he knows it's important, but how do you

228
00:12:37,600 --> 00:12:38,639
tell people about it?

229
00:12:38,879 --> 00:12:43,519
Speaker 4: Yeah? So I've spoken about Aspire at a couple conferences

230
00:12:43,559 --> 00:12:46,759
so far, and I've learned the hard way just how

231
00:12:46,799 --> 00:12:54,360
difficult that particular problem is. Personally, I think you know

232
00:12:54,440 --> 00:12:57,200
a lot of conversation around dotnet, Aspire makes it seem

233
00:12:57,320 --> 00:13:01,159
like this one coherent, concrete thing, right, Like you use

234
00:13:01,200 --> 00:13:04,320
the spire. You don't use a spire where there's really

235
00:13:05,240 --> 00:13:08,279
three functionalities that are part of it that you're not

236
00:13:08,960 --> 00:13:11,879
locked into using all three. Right, you can pick and

237
00:13:11,960 --> 00:13:16,240
choose from what you need. And those three functionalities are

238
00:13:16,480 --> 00:13:21,080
the Aspire dashboard, which you know that's the big everyone sees,

239
00:13:21,120 --> 00:13:26,080
the nice UI for viewing data, and then we have

240
00:13:26,240 --> 00:13:29,240
the library of curated components. So it's nice to be

241
00:13:29,279 --> 00:13:31,120
able to go in and see, all right, this is

242
00:13:31,120 --> 00:13:33,559
something I can use. This is not something I can use.

243
00:13:33,639 --> 00:13:36,799
I don't have to worry about things getting deprecated over time.

244
00:13:37,600 --> 00:13:41,639
Then the last which I think gets brought up front

245
00:13:41,679 --> 00:13:45,360
and center a lot, which is the orchestration capabilities. I

246
00:13:45,399 --> 00:13:49,720
think different members of the dot net community have different

247
00:13:49,759 --> 00:13:52,480
opinions on that one, because it is taking a lot

248
00:13:52,600 --> 00:13:56,080
of existing functionality, things that you can you can do

249
00:13:56,159 --> 00:14:00,519
in darker compose, and really putting it into a different,

250
00:14:00,639 --> 00:14:02,360
hopefully more usable format.

251
00:14:02,559 --> 00:14:05,200
Speaker 1: I like to and I came up with a good

252
00:14:05,240 --> 00:14:09,840
way to, you know, describe it to developers who are

253
00:14:09,840 --> 00:14:14,360
already used to, you know, the process, using visual studio

254
00:14:14,399 --> 00:14:18,159
for example. I think of Aspire like a visual studio

255
00:14:18,279 --> 00:14:21,840
template on steroids. If you think of what a visual

256
00:14:21,919 --> 00:14:26,279
studio template does, it gives you all of the basic

257
00:14:26,320 --> 00:14:28,919
things that you need to accomplish something.

258
00:14:29,080 --> 00:14:31,200
Speaker 4: Right right right now. I think that's a great way

259
00:14:31,200 --> 00:14:34,840
of putting it, because, I mean, let's take a step

260
00:14:34,879 --> 00:14:37,279
back from dot net aspiring, but just talk about the

261
00:14:37,360 --> 00:14:38,759
problem that is trying to solve.

262
00:14:38,919 --> 00:14:39,120
Speaker 3: Right.

263
00:14:39,720 --> 00:14:44,480
Speaker 4: So, micro service's big buzzword of the uh was it

264
00:14:44,600 --> 00:14:48,759
the twenty twenties, even the late twenty tens, there's been

265
00:14:48,799 --> 00:14:53,120
this huge hype. Everyone goes all right, like distributed applications, like,

266
00:14:53,200 --> 00:14:56,720
that's the right way to write my application. Now, I've

267
00:14:56,759 --> 00:15:01,120
seen a lot of people just get real disillusion to

268
00:15:01,159 --> 00:15:05,240
get really just seeing the dark side of micro services

269
00:15:05,320 --> 00:15:08,799
really quickly. I don't know how familiar y'all are with

270
00:15:08,879 --> 00:15:12,639
the Gardner's cycle. M that's right.

271
00:15:12,799 --> 00:15:15,720
Speaker 2: That's been talking about in the context of the AI wave.

272
00:15:16,120 --> 00:15:21,080
Speaker 4: Oh yeah, yeah, So just a bit of additional context

273
00:15:21,080 --> 00:15:23,360
for any viewers who are not as familiar. It's a

274
00:15:23,440 --> 00:15:27,240
sort of you know, anything that comes out to hype

275
00:15:27,360 --> 00:15:30,840
is going to be met with the sort of trough

276
00:15:30,919 --> 00:15:34,200
of disappointment where they realize the reality of things.

277
00:15:34,639 --> 00:15:38,080
Speaker 1: That's why my coffee tastes weird because this is AI coffee.

278
00:15:38,399 --> 00:15:42,480
Oh no, it's AI coffee, and you know it just

279
00:15:42,480 --> 00:15:43,919
started getting a little more bitter.

280
00:15:44,559 --> 00:15:50,600
Speaker 4: That's right, that's right, that's not you Yeah, that's all AI. Right.

281
00:15:53,600 --> 00:15:58,799
But ideally they move after that trough of disappointment is

282
00:15:58,919 --> 00:16:01,720
the slope of the light where you figure out, okay,

283
00:16:01,759 --> 00:16:04,159
this is how I actually make this useful for me,

284
00:16:04,840 --> 00:16:09,440
and hopefully you reach the plateau of productivity. Now, you know,

285
00:16:09,519 --> 00:16:12,000
I was looking at the talks for these conferences I

286
00:16:12,080 --> 00:16:14,919
presented on and you know, half of all the micro

287
00:16:15,000 --> 00:16:18,960
services related talks were about how hard they were and

288
00:16:19,080 --> 00:16:23,799
alternatives and potentially even moving back to monolith architectures. So

289
00:16:25,559 --> 00:16:28,440
I think there's this issue of people have to be

290
00:16:28,480 --> 00:16:32,679
able to try micro services and understand that mental model

291
00:16:32,759 --> 00:16:35,120
that does in a way that doesn't involve diving right

292
00:16:35,159 --> 00:16:40,960
into the complexity of infrastructure and configuration. And what I

293
00:16:41,039 --> 00:16:44,919
see dot net is yor solving is providing that mental model.

294
00:16:44,960 --> 00:16:47,240
I think Carl put in a good way with the

295
00:16:47,279 --> 00:16:50,799
templates on steroids, right, but just letting people think about

296
00:16:50,840 --> 00:16:54,039
it in terms of functionality and code instead of hey,

297
00:16:54,039 --> 00:16:56,919
here's the ten things you need to do in order

298
00:16:56,960 --> 00:16:58,000
to even get started.

299
00:16:58,320 --> 00:17:00,279
Speaker 1: But the good news is when you I want to

300
00:17:00,320 --> 00:17:03,919
use one of those things in the Aspire template, let's

301
00:17:03,960 --> 00:17:07,319
say it's configured correctly, right.

302
00:17:07,440 --> 00:17:09,440
Speaker 4: I like to think of it as you know those

303
00:17:09,680 --> 00:17:12,640
command strips or the hangars where you can just stick

304
00:17:12,680 --> 00:17:14,680
a double sided tape on and just put it on

305
00:17:14,720 --> 00:17:17,599
the wall. You know, you don't have to figure out.

306
00:17:17,519 --> 00:17:20,680
Speaker 1: The structural integrity integration yourself.

307
00:17:21,119 --> 00:17:24,079
Speaker 2: Right, Well, answer there in lies the problem. When you

308
00:17:24,119 --> 00:17:26,599
start experimenting with this stuff, it's like have I just

309
00:17:26,680 --> 00:17:30,160
configured it wrong or is my defective, Like there's too

310
00:17:30,160 --> 00:17:34,000
many moving parts. So exactly, at least having this as

311
00:17:34,680 --> 00:17:37,039
these carls is a template. I've also used the word

312
00:17:37,079 --> 00:17:40,559
scaffolding to put all those right pieces in place, but

313
00:17:40,640 --> 00:17:42,079
what are those right pieces?

314
00:17:42,400 --> 00:17:46,519
Speaker 4: Right? Exactly? And everyone's scenario is different, right, You can't

315
00:17:46,519 --> 00:17:49,960
go to Scott Hunter and say, hey, does this.

316
00:17:49,960 --> 00:17:51,160
Speaker 2: Work for me? Yeah?

317
00:17:51,480 --> 00:17:56,000
Speaker 4: You really have to try and fail as quickly as

318
00:17:56,000 --> 00:17:59,880
you can, iterate as much as you can. Yeah, and

319
00:18:00,359 --> 00:18:04,920
right now, it takes a whole lot of investment in

320
00:18:05,039 --> 00:18:06,119
order to even get there.

321
00:18:06,400 --> 00:18:08,119
Speaker 2: Yeah. It makes me wonder if developers don't get to

322
00:18:08,119 --> 00:18:11,000
a place where they get it to work and don't

323
00:18:11,039 --> 00:18:11,359
touch it.

324
00:18:12,119 --> 00:18:12,359
Speaker 3: Yeah.

325
00:18:12,519 --> 00:18:17,880
Speaker 1: Yeah, here's a story. One of my customers has a

326
00:18:17,880 --> 00:18:22,319
Blazer server application and you know, it's doing very well

327
00:18:22,359 --> 00:18:26,720
in the wild, and they wanted to add Aspire to it,

328
00:18:27,799 --> 00:18:31,839
and so Jeff Fritz did the job and and it worked.

329
00:18:31,920 --> 00:18:35,160
I mean, but that was a totally different, you know,

330
00:18:35,240 --> 00:18:38,359
the brown Field experience, totally different from the Greenfield experience.

331
00:18:38,880 --> 00:18:41,680
And it took a little you know, tweaking and understanding

332
00:18:42,119 --> 00:18:45,880
and you know, duplication of some things, like we were

333
00:18:45,880 --> 00:18:50,960
already using Polly in the application, and so we had

334
00:18:51,000 --> 00:18:53,880
to figure out, you know, which which one we're going

335
00:18:53,920 --> 00:18:58,119
to use the HDP client factory or Polly itself, that

336
00:18:58,279 --> 00:19:00,839
kind of thing. But other than that, it was pretty smooth.

337
00:19:01,720 --> 00:19:04,799
Speaker 4: I don't know how familiar y'all are with I don't

338
00:19:04,839 --> 00:19:07,839
know the FIFA series of video games. You know, they

339
00:19:08,599 --> 00:19:11,839
essentially it's this sports game.

340
00:19:12,000 --> 00:19:14,440
Speaker 2: Where they electronic arts, right, soccer right right.

341
00:19:14,480 --> 00:19:18,240
Speaker 4: It releases constant. It's been around for a while, and

342
00:19:18,319 --> 00:19:21,400
they release new additions, And what I've heard is in

343
00:19:21,440 --> 00:19:24,759
the recent editions they've changed the gameplay so that it's

344
00:19:24,799 --> 00:19:28,319
easier to grasp for new users. But when you get

345
00:19:28,319 --> 00:19:31,240
into the game, you have a choice of, hey, I'm

346
00:19:31,240 --> 00:19:33,599
an existing user, I just want to use what I

347
00:19:33,599 --> 00:19:35,960
already know, right, And then you can say, I'm a

348
00:19:36,000 --> 00:19:39,759
new user and I want to do this potentially easier,

349
00:19:39,880 --> 00:19:43,920
more intuitive method, but just something that would be a

350
00:19:43,960 --> 00:19:48,079
pain for older users to try to grasp, right. And

351
00:19:48,279 --> 00:19:50,880
I think for a spire it's the sort of it's

352
00:19:50,920 --> 00:19:54,119
a similar situation, right where it's trying to give this

353
00:19:54,279 --> 00:19:57,319
newer experience that might be a bit different than what

354
00:19:57,359 --> 00:20:02,680
people are used to. Why offering this opportunity for people

355
00:20:02,680 --> 00:20:05,440
with brown field applications to integrate in a way that's

356
00:20:05,519 --> 00:20:08,480
more similar to what they're already using. So, Carl, I

357
00:20:08,480 --> 00:20:10,160
think you make a good point of you know, you

358
00:20:10,200 --> 00:20:13,200
can just poured everything in and say all right, it works.

359
00:20:13,240 --> 00:20:17,160
Now there are redundancies. There are like choices of where.

360
00:20:16,920 --> 00:20:19,720
Speaker 1: Do I go? Yeap, like any kind of you know,

361
00:20:20,119 --> 00:20:24,839
thing that you're adding on exactly, especially something like Aspire

362
00:20:24,880 --> 00:20:27,079
with many moving parts, you have to be careful not

363
00:20:27,200 --> 00:20:28,960
to step on yourself.

364
00:20:29,359 --> 00:20:31,400
Speaker 4: Yeah, and I think again it comes back to the

365
00:20:31,680 --> 00:20:33,759
is dot now to Aspire one big thing? Is it

366
00:20:33,799 --> 00:20:39,640
a bunch of different functionalities in one right umbrella of

367
00:20:39,680 --> 00:20:43,039
a term? I think sometimes people think they need everything,

368
00:20:43,119 --> 00:20:45,559
so they bring it all in and go, oh, it's

369
00:20:45,640 --> 00:20:45,960
too much.

370
00:20:46,119 --> 00:20:46,279
Speaker 3: You know.

371
00:20:46,799 --> 00:20:51,200
Speaker 1: Here's another fear also that by leaving things out, you

372
00:20:51,279 --> 00:20:54,839
will leave these dangling dependencies because things are dependent on

373
00:20:54,880 --> 00:20:58,519
each other, and so how do you separate those? You know,

374
00:20:58,920 --> 00:21:01,599
It isn't as easy as a wizard that says, oh,

375
00:21:01,680 --> 00:21:04,799
I want to use these four features of Aspire.

376
00:21:04,960 --> 00:21:06,839
Speaker 2: Go or is it right?

377
00:21:06,920 --> 00:21:07,400
Speaker 4: Exactly?

378
00:21:07,799 --> 00:21:09,920
Speaker 2: Yeah? I mean, what are the essential things you have

379
00:21:09,920 --> 00:21:12,319
to use? What is minimal aspire?

380
00:21:13,519 --> 00:21:16,559
Speaker 4: I see again, I think that depends on who you are, right,

381
00:21:16,599 --> 00:21:20,039
If you're a new user, then I mean as let

382
00:21:20,039 --> 00:21:23,200
me speak from my personal perspective as a new user,

383
00:21:24,880 --> 00:21:26,920
And just to give a bit of background there, I

384
00:21:26,960 --> 00:21:29,039
was on the dot net team for about four years,

385
00:21:29,079 --> 00:21:31,960
and before then I hadn't heard of dot net at all.

386
00:21:32,119 --> 00:21:34,319
You know, I was doing Java, I was doing c

387
00:21:35,240 --> 00:21:37,880
and I think I mentioned it last time, but coming

388
00:21:37,920 --> 00:21:40,039
to dot net was the first time I was interacting

389
00:21:40,039 --> 00:21:44,200
with so many normal people who were developers, who are

390
00:21:44,240 --> 00:21:47,480
trying to solve you know, more focused on solving actual

391
00:21:47,519 --> 00:21:51,720
problems and getting two things working than necessarily how pretty

392
00:21:51,720 --> 00:21:55,640
everything is right. And for me, the important thing is

393
00:21:55,680 --> 00:21:58,440
to get to something that's working and to have a

394
00:21:58,599 --> 00:22:01,759
general mental model of why is it working, how do

395
00:22:01,839 --> 00:22:05,440
the pieces fit together? How do I start debugging things?

396
00:22:06,079 --> 00:22:09,839
And for me at least essential Aspire really has to

397
00:22:09,880 --> 00:22:14,079
do with the orchestration process being able to start off

398
00:22:14,119 --> 00:22:17,000
and see, okay, here are my component pieces, here's the

399
00:22:17,759 --> 00:22:20,759
app post that controls how all of these talk to

400
00:22:20,799 --> 00:22:25,920
each other. But for someone who's more experience than I am, right,

401
00:22:26,039 --> 00:22:30,200
who already knows dock or compose, who have done this

402
00:22:30,279 --> 00:22:34,160
at gazillion times, maybe the Aspire dashboard is actually more

403
00:22:34,200 --> 00:22:37,279
important to them. Maybe the library of curated components is

404
00:22:37,279 --> 00:22:39,079
more helpful in.

405
00:22:38,960 --> 00:22:41,359
Speaker 1: That library, I would say the first thing for me

406
00:22:41,599 --> 00:22:43,119
would be open telemetry.

407
00:22:45,359 --> 00:22:48,880
Speaker 4: The cool thing is open telemetry. Again for new people, right,

408
00:22:49,119 --> 00:22:55,759
the observability of an application is not necessarily first and

409
00:22:55,880 --> 00:22:58,880
foremost in their minds. They want to get things working,

410
00:22:58,920 --> 00:23:01,680
and it's when they fall into the deep end with

411
00:23:01,759 --> 00:23:05,079
the debugging that they realize, oh shoot, I actually have

412
00:23:05,160 --> 00:23:07,960
to think about all this stuff. But with a spire,

413
00:23:08,079 --> 00:23:12,000
all that open telemetry is built in. And I think again,

414
00:23:12,039 --> 00:23:14,279
like the whole best practices thing, like what do you

415
00:23:14,359 --> 00:23:17,519
need to think about even if you're not thinking about

416
00:23:17,519 --> 00:23:19,640
it now because you don't know, you have to think

417
00:23:19,640 --> 00:23:20,519
about it well.

418
00:23:20,559 --> 00:23:24,440
Speaker 2: And I appreciate that it's telemetry is different from error logs,

419
00:23:24,599 --> 00:23:28,480
right that you want to see how it's executed, right, right,

420
00:23:28,519 --> 00:23:31,559
you know that you've got more instances piling up, maybe

421
00:23:31,640 --> 00:23:34,200
running out of resources, any number. That's sort of that

422
00:23:34,359 --> 00:23:36,319
landscape before the accident.

423
00:23:36,680 --> 00:23:41,079
Speaker 4: Yeah, exactly right. And I think often you know that

424
00:23:41,079 --> 00:23:44,200
fall into the deep end is because there's no insight

425
00:23:44,440 --> 00:23:47,920
into things before the explosion happens.

426
00:23:48,720 --> 00:23:50,319
Speaker 2: The machinery, it's nice as a new.

427
00:23:50,240 --> 00:23:55,519
Speaker 4: Person to not have their first experience and in an explosion.

428
00:23:55,559 --> 00:24:02,400
Speaker 1: Linux users be like, you know, you know, I don't know.

429
00:24:02,440 --> 00:24:03,319
That just tickled me.

430
00:24:03,799 --> 00:24:08,279
Speaker 2: That's very funny, But I gotta think the dashboard is

431
00:24:08,279 --> 00:24:10,519
the candy part. Like that draws a lot of people

432
00:24:10,519 --> 00:24:14,359
in are all struggling with insight about what's happening with

433
00:24:14,400 --> 00:24:15,000
their software.

434
00:24:17,319 --> 00:24:20,839
Speaker 4: Completely agree with that. And again with micro services, so

435
00:24:20,920 --> 00:24:24,720
many moving parts, so many things that are sending information

436
00:24:24,839 --> 00:24:29,480
to each other doubling back, and any bit of that

437
00:24:29,519 --> 00:24:34,039
integration breaks. You know, the explosion happens, you have no

438
00:24:34,119 --> 00:24:35,920
idea where it came from.

439
00:24:36,279 --> 00:24:38,519
Speaker 2: Like you're just staring at it, like what happened?

440
00:24:38,599 --> 00:24:44,279
Speaker 4: Yeah, right, just looking at the rubble and the yeah, yeah.

441
00:24:44,319 --> 00:24:46,160
Speaker 2: Well that's the sad part is that you go into

442
00:24:46,160 --> 00:24:47,680
the server closet and you look at the server and

443
00:24:47,720 --> 00:24:50,799
it still looks exactly the same. The fact that the

444
00:24:50,839 --> 00:24:55,960
site isn't running is separate. Yes, it's so hard to

445
00:24:56,160 --> 00:24:59,240
tell until you get into this instrutration path. And then

446
00:24:59,279 --> 00:25:01,559
the usual thing I run into with folks who are

447
00:25:01,599 --> 00:25:04,079
trying to do telemetry for the first time is you

448
00:25:04,119 --> 00:25:08,680
collect everything and you're just buried in messages that are irrelevant.

449
00:25:09,039 --> 00:25:12,599
Speaker 1: You asked for it, here it comes, and.

450
00:25:12,559 --> 00:25:15,759
Speaker 4: I want to bring them this and I think Feller

451
00:25:15,799 --> 00:25:18,680
and Damian Edwards had brought it up in the past

452
00:25:18,759 --> 00:25:21,640
around why Aspire was designed as it was. But this

453
00:25:21,880 --> 00:25:26,279
term of progressive disclosure of you know, in English, in

454
00:25:27,079 --> 00:25:30,079
human like lapers in terms, that's just we're not going

455
00:25:30,160 --> 00:25:32,880
to throw all the information at you in the first

456
00:25:32,920 --> 00:25:38,720
second of entering the space, right sure, like needing to

457
00:25:38,759 --> 00:25:42,480
know all these things is important for building micro services

458
00:25:43,119 --> 00:25:47,319
with best practices, making something secure, making something observable, right,

459
00:25:47,480 --> 00:25:50,079
but you know we're still going to include that, but

460
00:25:50,599 --> 00:25:54,279
you get to learn about it when you actually want to.

461
00:25:54,559 --> 00:25:57,400
Speaker 2: Right, yeah, yeah, and appreciate that sort of or it

462
00:25:58,039 --> 00:26:00,960
just looking at like the metric set, how they do

463
00:26:01,359 --> 00:26:03,480
tend to bubble up so you see it from a

464
00:26:03,519 --> 00:26:06,039
macro level and then you can drill down on the

465
00:26:06,079 --> 00:26:06,920
things you care about.

466
00:26:07,079 --> 00:26:10,720
Speaker 4: Yeah, yeah, And I don't know about you guys. I

467
00:26:10,759 --> 00:26:13,599
think whenever I learned something, I need a skeleton of

468
00:26:13,599 --> 00:26:16,559
information first. You know, it's like going on a Wikipedia article.

469
00:26:16,599 --> 00:26:18,279
I don't want to be down to write into that

470
00:26:18,359 --> 00:26:20,680
wall of text. I want to see the overview, right,

471
00:26:20,839 --> 00:26:24,640
Like what am I gonna be learning about and then I'd.

472
00:26:24,240 --> 00:26:28,960
Speaker 1: Be great if there was a podcast episode that you

473
00:26:28,960 --> 00:26:31,519
could just listen to while you're driving or something.

474
00:26:31,720 --> 00:26:34,519
Speaker 4: Ah yeah, yeah, something nice.

475
00:26:34,079 --> 00:26:38,799
Speaker 2: Huh nobody does that? Who would do that? Yeah? And

476
00:26:38,559 --> 00:26:41,400
I appreciate like when we talk about minimal, it's I

477
00:26:41,440 --> 00:26:44,880
want that dashboard, I want that insight. So get the

478
00:26:44,880 --> 00:26:49,960
telemetry working first. I mean, it seems to me like

479
00:26:50,119 --> 00:26:53,759
that would give you the most benefit right away. But obviously,

480
00:26:53,799 --> 00:26:56,960
like the orchestration part is important. Service discovery is one

481
00:26:57,000 --> 00:26:59,279
of those things that once you understand it, I think

482
00:26:59,359 --> 00:27:02,319
it's host. Where has this been all my life? Right?

483
00:27:02,880 --> 00:27:05,920
But it's not obvious when you're just getting into the

484
00:27:05,960 --> 00:27:09,880
space how important discovery is. Oh yeah, it does seem

485
00:27:09,920 --> 00:27:11,000
like a later feature.

486
00:27:11,519 --> 00:27:14,640
Speaker 4: Absolutely. Yeah. At first it just seems like, oh, I

487
00:27:14,799 --> 00:27:19,079
can deal with the local host fine. Yeah, But then

488
00:27:19,200 --> 00:27:21,240
things scale and then yeah.

489
00:27:21,160 --> 00:27:22,880
Speaker 2: And then you've got to move it to another site

490
00:27:23,000 --> 00:27:25,160
you're doing you're doing a rolling update or any of

491
00:27:25,160 --> 00:27:28,359
those sorts of things, and all those hardwired locations make

492
00:27:28,440 --> 00:27:33,480
you sad. Oh yeah, all right. Now I have three

493
00:27:33,559 --> 00:27:35,880
versions of say micro service, because I've got older software

494
00:27:35,920 --> 00:27:38,039
that's still depending on V one and we've got some

495
00:27:38,039 --> 00:27:40,119
clients still using V two and we're now rolling out

496
00:27:40,200 --> 00:27:43,319
V three. Boy, if you don't have service scovery to

497
00:27:43,319 --> 00:27:45,039
handle it for you, you'll make yourself crazy.

498
00:27:45,200 --> 00:27:47,000
Speaker 1: We're just gonna leave it in there and put a

499
00:27:47,039 --> 00:27:48,680
comment that it's deprecated.

500
00:27:48,799 --> 00:27:53,599
Speaker 2: Everything's to be fine. It'd be fine. Fine.

501
00:27:53,720 --> 00:27:57,440
Speaker 1: Let me tell hey, guys, let's pause for these very

502
00:27:57,480 --> 00:28:01,799
important messages and we'll be right back. I said we'd

503
00:28:01,799 --> 00:28:04,839
be back, And here we are, nice and we're back.

504
00:28:04,960 --> 00:28:07,319
It's dot net Rox. I'm Carl Franklin. That's my friend

505
00:28:07,440 --> 00:28:11,880
Richard Campbell, howdy, and we're here with jas Chinjiang, product

506
00:28:12,039 --> 00:28:16,359
manager on the Azure Container Apps team, talking about Aspire,

507
00:28:16,559 --> 00:28:19,599
microservices and all good things. So where were we?

508
00:28:19,920 --> 00:28:21,960
Speaker 2: I want to jump in on the on the microservices

509
00:28:21,960 --> 00:28:25,519
thing because I feel like there's certain folte certainly it's

510
00:28:25,519 --> 00:28:27,920
an all going conversation on DONNAE. Rocks about you know,

511
00:28:27,960 --> 00:28:30,759
the modular monolith minse. It's just like, listen, I got

512
00:28:30,799 --> 00:28:32,640
a monolith. I don't know that I want to go

513
00:28:32,680 --> 00:28:35,559
to microservices, so maybe Aspire is not valuable for me

514
00:28:35,599 --> 00:28:38,680
at all? I mean is that can I add Aspire

515
00:28:39,240 --> 00:28:41,559
to anything running in the cloud? Does it have to

516
00:28:41,599 --> 00:28:43,359
be a micro services And how will I know when

517
00:28:43,359 --> 00:28:45,839
it's micro services? Like what does that even mean?

518
00:28:46,160 --> 00:28:48,519
Speaker 4: Yeah? No, that's a really good point, right because if

519
00:28:48,559 --> 00:28:50,799
you're thinking about it like just having a back end

520
00:28:50,839 --> 00:28:54,119
in a front and like okay, I have two services, right,

521
00:28:54,160 --> 00:28:59,359
like is this microservice? Is it not? And let me

522
00:28:59,440 --> 00:29:02,960
know if you know this is at rocks, it's not

523
00:29:03,079 --> 00:29:05,839
as your container apps Rocks or whatever. But I think

524
00:29:05,920 --> 00:29:08,960
being on this team gave me this insight into microservices.

525
00:29:09,000 --> 00:29:13,279
What is what is not? Like how just vague that

526
00:29:13,359 --> 00:29:19,039
definition really is? It's terrible exactly, And just to give

527
00:29:19,039 --> 00:29:23,119
you some insight, like on context for people around as

528
00:29:23,119 --> 00:29:27,960
your container apps, it's built on Kubernetes. It abstracts away

529
00:29:28,000 --> 00:29:30,759
a lot of the how to get things working with

530
00:29:30,839 --> 00:29:33,880
each other and has a similar to a spire model,

531
00:29:33,920 --> 00:29:36,839
where you're thinking about the big picture and the functionality

532
00:29:37,039 --> 00:29:41,319
instead of the infrastructure and configuration. Right off the bat,

533
00:29:41,680 --> 00:29:44,319
you'll see the majority of people on there are not

534
00:29:44,799 --> 00:29:49,240
working with microservices, so to speak, or at least there

535
00:29:50,480 --> 00:29:54,960
they have a monolith. Maybe they want to move towards

536
00:29:54,960 --> 00:29:57,400
microservices at some point, but they just don't find it

537
00:29:57,440 --> 00:30:00,799
necessary right now. And I think there's that big if

538
00:30:01,000 --> 00:30:05,839
of you have a monolith, how do I make it

539
00:30:05,920 --> 00:30:13,079
better in a way that is efficient and low risk, right, Like,

540
00:30:13,160 --> 00:30:17,200
how do I try this thing out without diving directly

541
00:30:17,240 --> 00:30:21,079
into the deep end of distributed architecture and all that?

542
00:30:21,759 --> 00:30:24,880
And personally, I think Aspire is a way to experiment

543
00:30:24,920 --> 00:30:27,440
with that, Like if someone is at that cusp of

544
00:30:28,119 --> 00:30:31,200
I have a modular monolith, like I don't like, doesn't

545
00:30:31,240 --> 00:30:34,079
need to be in micro services? Is it fine? As is?

546
00:30:34,799 --> 00:30:37,880
You know, I think you can still bring again Like

547
00:30:37,920 --> 00:30:40,359
Aspire is all just code, right, It's not like you

548
00:30:40,440 --> 00:30:44,880
put it in and now everything's different, you know. It's

549
00:30:45,880 --> 00:30:49,079
it's not a whole new game. It's just to tell your.

550
00:30:48,920 --> 00:30:51,200
Speaker 2: Code just added some things to it to.

551
00:30:53,079 --> 00:30:57,720
Speaker 4: Like in theory, right, So it gets right, right, see

552
00:30:57,720 --> 00:30:59,480
if it actually makes your life easier?

553
00:31:00,480 --> 00:31:03,119
Speaker 2: But is it as your container apps and a critical

554
00:31:03,160 --> 00:31:04,960
part of this, do I need to have my app?

555
00:31:05,319 --> 00:31:09,240
Speaker 4: Not at all? So I mean that is very much

556
00:31:09,720 --> 00:31:13,160
built by developers, and like the whole idea of it

557
00:31:13,200 --> 00:31:15,960
really came from the developers, And the idea is we

558
00:31:16,000 --> 00:31:18,920
don't want to force you to use any tool, Like

559
00:31:18,960 --> 00:31:24,160
there's really great integration with AWS. You can deploy it

560
00:31:24,200 --> 00:31:28,599
to your own Kubernetes cluster. I think just I mean, honestly, right,

561
00:31:28,640 --> 00:31:31,440
it's Microsoft, it's Azure like they will have a really

562
00:31:31,480 --> 00:31:35,440
strong road towards as your container apps. And that involves

563
00:31:35,960 --> 00:31:38,039
and I'm happy to talk more about this a little bit,

564
00:31:38,119 --> 00:31:41,279
the as your developer CLI you had a az D,

565
00:31:41,440 --> 00:31:44,359
you had another new acronym to add to the stable

566
00:31:44,480 --> 00:31:45,359
of acronym.

567
00:31:45,880 --> 00:31:47,720
Speaker 1: Before we get into that, I just want to make

568
00:31:47,720 --> 00:31:52,000
a comment here that veteran dot Net developers, like Richard

569
00:31:52,000 --> 00:31:57,440
and myself, we were we went through the whole you know,

570
00:31:57,720 --> 00:32:02,519
series of years there where dot Net was evolving, and

571
00:32:02,680 --> 00:32:07,920
very early on we noticed that dot net developers were

572
00:32:08,799 --> 00:32:12,119
kind of looking at every new feature that came out

573
00:32:12,240 --> 00:32:15,240
as if it was a zero sum game. Right, does

574
00:32:15,279 --> 00:32:18,160
that mean we're never going to use this? I remember

575
00:32:18,400 --> 00:32:22,240
the vb net versus c sharp wars. Does that mean that,

576
00:32:22,559 --> 00:32:26,160
you know, c sharp is no longer the you know,

577
00:32:26,240 --> 00:32:29,519
the language we should use? And you know, after a while,

578
00:32:29,640 --> 00:32:32,519
it became obvious that what you're saying was true, which

579
00:32:32,599 --> 00:32:35,960
is that, no, we're giving you more choices. None of

580
00:32:36,000 --> 00:32:43,839
these new features are prescriptive or exclusive. You know, basically

581
00:32:43,880 --> 00:32:45,279
saying that you should never use this.

582
00:32:45,440 --> 00:32:48,680
Speaker 4: You should use this now, absolutely, And I think it

583
00:32:48,720 --> 00:32:52,039
comes down to the people know the best about their

584
00:32:52,079 --> 00:32:55,440
own projects. And yes, right, just because I work at Microsoft,

585
00:32:55,519 --> 00:32:58,480
just because God Hunter works at Microsoft, doesn't mean we

586
00:32:58,519 --> 00:33:01,400
can come in and say, hey, here's the best way

587
00:33:01,440 --> 00:33:04,559
to build your application, right, Like, we don't we don't

588
00:33:04,599 --> 00:33:07,480
know that. All we can say is we worked on

589
00:33:07,559 --> 00:33:10,440
a thing. It has helped a bunch of people. Maybe

590
00:33:10,480 --> 00:33:13,599
it can help you try it out if it doesn't fit,

591
00:33:13,680 --> 00:33:15,359
and you can always roll back.

592
00:33:15,799 --> 00:33:17,839
Speaker 1: Yeah, And the more you know about these things, the

593
00:33:17,880 --> 00:33:20,880
better informed you are to make decisions architecturally on the

594
00:33:21,039 --> 00:33:23,480
on the beginning of the project end going totally.

595
00:33:23,160 --> 00:33:24,920
Speaker 4: Like if you if you try it and it doesn't fit,

596
00:33:25,000 --> 00:33:27,480
at least now you know, right, as opposed to, oh,

597
00:33:27,519 --> 00:33:30,559
there's so many different options. It seems like a lot

598
00:33:30,599 --> 00:33:33,759
of investment either way. Now I got a question, Right,

599
00:33:34,200 --> 00:33:36,759
you know it doesn't work, You're good, and I.

600
00:33:36,720 --> 00:33:38,960
Speaker 2: Mean you're giving us some choice. But at the same time,

601
00:33:39,000 --> 00:33:41,759
it is opinionated in the sense it's like, hey, if

602
00:33:41,799 --> 00:33:45,960
you're going to do instrumentation, it's open telemetry, right if you.

603
00:33:45,960 --> 00:33:50,039
Speaker 4: Feel strongly otherwise, sure, like you can make things work

604
00:33:50,079 --> 00:33:50,480
for you.

605
00:33:50,720 --> 00:33:54,519
Speaker 1: But if you're using Richard, if you're using ray gun

606
00:33:54,599 --> 00:33:59,240
or some other tool that you know that is perfectly viable,

607
00:34:00,480 --> 00:34:03,960
that's right. Sure, nobody's saying that you should switch to

608
00:34:04,200 --> 00:34:05,960
using open telemetry just because it's.

609
00:34:05,839 --> 00:34:06,359
Speaker 2: New and cool.

610
00:34:06,880 --> 00:34:10,159
Speaker 4: Yeah, And I will say on the opinions piece, I

611
00:34:10,360 --> 00:34:12,559
you know, it's great that dot net has offered so

612
00:34:12,639 --> 00:34:14,960
many options over the year. I will say when I

613
00:34:15,000 --> 00:34:17,760
first started, just seeing like the different versions of dot

614
00:34:17,800 --> 00:34:21,039
Net I had to choose from, and the different you know,

615
00:34:21,239 --> 00:34:25,400
just all the different options without necessarily an opinion on

616
00:34:25,719 --> 00:34:30,599
hey do this do that? That was actually more difficult

617
00:34:30,639 --> 00:34:33,800
to me than if I was presented with a couple

618
00:34:33,840 --> 00:34:36,719
of different options, maybe one option at the beginning, and

619
00:34:36,760 --> 00:34:38,519
then figure things out later on.

620
00:34:38,840 --> 00:34:40,719
Speaker 2: So, I mean, this is the argument of what the

621
00:34:40,800 --> 00:34:44,480
hard thing is opinionating enough that it's clearly useful and

622
00:34:44,679 --> 00:34:46,360
doesn't leave you having to make decisions you don't know

623
00:34:46,360 --> 00:34:49,039
how to make, right, but not so opinionated that you

624
00:34:49,119 --> 00:34:51,679
can't use it because it has no flexibility.

625
00:34:52,119 --> 00:34:53,199
Speaker 4: Yeah, I do.

626
00:34:53,199 --> 00:34:56,119
Speaker 2: Appreciate the idea that you have good hooks into elastic

627
00:34:56,280 --> 00:34:59,119
or read It's just like what cash makes you happy.

628
00:34:59,320 --> 00:35:00,000
Use the one you want.

629
00:35:00,239 --> 00:35:06,159
Speaker 4: M I really like your point about the pain of

630
00:35:06,920 --> 00:35:08,800
being asked to make a decision that you don't know

631
00:35:08,840 --> 00:35:11,840
how to make, because personally, when it comes to development,

632
00:35:11,920 --> 00:35:13,840
I feel like I have to do a lot of

633
00:35:13,880 --> 00:35:15,599
that right, and it's like, oh, you want to do this,

634
00:35:15,679 --> 00:35:17,000
you want to do that. I'm like, I don't know

635
00:35:17,039 --> 00:35:19,920
what either of these things are, right, I'm just rolling

636
00:35:19,920 --> 00:35:22,119
a die and hoping for the best.

637
00:35:22,320 --> 00:35:25,159
Speaker 2: Yeah, here's what I know. The app I started working

638
00:35:25,199 --> 00:35:29,079
on six months ago in the apps but that's on

639
00:35:29,199 --> 00:35:32,400
version four, but it's been around for five years, is

640
00:35:32,440 --> 00:35:34,840
now not able to run fast enough for them reviewsers

641
00:35:34,880 --> 00:35:37,599
I've got, you know, we're now complaining about performance and

642
00:35:37,639 --> 00:35:40,800
they're saying, hey, it's in the cloud, make it scale,

643
00:35:41,320 --> 00:35:43,000
And I don't know how to do that. There's no

644
00:35:43,119 --> 00:35:48,599
make it scale button. So I'm going down this path, right,

645
00:35:48,679 --> 00:35:52,760
And it said how I fire up this Aspire? Thinking okay, well,

646
00:35:52,800 --> 00:35:56,320
if we are, you know, put more cloud architecture into it,

647
00:35:56,320 --> 00:36:00,599
it'll scale. And you're trying things right, I mean, this

648
00:36:00,800 --> 00:36:01,719
is just an experiment.

649
00:36:02,480 --> 00:36:05,599
Speaker 4: An you think to bring up that library of curated

650
00:36:05,679 --> 00:36:08,239
components piece. I know a lot of people who've been

651
00:36:08,360 --> 00:36:11,920
using all these things in the past before I had

652
00:36:11,960 --> 00:36:15,639
an aspired dot you know, before the name are saying hey,

653
00:36:15,639 --> 00:36:21,079
it's just exact same thing. But personally, I, as someone new,

654
00:36:21,159 --> 00:36:25,079
I don't know all my different options within the dotnet ecosystem,

655
00:36:25,280 --> 00:36:28,119
and if I want to find them in the traditional ways,

656
00:36:28,159 --> 00:36:31,000
I just get overloaded. I'm like, Okay, here's seven different

657
00:36:31,119 --> 00:36:35,719
databases that I can choose from and just hap me

658
00:36:36,360 --> 00:36:39,159
oh no, like post grass, like seql, I don't know.

659
00:36:40,719 --> 00:36:43,559
But having a list of just saying look, this is

660
00:36:43,599 --> 00:36:52,840
what is supported and popular and has the most functionality,

661
00:36:53,519 --> 00:36:56,119
and being able to say, okay, maybe I want to

662
00:36:56,119 --> 00:36:58,800
add this thing in now to solve my problem.

663
00:36:59,000 --> 00:36:59,159
Speaker 2: Right.

664
00:36:59,480 --> 00:37:02,239
Speaker 4: Not to go on another digression, but I think people

665
00:37:02,280 --> 00:37:05,840
come in with problems to solve. They don't come in knowing, hey,

666
00:37:05,880 --> 00:37:08,559
here's my exact solution for my problem to solve. Let

667
00:37:08,599 --> 00:37:09,599
me find that solution.

668
00:37:09,800 --> 00:37:12,559
Speaker 2: Yeah, you're exactly right, and so I mean part of

669
00:37:12,599 --> 00:37:18,000
this is having the confidence to experiment exactly right, exactly

670
00:37:18,079 --> 00:37:21,119
spin up a separate instance and play with these changes

671
00:37:21,199 --> 00:37:22,760
and then watch how it behaves, and.

672
00:37:23,280 --> 00:37:25,000
Speaker 4: To have the trust that you're not going to get

673
00:37:25,039 --> 00:37:27,000
screwed over if something goes wrong.

674
00:37:27,280 --> 00:37:31,079
Speaker 1: These days, whenever I'm faced with the decision of what

675
00:37:31,159 --> 00:37:34,840
to use, I go to AI and I ask for

676
00:37:34,880 --> 00:37:39,800
a summary of these different things, and from those summaries

677
00:37:39,920 --> 00:37:43,440
that at least that's something that I can go look

678
00:37:43,559 --> 00:37:48,440
up and make sure that it's validated, and then, you know, further,

679
00:37:48,559 --> 00:37:52,599
have a conversation given that this does that and the

680
00:37:52,639 --> 00:37:56,000
other does something else, you know, which might be a

681
00:37:56,039 --> 00:38:00,000
good solution for me, And I may not end up

682
00:38:00,559 --> 00:38:04,159
going with, you know, the solution suggested by the AI,

683
00:38:04,320 --> 00:38:06,360
but at least it's a good place to start.

684
00:38:07,760 --> 00:38:11,480
Speaker 4: I think I really like that point, because, at least

685
00:38:11,480 --> 00:38:14,840
from my experience, it's always harder to write something from

686
00:38:14,920 --> 00:38:19,599
scratch than to criticize something that already exists, right.

687
00:38:19,480 --> 00:38:23,920
Speaker 2: Like, yeah, yeah, I could see the first few times

688
00:38:24,000 --> 00:38:28,840
I'm using Aspire to generate orchestration code to then ask

689
00:38:28,840 --> 00:38:30,920
a HULB copilot, what do you think of this code?

690
00:38:30,960 --> 00:38:33,920
What does it do you? And see how it responds

691
00:38:33,960 --> 00:38:37,679
to it? Just you're kind of getting another opinion, i'd

692
00:38:37,719 --> 00:38:39,159
mentally from a piece of software.

693
00:38:39,519 --> 00:38:43,199
Speaker 1: Sure, sure, well yeah, but it's it's good at summarizing language,

694
00:38:43,239 --> 00:38:46,239
which is, you know, the language is already to.

695
00:38:46,280 --> 00:38:50,519
Speaker 2: Text, yeah, speak, yeah, that's an interesting angle on this.

696
00:38:50,679 --> 00:38:52,760
You know, new way to write software is now that

697
00:38:52,840 --> 00:38:56,239
I have these generators, because it does spit code out

698
00:38:56,280 --> 00:38:59,880
for me based on what I need. I can you know,

699
00:39:00,280 --> 00:39:03,480
getting a get an evaluation of that from another tool

700
00:39:03,880 --> 00:39:06,320
before I try and push it out into into a

701
00:39:06,360 --> 00:39:06,840
test case.

702
00:39:07,039 --> 00:39:10,119
Speaker 4: Exactly. To think of your AI as like a first

703
00:39:10,199 --> 00:39:11,440
year of college.

704
00:39:11,079 --> 00:39:15,159
Speaker 1: Intern, right, exactly, go find all the info you can on.

705
00:39:15,559 --> 00:39:18,559
Speaker 2: X who occasionally takes inappropriate meds or something.

706
00:39:18,559 --> 00:39:26,599
Speaker 1: Because over they're getting better, aren't they?

707
00:39:27,360 --> 00:39:29,480
Speaker 2: But have I ever looked at its responses? That are

708
00:39:29,519 --> 00:39:34,320
you taking mushrooms like kids?

709
00:39:34,360 --> 00:39:37,559
Speaker 4: These models, this.

710
00:39:37,639 --> 00:39:38,719
Speaker 2: Software is out of control.

711
00:39:39,320 --> 00:39:50,679
Speaker 1: Back in my day, we didn't have no natural stupidity.

712
00:39:52,320 --> 00:39:55,039
Speaker 2: What parts of Aspire we not talked about? I mean

713
00:39:55,039 --> 00:39:58,360
we sort of we said discovery is important, but how

714
00:39:58,360 --> 00:39:59,840
do you explain why discoveries?

715
00:40:01,519 --> 00:40:04,360
Speaker 4: I think, honestly, we talked about it a little bit

716
00:40:04,440 --> 00:40:12,079
before around Personally, I think it's about lessening the barrier

717
00:40:13,719 --> 00:40:17,039
when it comes to scaling up, because right, you can

718
00:40:17,079 --> 00:40:21,719
start off with your randomly generated local hosports, you can

719
00:40:21,719 --> 00:40:26,719
figure out how to discover services, you know, when you

720
00:40:26,760 --> 00:40:30,239
only have a couple, but as people scale up, usually

721
00:40:30,239 --> 00:40:34,360
they realize, oh, this is like exponentially more difficult. Yeah,

722
00:40:34,400 --> 00:40:39,719
And having this mental model service discovery upfront and you

723
00:40:39,760 --> 00:40:42,679
know you don't have to like figure out exactly how

724
00:40:42,679 --> 00:40:46,559
it works and know it backwards and forwards, but you

725
00:40:46,559 --> 00:40:51,519
can see it working and over time it really smooths the.

726
00:40:51,480 --> 00:40:55,519
Speaker 2: Way, especially when you're giving them multiple versions of service all.

727
00:40:55,639 --> 00:40:58,239
That's the kind of stuff where I wrote my own

728
00:40:58,280 --> 00:41:00,920
discovery code back in the day because we had that

729
00:41:01,079 --> 00:41:05,039
exactly that problem, right. We had a big service bus

730
00:41:05,079 --> 00:41:08,239
app running with multiple apps and different languages plugging into it,

731
00:41:08,280 --> 00:41:10,039
all trying to pass message to each other, and we

732
00:41:10,079 --> 00:41:15,079
had multiple versions of everything, and you want it fail over.

733
00:41:15,159 --> 00:41:17,079
You wanted to be able to if it's not running here,

734
00:41:17,119 --> 00:41:19,159
you can get it from there, like that kind of option,

735
00:41:19,199 --> 00:41:20,800
and you don't want to hard code all that stuff.

736
00:41:20,960 --> 00:41:21,480
Speaker 4: That's right.

737
00:41:21,599 --> 00:41:26,159
Speaker 2: You just asked er, You asked the discovery service for

738
00:41:26,320 --> 00:41:30,119
a service, and it says here you go, that's all.

739
00:41:30,119 --> 00:41:32,079
You know. You don't know where it came from. You know,

740
00:41:32,719 --> 00:41:36,480
it's fine, You're good, right, right, but it does feel

741
00:41:36,519 --> 00:41:39,639
like that's sort of that mature piece of Okay, So

742
00:41:39,719 --> 00:41:42,880
you're living in services land and you want to be taller.

743
00:41:43,000 --> 00:41:45,440
You want all those additional capability to scale and fall

744
00:41:45,480 --> 00:41:48,079
tolerant and so forth, and discovery is your friend. Let's

745
00:41:48,079 --> 00:41:54,400
start integrating it now. Yeah. I'm getting flashbacks, man, right

746
00:41:55,599 --> 00:41:57,519
the old way.

747
00:41:57,000 --> 00:41:58,119
Speaker 4: The montage begins.

748
00:41:58,480 --> 00:42:00,679
Speaker 2: Yeah, I just remember how much much battle it is.

749
00:42:00,719 --> 00:42:03,760
So the idea that I now have an opinionated template,

750
00:42:04,119 --> 00:42:06,360
it says, okay, but you're going to discovery approach it

751
00:42:06,440 --> 00:42:07,679
like this, this works.

752
00:42:07,719 --> 00:42:10,880
Speaker 1: Well, just make sure you don't snatch defeat out of

753
00:42:10,920 --> 00:42:13,199
the jaws of victory.

754
00:42:14,239 --> 00:42:16,360
Speaker 4: That's a good way of putting it a moment.

755
00:42:17,159 --> 00:42:21,480
Speaker 2: Yeah, oh yeah, And you do need to get into

756
00:42:21,559 --> 00:42:24,320
containers for this too, right, Like if you're not already

757
00:42:24,400 --> 00:42:26,760
using containers, this is one of the hurdles.

758
00:42:27,880 --> 00:42:29,840
Speaker 1: And also it could be an easy way to get

759
00:42:29,880 --> 00:42:30,960
into containers, couldn't.

760
00:42:31,039 --> 00:42:33,320
Speaker 4: Yeah, well because absolutely.

761
00:42:32,880 --> 00:42:35,400
Speaker 2: Because it's doing a lot of the container plumbing.

762
00:42:35,000 --> 00:42:37,320
Speaker 1: For you absolutely less. YAML.

763
00:42:38,760 --> 00:42:42,199
Speaker 2: Well, I think it's you just didn't write it yourself.

764
00:42:42,360 --> 00:42:46,840
Speaker 4: Yeah right, And I think the fact of all these

765
00:42:47,239 --> 00:42:49,519
you know, the Yamo's still there, the doctor fhile is

766
00:42:49,519 --> 00:42:52,920
still there, Like, yeah, it's there. You don't have to

767
00:42:53,079 --> 00:42:55,719
think about it too much. But when you do want

768
00:42:55,760 --> 00:42:58,000
to you can come back and learn it.

769
00:42:58,119 --> 00:43:00,280
Speaker 2: We haven't invented a new language or a new way

770
00:43:00,280 --> 00:43:03,400
to do this. All you're doing is generating a generally

771
00:43:03,440 --> 00:43:07,360
accepted approach to it, right right, Yeah, that's it's compelling

772
00:43:07,400 --> 00:43:10,199
because it's again it's like figuring that stuff out yourself.

773
00:43:10,199 --> 00:43:12,920
It's doable, but it takes time and you don't know

774
00:43:12,960 --> 00:43:14,480
if you're working on the right thing. Like what I

775
00:43:14,519 --> 00:43:18,039
like about this is a good experiment. Just let's kick

776
00:43:18,039 --> 00:43:19,679
it up and see what we think. Like, does that

777
00:43:19,719 --> 00:43:20,079
make sense?

778
00:43:20,159 --> 00:43:20,880
Speaker 4: Yeah, exactly.

779
00:43:20,960 --> 00:43:22,760
Speaker 2: Okay, let's revert and try it again, do it a

780
00:43:22,760 --> 00:43:25,599
different way, Like you don't have to decide. It's generating

781
00:43:25,599 --> 00:43:26,519
a lot of that code for you.

782
00:43:26,719 --> 00:43:30,960
Speaker 4: Yeah, absolutely. You know, I think with containers, conceptually it

783
00:43:31,000 --> 00:43:34,400
seems kind of you know, straightforward, Oh I put my

784
00:43:34,480 --> 00:43:38,599
code in a box, it works everywhere. But the reality

785
00:43:38,679 --> 00:43:41,280
of it, like getting it in there, making sure that

786
00:43:41,320 --> 00:43:45,480
they're orchestrated correctly, that you know that they're deployed correctly.

787
00:43:46,000 --> 00:43:47,519
And I guess that's where I can bring up a

788
00:43:47,599 --> 00:43:52,199
little bit of AZD where I think there's a lot

789
00:43:52,199 --> 00:43:55,239
of misconceptions around that tool of it's bringing in this

790
00:43:55,320 --> 00:43:57,719
new magic way of doing things you type in two

791
00:43:57,760 --> 00:44:02,760
commands and everything worse. But under the covers. It's similar

792
00:44:02,800 --> 00:44:07,360
to how the spire does it, where it generates the

793
00:44:07,400 --> 00:44:10,320
things that people are familiar with. It generates the BICEP,

794
00:44:11,239 --> 00:44:13,400
but you don't have to think about it until you

795
00:44:13,440 --> 00:44:14,800
want to can your mind.

796
00:44:14,960 --> 00:44:17,920
Speaker 1: So a ZD is again, I mean you talked about

797
00:44:17,920 --> 00:44:18,440
it briefly.

798
00:44:18,599 --> 00:44:22,800
Speaker 4: Yeah, that's right, that's right, yep. So AZD is the

799
00:44:22,840 --> 00:44:27,760
Azure Developer Cli. It is different from the Azure Cli,

800
00:44:27,800 --> 00:44:30,840
which is a z so you can see why there

801
00:44:30,920 --> 00:44:34,199
might be some confusion there. Yeah, But the core of

802
00:44:34,239 --> 00:44:40,960
AZD is it helps you deploy without becoming a BICEP expert.

803
00:44:41,519 --> 00:44:46,400
And it does that by generating BICEP templates essentially based

804
00:44:46,480 --> 00:44:50,000
on the code and the project structure that you have,

805
00:44:50,920 --> 00:44:55,480
and you can expose that using a command so that

806
00:44:55,519 --> 00:44:58,400
you can dive into the actual infrastructure code and you

807
00:44:58,440 --> 00:45:02,920
can edit it manually instead of just hoping for the

808
00:45:03,000 --> 00:45:04,559
best with a CLI command.

809
00:45:04,679 --> 00:45:07,320
Speaker 2: Right, Yeah, I mean, I know the names are correct,

810
00:45:07,400 --> 00:45:12,480
as your CLI, as your developer CLI. It's right and

811
00:45:12,840 --> 00:45:16,599
any and I appreciate that you're generating BICEP right, right,

812
00:45:17,000 --> 00:45:21,480
which ultimately turns into ARM templates under the hood. But

813
00:45:21,559 --> 00:45:26,679
at least it's fairly I find BICEP fairly readable. It

814
00:45:26,719 --> 00:45:29,480
does seem like rational code. I was just right right,

815
00:45:29,840 --> 00:45:35,159
it's still pretty I've never I've never reused BICEP code

816
00:45:35,199 --> 00:45:38,280
between projects. I've used the same code. I have cut

817
00:45:38,320 --> 00:45:41,679
and pasted stuff I figured out and put it somewhere else.

818
00:45:41,719 --> 00:45:43,239
Speaker 1: But sounds like you need a generator.

819
00:45:43,360 --> 00:45:45,400
Speaker 2: Richard's ah, yeah.

820
00:45:44,960 --> 00:45:45,719
Speaker 1: Yeah, maybe.

821
00:45:46,320 --> 00:45:50,880
Speaker 4: I think the what you're saying about BICEP is readable, right,

822
00:45:51,039 --> 00:45:54,639
But the difficulty comes from writing it from scratch. Absolutely,

823
00:45:54,719 --> 00:45:57,280
because I hear a lot of people say, look like

824
00:45:57,360 --> 00:45:59,559
BICEP is fine. As long as I have something to

825
00:45:59,599 --> 00:46:02,280
start with, I can do what the structure is. I know,

826
00:46:03,079 --> 00:46:03,840
I can edit thing.

827
00:46:03,960 --> 00:46:05,960
Speaker 2: I feel like you never write enough of it to

828
00:46:06,039 --> 00:46:06,719
be good at it.

829
00:46:07,119 --> 00:46:07,519
Speaker 4: Yeah.

830
00:46:07,599 --> 00:46:09,920
Speaker 2: Yeah, you need it when you need it, But it's

831
00:46:09,960 --> 00:46:12,880
always a struggle, you know. I'm always looking at a

832
00:46:12,880 --> 00:46:16,199
previous example, like you need another piece of code, and

833
00:46:16,239 --> 00:46:18,360
sometimes take some of that code with you. So it's

834
00:46:18,519 --> 00:46:20,679
kind of like that you're generating it for me rather

835
00:46:20,679 --> 00:46:22,199
than cut and pasting it from elsewhere.

836
00:46:22,360 --> 00:46:24,760
Speaker 4: Mm hmm, that's right, all right.

837
00:46:24,519 --> 00:46:27,559
Speaker 2: Well, I mean, and because this is always the reality

838
00:46:27,599 --> 00:46:31,000
of a quote unquote cloud native application is you do

839
00:46:31,079 --> 00:46:33,519
have to tell the cloud what resources you need, and

840
00:46:33,880 --> 00:46:36,840
you do want that automated to just spit it all

841
00:46:36,880 --> 00:46:39,480
out and then push your code, your compiled code into

842
00:46:39,519 --> 00:46:42,559
the right places and put cook things up, get the

843
00:46:42,639 --> 00:46:46,079
orchestration working. That's right, Like, this is part of the job.

844
00:46:45,960 --> 00:46:50,519
Speaker 4: Right, And for a lot of I mean software engineers,

845
00:46:50,559 --> 00:46:53,199
like they don't necessarily you know, that's not necessarily what

846
00:46:53,239 --> 00:46:55,719
they signed up for, right, They're here to build something.

847
00:46:55,800 --> 00:47:00,679
They're not here to be Yeah, figuring out the deployment

848
00:47:00,760 --> 00:47:03,559
pipeline or so on necessarily, Right.

849
00:47:03,840 --> 00:47:06,320
Speaker 2: Are we waiting on more components? Like I've just went

850
00:47:06,360 --> 00:47:08,519
and grabbed the list off of learn and I've included

851
00:47:08,559 --> 00:47:10,320
it in the show notes, so folks want to look

852
00:47:10,320 --> 00:47:14,880
at it. So, I mean, it's all the ones you'd expect, sure, SEQL, server, service,

853
00:47:15,000 --> 00:47:18,519
bus stuff like that. Yeah, and then yeah, Ratus is there,

854
00:47:18,519 --> 00:47:19,719
but elastic is not.

855
00:47:20,199 --> 00:47:23,079
Speaker 4: Right, right, And I think the thing with the component

856
00:47:23,199 --> 00:47:27,920
library is at least what I'm seeing is it's meant

857
00:47:28,280 --> 00:47:34,280
more as a like app store situation, but without the

858
00:47:34,320 --> 00:47:37,519
buying selling, where it's not just Microsoft or even the

859
00:47:37,559 --> 00:47:42,440
dot net team, right, who gets to create components. The

860
00:47:42,599 --> 00:47:46,079
idea is anyone can say I would love for this

861
00:47:46,199 --> 00:47:48,519
to be a component at Aspire. I'm going to write

862
00:47:48,559 --> 00:47:50,960
it up, I'm going to push it in right, and

863
00:47:51,239 --> 00:47:55,360
if you go into the ad Aspire package, you'll notice

864
00:47:55,360 --> 00:47:58,639
that it's just a filter that looks for the Aspire keyword.

865
00:47:58,679 --> 00:48:01,480
It's not like, hey, here's your special new Get package

866
00:48:01,480 --> 00:48:07,079
manager with only special Aspire packaging. So it's again it

867
00:48:07,119 --> 00:48:11,519
feels like it's taking what's already there. It's just simplifying

868
00:48:11,599 --> 00:48:12,920
the discovery process.

869
00:48:13,199 --> 00:48:15,880
Speaker 2: It's yeah, it's great, and I do like the idea

870
00:48:15,920 --> 00:48:19,039
of this is known to work with a spire scaffold, right,

871
00:48:19,039 --> 00:48:21,480
so you know you're not wrestling with something saying am

872
00:48:21,480 --> 00:48:23,519
I doing it wrong? Or does it not work this way?

873
00:48:23,719 --> 00:48:24,320
Speaker 4: Right? Right?

874
00:48:24,880 --> 00:48:28,000
Speaker 2: That is appreciated because it just makes life a little

875
00:48:28,000 --> 00:48:31,519
bit easier, you know, one less battle to have, that's right.

876
00:48:31,559 --> 00:48:35,679
Speaker 4: And when you're dealing with micro services with a couple dozen,

877
00:48:36,320 --> 00:48:38,880
you know, like so many moving pieces, you want to

878
00:48:38,920 --> 00:48:41,440
make sure that those moving pieces aren't going to fail

879
00:48:41,440 --> 00:48:44,920
on you in the middle of a raise, and yeah,

880
00:48:45,000 --> 00:48:46,840
you want to be able to rely on them.

881
00:48:46,960 --> 00:48:49,840
Speaker 2: Absolutely and generally speaking, this is not about me making

882
00:48:50,000 --> 00:48:53,719
more components for myself running these things. It's me calling

883
00:48:53,760 --> 00:48:57,119
to that service, right, Like I don't want my own

884
00:48:57,159 --> 00:49:01,599
reddisk containers. I want to call a retta service, right right. Yeah,

885
00:49:01,840 --> 00:49:04,559
it's cool like that. That is a whole other thing

886
00:49:04,679 --> 00:49:07,360
set of things you need to learn. Oh yeah, and

887
00:49:07,639 --> 00:49:10,039
look open ai is there. So if you want to

888
00:49:10,880 --> 00:49:13,679
you want to include some ll M in your in

889
00:49:13,760 --> 00:49:16,159
your app, you've got to recognize services.

890
00:49:16,199 --> 00:49:16,840
Speaker 4: We have an option.

891
00:49:17,480 --> 00:49:20,039
Speaker 1: Yeah, So jos Chin, what's in your to do list?

892
00:49:20,320 --> 00:49:21,239
What's next for you?

893
00:49:21,360 --> 00:49:26,000
Speaker 4: Oh gosh, So I think the big question right now

894
00:49:26,239 --> 00:49:29,440
is over on the Agura container app side, like how

895
00:49:29,480 --> 00:49:33,639
do we make this better for developers? So Aspire is great,

896
00:49:33,760 --> 00:49:38,679
we're trying to do like strong integration there, but vast

897
00:49:38,719 --> 00:49:44,559
majority of DOTTNA developers are that are not using Aspire there. Yeah,

898
00:49:44,599 --> 00:49:51,079
and I just think that it's like so far it's

899
00:49:51,079 --> 00:49:55,320
been difficult, but we're really trying to lower that barrier

900
00:49:55,360 --> 00:49:58,920
to entry around containers, recognizing that a lot of DOTNA

901
00:49:58,960 --> 00:50:02,519
developers aren't coming in with like because you know, they

902
00:50:02,559 --> 00:50:06,599
hear about containers as a technology that is new and

903
00:50:07,440 --> 00:50:12,800
efficient and helpful, but they're not experts. And how to

904
00:50:12,880 --> 00:50:15,920
allow them to get started with a low barrier to

905
00:50:16,119 --> 00:50:19,679
entry without saying, hey, like click one button and we

906
00:50:19,800 --> 00:50:21,960
take your code and do all the magic and just

907
00:50:22,000 --> 00:50:23,960
deploy it and you just have to trust in it.

908
00:50:24,039 --> 00:50:28,119
Speaker 2: Right, that only works in demos anywhere else?

909
00:50:28,639 --> 00:50:30,239
Speaker 4: Yeah, exactly, but.

910
00:50:30,239 --> 00:50:33,760
Speaker 2: At least some guidance, right, Okay, you want to start

911
00:50:33,840 --> 00:50:37,079
using containers, well, and again it's like you don't want

912
00:50:37,119 --> 00:50:39,599
to use containers, you wanted to scale your app. I

913
00:50:39,719 --> 00:50:42,760
believe containers can help, and Aspire will help guide you

914
00:50:42,800 --> 00:50:43,639
down the path of doing that.

915
00:50:43,800 --> 00:50:46,079
Speaker 1: Isn't that what Kubernetes was supposed to do? Just one

916
00:50:46,280 --> 00:50:48,079
push a button and everything just sort.

917
00:50:47,920 --> 00:50:51,039
Speaker 4: Of boom emphasis I'm supposed to right.

918
00:50:51,440 --> 00:50:53,440
Speaker 1: Yeah, I mean it turns out to be kind of.

919
00:50:55,599 --> 00:50:55,679
Speaker 5: It.

920
00:50:56,199 --> 00:51:00,840
Speaker 4: Yeah, And Richard, I think you what you said earlier

921
00:51:00,880 --> 00:51:04,440
really gets to that point of let people focus on

922
00:51:04,480 --> 00:51:07,920
the problems that they're solving instead of making them figure

923
00:51:07,960 --> 00:51:11,440
out the solution, right, Like, don't expect people to say, oh, yeah,

924
00:51:11,480 --> 00:51:15,119
I really need containers, but rather what are containers supposed

925
00:51:15,119 --> 00:51:16,000
to do for people?

926
00:51:16,480 --> 00:51:18,920
Speaker 2: Yeah? Yeah, well I really need to allow more people

927
00:51:18,920 --> 00:51:20,800
to use this app at the same time without a

928
00:51:20,840 --> 00:51:22,719
tipping over, right, I really need to know when it

929
00:51:22,719 --> 00:51:25,280
does tip over what went wrong. I really need to

930
00:51:25,320 --> 00:51:28,280
be able to run multiple versions of services. I really

931
00:51:28,280 --> 00:51:30,800
need to be able to have more people communicating with

932
00:51:30,840 --> 00:51:32,880
that and know when they're damaging the system or when

933
00:51:33,039 --> 00:51:35,840
we're creating creating problems make it. One of the things

934
00:51:35,880 --> 00:51:37,719
happens when you get into these bus type apps is

935
00:51:37,760 --> 00:51:41,079
like a bad actor ends up on the on the backbone,

936
00:51:41,119 --> 00:51:44,239
hammering messages inappropriately. It's a bug, Like, it's not actually

937
00:51:44,599 --> 00:51:47,679
an evil person, it's a bad piece of software that's

938
00:51:48,039 --> 00:51:50,880
that could take the whole bus out and diagnosing that

939
00:51:51,280 --> 00:51:54,960
is a pain. Like anything that can help me build

940
00:51:55,000 --> 00:51:59,440
that successfully, that's my friend. So but you got to

941
00:51:59,480 --> 00:52:03,840
think by the time they're looking here, they're already struggling. Yeah,

942
00:52:03,960 --> 00:52:07,280
they're already having They're saying evil words. They're saying, we

943
00:52:07,320 --> 00:52:11,760
need to re architect the application. That's an evil that's

944
00:52:11,760 --> 00:52:15,039
a terrible statement. You know, as the p or as

945
00:52:15,039 --> 00:52:17,199
the owner, I'm kind of like, let me get a

946
00:52:17,239 --> 00:52:19,239
straight You're going to take a piece of software that

947
00:52:19,559 --> 00:52:20,599
more or less works.

948
00:52:20,400 --> 00:52:22,760
Speaker 4: Right now, You're going to try to fix it.

949
00:52:22,840 --> 00:52:24,760
Speaker 2: You're going to do a bunch of things that introduce

950
00:52:24,880 --> 00:52:27,599
no new features but take a lot of time and

951
00:52:27,719 --> 00:52:30,000
very likely break things that currently work.

952
00:52:30,519 --> 00:52:32,519
Speaker 4: Wow, what a great trade deal then?

953
00:52:32,599 --> 00:52:32,800
Speaker 1: Yeah?

954
00:52:34,000 --> 00:52:37,840
Speaker 2: Right, like and oh and if you do your job perfectly,

955
00:52:38,199 --> 00:52:40,800
none of us will be able to tell right the

956
00:52:40,880 --> 00:52:44,199
app will just be running like did you lose a

957
00:52:44,239 --> 00:52:46,840
bet with God? Like that? That's you just drew the

958
00:52:46,880 --> 00:52:51,000
short straw for this problem.

959
00:52:51,320 --> 00:52:53,960
Speaker 1: Well we can talk a lot more, I know, but

960
00:52:54,480 --> 00:52:56,559
time is up, so Josh, and thank you very much

961
00:52:56,599 --> 00:52:59,960
for enlightening us and your perspective is great.

962
00:53:00,239 --> 00:53:01,280
Speaker 2: Yeah, thanks so much for this.

963
00:53:02,039 --> 00:53:06,400
Speaker 4: Yeah, absolutely, thanks for the great conversations. Yeah, it's nice

964
00:53:06,440 --> 00:53:09,119
to start off my Friday with Uh it feels like

965
00:53:09,159 --> 00:53:12,360
a little bit of stand up comedy.

966
00:53:12,360 --> 00:53:13,960
Speaker 2: Well you got to you got a couple of silly

967
00:53:13,960 --> 00:53:14,440
people on the.

968
00:53:14,400 --> 00:53:19,639
Speaker 5: Lines, all right, so much, Thanks again and we'll see

969
00:53:19,679 --> 00:53:38,920
you next time on dot net rocks.

970
00:53:43,119 --> 00:53:45,800
Speaker 1: Dot net Rocks is brought to you by Franklin's Net

971
00:53:45,920 --> 00:53:49,840
and produced by Pop Studios, a full service audio, video

972
00:53:49,960 --> 00:53:54,079
and post production facility located physically in New London, Connecticut,

973
00:53:54,280 --> 00:53:58,760
and of course in the cloud online at PWOP dot com.

974
00:53:59,280 --> 00:54:01,239
Visit our website right A d O T N E

975
00:54:01,280 --> 00:54:05,679
t R O c K S dot com for RSS feeds, downloads,

976
00:54:05,840 --> 00:54:09,519
mobile apps, comments, and access to the full archives going

977
00:54:09,559 --> 00:54:12,960
back to show number one, recorded in September two thousand

978
00:54:12,960 --> 00:54:15,599
and two. And make sure you check out our sponsors.

979
00:54:15,760 --> 00:54:18,800
They keep us in business. Now go write some code,

980
00:54:19,119 --> 00:54:19,880
See you next time.

981
00:54:20,800 --> 00:54:23,679
Speaker 4: You got jad middle vansc

