WEBVTT

1
00:00:01.080 --> 00:00:04.799
<v Speaker 1>How'd you like to listen to dot NetRocks with no ads? Easy?

2
00:00:05.360 --> 00:00:08.560
<v Speaker 1>Become a patron For just five dollars a month, you

3
00:00:08.599 --> 00:00:11.320
<v Speaker 1>get access to a private RSS feed where all the

4
00:00:11.359 --> 00:00:14.560
<v Speaker 1>shows have no ads. Twenty dollars a month will get

5
00:00:14.599 --> 00:00:18.440
<v Speaker 1>you that and a special dot NetRocks patron mug. Sign

6
00:00:18.519 --> 00:00:22.320
<v Speaker 1>up now at Patreon dot dot NetRocks dot com. Hey,

7
00:00:22.440 --> 00:00:26.239
<v Speaker 1>Carl and Richard here with your twenty twenty four NDC schedule.

8
00:00:26.440 --> 00:00:29.160
<v Speaker 2>Will be at as many NDC conferences as possible this year,

9
00:00:29.199 --> 00:00:32.200
<v Speaker 2>and you should consider attending no matter what. The Copenhagen

10
00:00:32.240 --> 00:00:35.799
<v Speaker 2>Developers Festival happens August twenty sixth through the thirtieth. Tickets

11
00:00:35.840 --> 00:00:38.840
<v Speaker 2>at Cphdevfest dot com.

12
00:00:39.079 --> 00:00:43.439
<v Speaker 1>Ndcporto is happening October fourteenth through the eighteenth. The early

13
00:00:43.520 --> 00:00:49.159
<v Speaker 1>bird discount ends June fourteenth. Tickets at Ndcporto dot com.

14
00:00:49.200 --> 00:00:50.520
<v Speaker 2>And we'll see you there.

15
00:00:50.759 --> 00:01:02.280
<v Speaker 3>We hope.

16
00:01:04.719 --> 00:01:09.120
<v Speaker 1>Hey, guess what it's dot net rocks again, episode number

17
00:01:09.280 --> 00:01:14.480
<v Speaker 1>nineteen hundred and nine. Yeah, what's up. I'm Carl Franklin.

18
00:01:14.519 --> 00:01:15.439
<v Speaker 1>That's Richard Campbell.

19
00:01:15.599 --> 00:01:18.719
<v Speaker 2>How do you? How are you? How are you? Hey? Summertime?

20
00:01:18.760 --> 00:01:19.560
<v Speaker 2>I like summertime.

21
00:01:19.680 --> 00:01:23.359
<v Speaker 1>Summertime is good. And today it's actually the heat lifted

22
00:01:23.400 --> 00:01:26.920
<v Speaker 1>a little bit. Oh good, humidity is low. It's going

23
00:01:27.000 --> 00:01:30.959
<v Speaker 1>to be a nice sunny day here in Connecticut.

24
00:01:31.159 --> 00:01:32.840
<v Speaker 4>I don't jinx it. Don't jinx it.

25
00:01:33.200 --> 00:01:37.560
<v Speaker 1>Yeah right, I mean I could. I could say, you know,

26
00:01:37.719 --> 00:01:41.040
<v Speaker 1>the Internet is working, there's no problems with it.

27
00:01:41.640 --> 00:01:44.840
<v Speaker 2>Don't be crazy now there.

28
00:01:45.079 --> 00:01:47.280
<v Speaker 1>The reason we're laughing about that is because there is

29
00:01:47.319 --> 00:01:51.359
<v Speaker 1>a major outage this morning, the CrowdStrike problem.

30
00:01:52.359 --> 00:01:55.640
<v Speaker 2>Somebody pushed out an update on a Thursday, and it

31
00:01:55.719 --> 00:01:59.920
<v Speaker 2>is literally raced around the world and causes machines to

32
00:02:00.079 --> 00:02:04.319
<v Speaker 2>blue screen. And now that they're cleaning it up, of course,

33
00:02:05.519 --> 00:02:08.680
<v Speaker 2>presumably when you actually hear the show two weeks after

34
00:02:08.800 --> 00:02:12.639
<v Speaker 2>we recorded it, everything will be fine, or you'll never

35
00:02:12.680 --> 00:02:14.680
<v Speaker 2>hear the show because the world has collapsed.

36
00:02:15.159 --> 00:02:19.400
<v Speaker 1>I saw a great meme on Facebook of there's there's

37
00:02:19.439 --> 00:02:23.439
<v Speaker 1>this picture of a little girl turning to a camera

38
00:02:23.719 --> 00:02:27.719
<v Speaker 1>and she's watching a house fire and it might be

39
00:02:27.840 --> 00:02:29.960
<v Speaker 1>from it didn't it didn't look like it was from

40
00:02:30.039 --> 00:02:32.840
<v Speaker 1>fire Starter. Man, It's like meme photo, right, it's a

41
00:02:32.879 --> 00:02:35.759
<v Speaker 1>meme photo. Yeah, with the little girl's looking over her

42
00:02:35.800 --> 00:02:38.199
<v Speaker 1>shoulder at the camera and smiling.

43
00:02:38.719 --> 00:02:41.280
<v Speaker 2>Riley, Yeah, a bit of a diabolical smile.

44
00:02:41.599 --> 00:02:43.919
<v Speaker 1>Yeah, and so there's a blue screen of death pasted

45
00:02:44.080 --> 00:02:48.400
<v Speaker 1>over the fire and it said Linux users be like.

46
00:02:50.400 --> 00:02:54.000
<v Speaker 2>Well, once again we have this reminder of how and

47
00:02:54.240 --> 00:02:56.719
<v Speaker 2>because it's shut down the airlines. Oh yeah, right, like

48
00:02:56.759 --> 00:02:59.800
<v Speaker 2>people use the software everywhere and it's like, once again,

49
00:03:00.039 --> 00:03:06.520
<v Speaker 2>reminder of software runs the world. Maybe we need more discipline.

50
00:03:06.719 --> 00:03:09.199
<v Speaker 1>We should also dispel that myth that Azure had a

51
00:03:09.240 --> 00:03:10.800
<v Speaker 1>problem too, right, yeah.

52
00:03:10.639 --> 00:03:14.360
<v Speaker 2>Because clearly it wasn't Azure. It was virtual machines and

53
00:03:14.479 --> 00:03:18.000
<v Speaker 2>virtual pieces that were running CrowdStrike. Yeah, the blue screen,

54
00:03:18.039 --> 00:03:20.919
<v Speaker 2>and then people were complaining that Azure was failing, but

55
00:03:21.080 --> 00:03:27.919
<v Speaker 2>that's not the case at this moment, right right, every

56
00:03:28.039 --> 00:03:30.879
<v Speaker 2>who knows again you're going to hear this two weeks

57
00:03:30.879 --> 00:03:33.199
<v Speaker 2>after we recorded it. We're in the midst of this

58
00:03:33.240 --> 00:03:35.800
<v Speaker 2>thing right now, and I'm like, I have all the

59
00:03:35.840 --> 00:03:38.639
<v Speaker 2>empathy in the world, you know, especially making run as

60
00:03:38.639 --> 00:03:42.360
<v Speaker 2>and collecting all those stories from administrators, like do not

61
00:03:42.560 --> 00:03:46.439
<v Speaker 2>throw stones in your glasshouse, man. We're all got our troubles.

62
00:03:46.159 --> 00:03:49.240
<v Speaker 1>Right, We won't attempt the gods of vengeance and irony.

63
00:03:49.960 --> 00:03:52.199
<v Speaker 1>They they have a way of smacking us down.

64
00:03:52.280 --> 00:03:53.280
<v Speaker 2>Yeah, they'll let you know.

65
00:03:54.960 --> 00:03:58.719
<v Speaker 1>All right, I got a nice one for better no frameworks.

66
00:03:58.719 --> 00:04:10.960
<v Speaker 1>So rowl the crazy and you is it awesome? You know,

67
00:04:11.039 --> 00:04:13.919
<v Speaker 1>somebody actually emailed me. Maybe it was a tweet I

68
00:04:13.960 --> 00:04:16.480
<v Speaker 1>can't remember, but they said, hey, can you publish the

69
00:04:16.480 --> 00:04:19.000
<v Speaker 1>words to the better note of framework theme?

70
00:04:19.680 --> 00:04:20.759
<v Speaker 4>Uh?

71
00:04:21.040 --> 00:04:30.079
<v Speaker 1>Really there are no words or something. I don't know,

72
00:04:30.279 --> 00:04:32.199
<v Speaker 1>maybe it was maybe it was that, but you know,

73
00:04:32.240 --> 00:04:35.720
<v Speaker 1>they literally are dude it, dude it, dude it, dude it.

74
00:04:35.879 --> 00:04:39.199
<v Speaker 1>Dude do that's it?

75
00:04:39.399 --> 00:04:40.279
<v Speaker 2>That's the whole thing.

76
00:04:41.439 --> 00:04:44.079
<v Speaker 1>Do I really need? Okay, maybe they were just joking,

77
00:04:44.120 --> 00:04:47.279
<v Speaker 1>but so what I have to talk about today is

78
00:04:47.560 --> 00:04:50.600
<v Speaker 1>something near and dear to my heart. It's a Blazer puzzle.

79
00:04:51.000 --> 00:04:53.680
<v Speaker 1>Oh yeah, and I know, yeah, blazer Puzzle dot com.

80
00:04:53.680 --> 00:04:57.079
<v Speaker 1>I know I've talked about it before, but I wanted

81
00:04:57.120 --> 00:05:00.160
<v Speaker 1>to just tell remind people about this. Jeff Fritz and

82
00:05:00.199 --> 00:05:02.800
<v Speaker 1>I do this weekly. This is sort of an offshoot

83
00:05:02.800 --> 00:05:06.879
<v Speaker 1>of Blazer Train. Once blazer Train got saturated with topics,

84
00:05:07.160 --> 00:05:09.399
<v Speaker 1>you know, and it became more about maintenance for new

85
00:05:09.480 --> 00:05:12.720
<v Speaker 1>versions of dot net. We started this new thing. And

86
00:05:12.759 --> 00:05:15.639
<v Speaker 1>the whole idea is that we give you a problem.

87
00:05:15.800 --> 00:05:19.639
<v Speaker 1>Maybe we say, here's a program, a simple Blazer app

88
00:05:20.120 --> 00:05:22.519
<v Speaker 1>and there's an issue, what is the issue and how

89
00:05:22.560 --> 00:05:25.199
<v Speaker 1>do we fix it? Or maybe we say we want

90
00:05:25.240 --> 00:05:28.240
<v Speaker 1>to add this feature, how do you do that? More

91
00:05:28.439 --> 00:05:31.439
<v Speaker 1>nine times out of ten it's a problem, and usually

92
00:05:31.480 --> 00:05:35.040
<v Speaker 1>it comes from real world problems, problems that Jeff and

93
00:05:35.120 --> 00:05:40.120
<v Speaker 1>I have had when we're developing apps or you know

94
00:05:40.360 --> 00:05:45.480
<v Speaker 1>we see junior developers making because they make assumptions. So

95
00:05:46.240 --> 00:05:48.439
<v Speaker 1>it's really much more than just fun and games. And

96
00:05:48.480 --> 00:05:51.959
<v Speaker 1>it is fun, and they're small videos, they're ten minutes.

97
00:05:52.040 --> 00:05:54.759
<v Speaker 2>I just think it's a good idea, right, A little kata,

98
00:05:55.519 --> 00:05:59.240
<v Speaker 2>you know, coding exercise tackle make you think differently about

99
00:05:59.279 --> 00:06:00.279
<v Speaker 2>the thing you do every day.

100
00:06:00.399 --> 00:06:03.160
<v Speaker 1>But I actually went I had an issue and I

101
00:06:03.279 --> 00:06:05.480
<v Speaker 1>was like, how do you do that again? And I

102
00:06:05.519 --> 00:06:08.959
<v Speaker 1>went back to the Blazer puzzle, you know, like episode

103
00:06:09.560 --> 00:06:13.360
<v Speaker 1>in the in the first ten or the first twenty.

104
00:06:13.680 --> 00:06:16.439
<v Speaker 1>I found the answer again. So it's not only good

105
00:06:16.560 --> 00:06:19.240
<v Speaker 1>for you know, just fun, but if you have a

106
00:06:19.319 --> 00:06:22.920
<v Speaker 1>problem with Blazer or something you don't understand, it's it's

107
00:06:22.920 --> 00:06:25.120
<v Speaker 1>good to go look at Blazer puzzle dot com and

108
00:06:25.199 --> 00:06:28.879
<v Speaker 1>see if there's a solution, because every episode has a

109
00:06:28.920 --> 00:06:32.879
<v Speaker 1>GitHub repo with a read me that illustrates the problem

110
00:06:32.879 --> 00:06:36.480
<v Speaker 1>and then there's a solution folder that has the you know,

111
00:06:36.560 --> 00:06:39.160
<v Speaker 1>the code that actually works, plus the read me updated

112
00:06:39.199 --> 00:06:42.480
<v Speaker 1>to include the solution. So great idea and stuff. I

113
00:06:42.480 --> 00:06:45.240
<v Speaker 1>love it, Blazer Puzzle dot com. That's what I got.

114
00:06:45.519 --> 00:06:48.360
<v Speaker 1>I was talking to us today, Richard talking about cloud.

115
00:06:48.480 --> 00:06:51.120
<v Speaker 1>I grabbed a coma of AV Show eighteen ninety seven,

116
00:06:51.160 --> 00:06:54.600
<v Speaker 1>which is the one we did with a VP Scott Hunter.

117
00:06:54.680 --> 00:06:58.000
<v Speaker 1>Maybe I heard of him, Yeah, my friend and a

118
00:06:58.240 --> 00:07:01.240
<v Speaker 1>regular keynote for deb Intersection coming up in September. By

119
00:07:01.279 --> 00:07:05.759
<v Speaker 1>your tickets now. And this comment is actually from Serge

120
00:07:06.279 --> 00:07:08.959
<v Speaker 1>from Omega, who said it's not the first time I've

121
00:07:08.959 --> 00:07:11.920
<v Speaker 1>heard Carl saying how much he hates the yamal format,

122
00:07:12.279 --> 00:07:14.399
<v Speaker 1>but not as much as the XML format.

123
00:07:14.759 --> 00:07:17.199
<v Speaker 2>Richard and Scott seem to also share this sentiment. Nobody

124
00:07:17.240 --> 00:07:19.439
<v Speaker 2>appears to have any problem with Zamal or even Blazer

125
00:07:19.439 --> 00:07:22.800
<v Speaker 2>components that are based on the XML slash htmail format.

126
00:07:22.839 --> 00:07:25.560
<v Speaker 2>So I'm really curious what is it specifically it makes

127
00:07:25.600 --> 00:07:27.399
<v Speaker 2>you dislike XML per se?

128
00:07:27.720 --> 00:07:30.079
<v Speaker 1>So should I which should I talk about first, Yamal

129
00:07:30.160 --> 00:07:30.680
<v Speaker 1>or XML.

130
00:07:31.000 --> 00:07:34.480
<v Speaker 2>Well, you actually commented on the comment about that's not

131
00:07:34.560 --> 00:07:38.959
<v Speaker 2>really crazy about examal either. Yeah, I don't know where

132
00:07:38.959 --> 00:07:39.639
<v Speaker 2>do you want to start.

133
00:07:40.040 --> 00:07:43.319
<v Speaker 1>Well, Yamil is just one of those. It sort of

134
00:07:43.360 --> 00:07:45.959
<v Speaker 1>looks I just don't understand why it has to be

135
00:07:46.000 --> 00:07:47.040
<v Speaker 1>different from Jason.

136
00:07:47.600 --> 00:07:49.199
<v Speaker 2>Well, they were trying to get rid of the curly

137
00:07:49.240 --> 00:07:52.079
<v Speaker 2>braces essentially. Yeah, But then now the structure comes in

138
00:07:52.120 --> 00:07:54.560
<v Speaker 2>the form of indenting, which is a nightmare, like to

139
00:07:54.600 --> 00:07:58.360
<v Speaker 2>try and remember the indents. If it's working, I find

140
00:07:58.439 --> 00:08:01.720
<v Speaker 2>YAMIL relatively readable. It's somewhat hard to figure out what

141
00:08:01.800 --> 00:08:06.120
<v Speaker 2>actually does, but when you need a debug, it's a bear. Yeah,

142
00:08:05.800 --> 00:08:09.399
<v Speaker 2>And thank goodness for visual studio code and color coding,

143
00:08:09.480 --> 00:08:11.680
<v Speaker 2>indents and things like that to just sort of give

144
00:08:11.720 --> 00:08:15.079
<v Speaker 2>you some cues as to you know what it's about.

145
00:08:15.120 --> 00:08:18.360
<v Speaker 2>But look, it's YAML makes plumbing code. It's why I

146
00:08:18.439 --> 00:08:20.240
<v Speaker 2>end up writing a lot of it because I'm involved

147
00:08:20.279 --> 00:08:24.879
<v Speaker 2>with a lot of infrastructure stuff, and so you never

148
00:08:25.079 --> 00:08:27.759
<v Speaker 2>are in love with it. You're not inventing new things

149
00:08:27.759 --> 00:08:30.639
<v Speaker 2>with it. You're trying to automate stuff to make it repeatable,

150
00:08:31.199 --> 00:08:32.879
<v Speaker 2>and so you got to pick it up and put

151
00:08:32.879 --> 00:08:33.279
<v Speaker 2>it down.

152
00:08:33.480 --> 00:08:36.320
<v Speaker 1>I'm very used to Jason where I can go in,

153
00:08:36.639 --> 00:08:40.279
<v Speaker 1>you know, switch between code and Jason data. Right, I

154
00:08:40.320 --> 00:08:44.879
<v Speaker 1>can make a class. I can you know, express that

155
00:08:44.960 --> 00:08:48.000
<v Speaker 1>as Jason. I can express a class from Jason, and

156
00:08:48.039 --> 00:08:49.799
<v Speaker 1>I don't really have that with Yama at least I

157
00:08:49.840 --> 00:08:51.120
<v Speaker 1>haven't found a tool that does.

158
00:08:51.960 --> 00:08:53.600
<v Speaker 2>I don't know that you would. I'd use your Adjason

159
00:08:53.639 --> 00:08:56.080
<v Speaker 2>for that. Definitely different tools for different purposes. You're right,

160
00:08:57.360 --> 00:09:03.039
<v Speaker 2>XML just wordy angle brackets are annoying. Clothing tags are

161
00:09:03.159 --> 00:09:06.200
<v Speaker 2>you know? And then you know there are times when

162
00:09:06.240 --> 00:09:10.200
<v Speaker 2>the structure of XML picks up more space than the

163
00:09:10.200 --> 00:09:14.840
<v Speaker 2>actual data than you're betting in it, right, And don't

164
00:09:14.840 --> 00:09:18.320
<v Speaker 2>even get me started on schemas. Good lord, but yeah,

165
00:09:18.919 --> 00:09:23.399
<v Speaker 2>I mean you grump about your tools at times. Inevitably

166
00:09:23.639 --> 00:09:24.440
<v Speaker 2>it worked.

167
00:09:24.600 --> 00:09:26.480
<v Speaker 1>At the time, it was good and it worked.

168
00:09:26.600 --> 00:09:29.480
<v Speaker 2>You get it done. But it's not you know, things

169
00:09:29.480 --> 00:09:33.120
<v Speaker 2>have all it's not delightful. It's necessary stuff. That stuff

170
00:09:33.159 --> 00:09:36.440
<v Speaker 2>you have to do. You know, we've all struggled through

171
00:09:37.240 --> 00:09:40.480
<v Speaker 2>XML annoying anyway, Surge, thank you so much for your comment,

172
00:09:40.600 --> 00:09:42.600
<v Speaker 2>and a copy of Music co By is going out

173
00:09:42.600 --> 00:09:44.039
<v Speaker 2>to you. And if you'd like a copy of Music

174
00:09:44.039 --> 00:09:46.120
<v Speaker 2>co Buy, write a comment on the website at dot

175
00:09:46.200 --> 00:09:48.159
<v Speaker 2>at Rocks dot com or on the facebooks. We publish

176
00:09:48.159 --> 00:09:50.279
<v Speaker 2>every show there and if you comment there at reading

177
00:09:50.279 --> 00:09:51.639
<v Speaker 2>in the show, we'll send you a copy of music.

178
00:09:51.720 --> 00:09:54.080
<v Speaker 1>Go buy. Music to code by is still very popular.

179
00:09:54.519 --> 00:09:57.679
<v Speaker 1>A lot of people still using it. And if you

180
00:09:57.720 --> 00:10:02.679
<v Speaker 1>don't know what it is, it's twenty five minute instrumentals

181
00:10:03.120 --> 00:10:07.080
<v Speaker 1>that are designed to help you focus, and that they do.

182
00:10:07.600 --> 00:10:10.559
<v Speaker 2>Yeah so, and if you keep if you use it regularly,

183
00:10:11.480 --> 00:10:14.879
<v Speaker 2>it makes you focus even better because it literally triggers

184
00:10:14.879 --> 00:10:17.200
<v Speaker 2>that in your mind. The only time I play that

185
00:10:17.399 --> 00:10:20.759
<v Speaker 2>music is I need to write yeah, right, and it

186
00:10:20.879 --> 00:10:24.559
<v Speaker 2>just drops you into that state almost immediately, you know,

187
00:10:24.960 --> 00:10:25.799
<v Speaker 2>after all this time.

188
00:10:25.960 --> 00:10:28.960
<v Speaker 1>Yeah, Okay, Well, you know you can follow us on

189
00:10:29.000 --> 00:10:32.200
<v Speaker 1>the x Twitter if you like. We've been there for many,

190
00:10:32.559 --> 00:10:35.879
<v Speaker 1>many years, but the cool kids are hanging out. I'm mastadon,

191
00:10:36.480 --> 00:10:39.279
<v Speaker 1>I'm at Carl Franklin at techhub dot social.

192
00:10:39.000 --> 00:10:40.919
<v Speaker 2>And I'm Rich Campbell at macedon dot social.

193
00:10:41.080 --> 00:10:43.600
<v Speaker 1>Send us a tube. That's another way that you can

194
00:10:43.720 --> 00:10:46.159
<v Speaker 1>get some music to code buy and get a comment

195
00:10:46.240 --> 00:10:50.440
<v Speaker 1>read on the show. Okay, let's get to the actual

196
00:10:50.559 --> 00:10:54.720
<v Speaker 1>content of dot net Rocks. I'd like to introduce our guests.

197
00:10:54.799 --> 00:10:58.759
<v Speaker 1>Jo Chinjiang Jochin is a product the manager on the

198
00:10:58.799 --> 00:11:02.200
<v Speaker 1>Azure Container app team. Previously, they were PM on the

199
00:11:02.200 --> 00:11:05.159
<v Speaker 1>dot net team and worked on products like new get

200
00:11:05.320 --> 00:11:09.159
<v Speaker 1>n any framework in asp net. Welcome Juchin, good.

201
00:11:08.919 --> 00:11:11.480
<v Speaker 4>To be here, Thanks for having me, Thanks.

202
00:11:11.159 --> 00:11:13.559
<v Speaker 1>For being here. Wow, we have a lot to talk

203
00:11:13.840 --> 00:11:15.840
<v Speaker 1>first of all, but before we get into your topic,

204
00:11:16.039 --> 00:11:17.960
<v Speaker 1>is there anything that you want to comment on and

205
00:11:18.039 --> 00:11:19.080
<v Speaker 1>what we said already?

206
00:11:19.440 --> 00:11:22.039
<v Speaker 4>Nah, I'm just an observer for this part.

207
00:11:22.759 --> 00:11:26.919
<v Speaker 1>Yeah, it's kind of your mo isn't it Like remember

208
00:11:26.960 --> 00:11:30.000
<v Speaker 1>when we were talking before we tried recording this episode

209
00:11:30.039 --> 00:11:32.679
<v Speaker 1>before and you said something like, you know, I'm not

210
00:11:32.759 --> 00:11:35.559
<v Speaker 1>the expert on these things. I've just used them and

211
00:11:35.759 --> 00:11:39.519
<v Speaker 1>I have some opinions and some experiences to share.

212
00:11:39.639 --> 00:11:42.279
<v Speaker 4>Yeah, that's right. And to give a bit of context there,

213
00:11:42.360 --> 00:11:46.120
<v Speaker 4>I know Hunter and Fowler and you know, all the

214
00:11:46.120 --> 00:11:49.519
<v Speaker 4>big names have said plenty about dot net Aspire and

215
00:11:49.919 --> 00:11:53.240
<v Speaker 4>you know dot net aid in general. And what I'm

216
00:11:53.279 --> 00:11:57.480
<v Speaker 4>bringing in is I don't have a whole lot of knowledge.

217
00:11:57.600 --> 00:12:04.000
<v Speaker 4>All my knowledge has come from screwing around, usually getting burnt,

218
00:12:04.600 --> 00:12:09.159
<v Speaker 4>and asking plenty of questions. So what I'm hoping to

219
00:12:09.440 --> 00:12:11.919
<v Speaker 4>talk about today is more of a big picture of

220
00:12:11.960 --> 00:12:17.519
<v Speaker 4>view on these buzzword topics, not from not as a

221
00:12:17.559 --> 00:12:20.840
<v Speaker 4>person who's built the actual thing. But as someone who's

222
00:12:20.879 --> 00:12:23.200
<v Speaker 4>been using it a bunch, and I've been talking to

223
00:12:23.240 --> 00:12:25.480
<v Speaker 4>a lot of people who've been using it a bunch.

224
00:12:26.960 --> 00:12:30.200
<v Speaker 2>Great, So, how do you even describe Aspire? Because I

225
00:12:31.120 --> 00:12:33.399
<v Speaker 2>think Fowler struggled with this when we talked to him

226
00:12:33.440 --> 00:12:35.360
<v Speaker 2>back in January, Like, I know he helped make the

227
00:12:35.399 --> 00:12:37.399
<v Speaker 2>thing and he knows it's important, but how do you

228
00:12:37.600 --> 00:12:38.639
<v Speaker 2>tell people about it?

229
00:12:38.879 --> 00:12:43.519
<v Speaker 4>Yeah? So I've spoken about Aspire at a couple conferences

230
00:12:43.559 --> 00:12:46.759
<v Speaker 4>so far, and I've learned the hard way just how

231
00:12:46.799 --> 00:12:54.360
<v Speaker 4>difficult that particular problem is. Personally, I think you know

232
00:12:54.440 --> 00:12:57.200
<v Speaker 4>a lot of conversation around dotnet, Aspire makes it seem

233
00:12:57.320 --> 00:13:01.159
<v Speaker 4>like this one coherent, concrete thing, right, Like you use

234
00:13:01.200 --> 00:13:04.320
<v Speaker 4>the spire. You don't use a spire where there's really

235
00:13:05.240 --> 00:13:08.279
<v Speaker 4>three functionalities that are part of it that you're not

236
00:13:08.960 --> 00:13:11.879
<v Speaker 4>locked into using all three. Right, you can pick and

237
00:13:11.960 --> 00:13:16.240
<v Speaker 4>choose from what you need. And those three functionalities are

238
00:13:16.480 --> 00:13:21.080
<v Speaker 4>the Aspire dashboard, which you know that's the big everyone sees,

239
00:13:21.120 --> 00:13:26.080
<v Speaker 4>the nice UI for viewing data, and then we have

240
00:13:26.240 --> 00:13:29.240
<v Speaker 4>the library of curated components. So it's nice to be

241
00:13:29.279 --> 00:13:31.120
<v Speaker 4>able to go in and see, all right, this is

242
00:13:31.120 --> 00:13:33.559
<v Speaker 4>something I can use. This is not something I can use.

243
00:13:33.639 --> 00:13:36.799
<v Speaker 4>I don't have to worry about things getting deprecated over time.

244
00:13:37.600 --> 00:13:41.639
<v Speaker 4>Then the last which I think gets brought up front

245
00:13:41.679 --> 00:13:45.360
<v Speaker 4>and center a lot, which is the orchestration capabilities. I

246
00:13:45.399 --> 00:13:49.720
<v Speaker 4>think different members of the dot net community have different

247
00:13:49.759 --> 00:13:52.480
<v Speaker 4>opinions on that one, because it is taking a lot

248
00:13:52.600 --> 00:13:56.080
<v Speaker 4>of existing functionality, things that you can you can do

249
00:13:56.159 --> 00:14:00.519
<v Speaker 4>in darker compose, and really putting it into a different,

250
00:14:00.639 --> 00:14:02.360
<v Speaker 4>hopefully more usable format.

251
00:14:02.559 --> 00:14:05.200
<v Speaker 1>I like to and I came up with a good

252
00:14:05.240 --> 00:14:09.840
<v Speaker 1>way to, you know, describe it to developers who are

253
00:14:09.840 --> 00:14:14.360
<v Speaker 1>already used to, you know, the process, using visual studio

254
00:14:14.399 --> 00:14:18.159
<v Speaker 1>for example. I think of Aspire like a visual studio

255
00:14:18.279 --> 00:14:21.840
<v Speaker 1>template on steroids. If you think of what a visual

256
00:14:21.919 --> 00:14:26.279
<v Speaker 1>studio template does, it gives you all of the basic

257
00:14:26.320 --> 00:14:28.919
<v Speaker 1>things that you need to accomplish something.

258
00:14:29.080 --> 00:14:31.200
<v Speaker 4>Right right right now. I think that's a great way

259
00:14:31.200 --> 00:14:34.840
<v Speaker 4>of putting it, because, I mean, let's take a step

260
00:14:34.879 --> 00:14:37.279
<v Speaker 4>back from dot net aspiring, but just talk about the

261
00:14:37.360 --> 00:14:38.759
<v Speaker 4>problem that is trying to solve.

262
00:14:38.919 --> 00:14:39.120
<v Speaker 3>Right.

263
00:14:39.720 --> 00:14:44.480
<v Speaker 4>So, micro service's big buzzword of the uh was it

264
00:14:44.600 --> 00:14:48.759
<v Speaker 4>the twenty twenties, even the late twenty tens, there's been

265
00:14:48.799 --> 00:14:53.120
<v Speaker 4>this huge hype. Everyone goes all right, like distributed applications, like,

266
00:14:53.200 --> 00:14:56.720
<v Speaker 4>that's the right way to write my application. Now, I've

267
00:14:56.759 --> 00:15:01.120
<v Speaker 4>seen a lot of people just get real disillusion to

268
00:15:01.159 --> 00:15:05.240
<v Speaker 4>get really just seeing the dark side of micro services

269
00:15:05.320 --> 00:15:08.799
<v Speaker 4>really quickly. I don't know how familiar y'all are with

270
00:15:08.879 --> 00:15:12.639
<v Speaker 4>the Gardner's cycle. M that's right.

271
00:15:12.799 --> 00:15:15.720
<v Speaker 2>That's been talking about in the context of the AI wave.

272
00:15:16.120 --> 00:15:21.080
<v Speaker 4>Oh yeah, yeah, So just a bit of additional context

273
00:15:21.080 --> 00:15:23.360
<v Speaker 4>for any viewers who are not as familiar. It's a

274
00:15:23.440 --> 00:15:27.240
<v Speaker 4>sort of you know, anything that comes out to hype

275
00:15:27.360 --> 00:15:30.840
<v Speaker 4>is going to be met with the sort of trough

276
00:15:30.919 --> 00:15:34.200
<v Speaker 4>of disappointment where they realize the reality of things.

277
00:15:34.639 --> 00:15:38.080
<v Speaker 1>That's why my coffee tastes weird because this is AI coffee.

278
00:15:38.399 --> 00:15:42.480
<v Speaker 1>Oh no, it's AI coffee, and you know it just

279
00:15:42.480 --> 00:15:43.919
<v Speaker 1>started getting a little more bitter.

280
00:15:44.559 --> 00:15:50.600
<v 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
<v Speaker 4>But ideally they move after that trough of disappointment is

282
00:15:58.919 --> 00:16:01.720
<v Speaker 4>the slope of the light where you figure out, okay,

283
00:16:01.759 --> 00:16:04.159
<v Speaker 4>this is how I actually make this useful for me,

284
00:16:04.840 --> 00:16:09.440
<v Speaker 4>and hopefully you reach the plateau of productivity. Now, you know,

285
00:16:09.519 --> 00:16:12.000
<v Speaker 4>I was looking at the talks for these conferences I

286
00:16:12.080 --> 00:16:14.919
<v Speaker 4>presented on and you know, half of all the micro

287
00:16:15.000 --> 00:16:18.960
<v Speaker 4>services related talks were about how hard they were and

288
00:16:19.080 --> 00:16:23.799
<v Speaker 4>alternatives and potentially even moving back to monolith architectures. So

289
00:16:25.559 --> 00:16:28.440
<v Speaker 4>I think there's this issue of people have to be

290
00:16:28.480 --> 00:16:32.679
<v Speaker 4>able to try micro services and understand that mental model

291
00:16:32.759 --> 00:16:35.120
<v Speaker 4>that does in a way that doesn't involve diving right

292
00:16:35.159 --> 00:16:40.960
<v Speaker 4>into the complexity of infrastructure and configuration. And what I

293
00:16:41.039 --> 00:16:44.919
<v Speaker 4>see dot net is yor solving is providing that mental model.

294
00:16:44.960 --> 00:16:47.240
<v Speaker 4>I think Carl put in a good way with the

295
00:16:47.279 --> 00:16:50.799
<v Speaker 4>templates on steroids, right, but just letting people think about

296
00:16:50.840 --> 00:16:54.039
<v Speaker 4>it in terms of functionality and code instead of hey,

297
00:16:54.039 --> 00:16:56.919
<v Speaker 4>here's the ten things you need to do in order

298
00:16:56.960 --> 00:16:58.000
<v Speaker 4>to even get started.

299
00:16:58.320 --> 00:17:00.279
<v Speaker 1>But the good news is when you I want to

300
00:17:00.320 --> 00:17:03.919
<v Speaker 1>use one of those things in the Aspire template, let's

301
00:17:03.960 --> 00:17:07.319
<v Speaker 1>say it's configured correctly, right.

302
00:17:07.440 --> 00:17:09.440
<v Speaker 4>I like to think of it as you know those

303
00:17:09.680 --> 00:17:12.640
<v Speaker 4>command strips or the hangars where you can just stick

304
00:17:12.680 --> 00:17:14.680
<v Speaker 4>a double sided tape on and just put it on

305
00:17:14.720 --> 00:17:17.599
<v Speaker 4>the wall. You know, you don't have to figure out.

306
00:17:17.519 --> 00:17:20.680
<v Speaker 1>The structural integrity integration yourself.

307
00:17:21.119 --> 00:17:24.079
<v Speaker 2>Right, Well, answer there in lies the problem. When you

308
00:17:24.119 --> 00:17:26.599
<v Speaker 2>start experimenting with this stuff, it's like have I just

309
00:17:26.680 --> 00:17:30.160
<v Speaker 2>configured it wrong or is my defective, Like there's too

310
00:17:30.160 --> 00:17:34.000
<v Speaker 2>many moving parts. So exactly, at least having this as

311
00:17:34.680 --> 00:17:37.039
<v Speaker 2>these carls is a template. I've also used the word

312
00:17:37.079 --> 00:17:40.559
<v Speaker 2>scaffolding to put all those right pieces in place, but

313
00:17:40.640 --> 00:17:42.079
<v Speaker 2>what are those right pieces?

314
00:17:42.400 --> 00:17:46.519
<v Speaker 4>Right? Exactly? And everyone's scenario is different, right, You can't

315
00:17:46.519 --> 00:17:49.960
<v Speaker 4>go to Scott Hunter and say, hey, does this.

316
00:17:49.960 --> 00:17:51.160
<v Speaker 2>Work for me? Yeah?

317
00:17:51.480 --> 00:17:56.000
<v Speaker 4>You really have to try and fail as quickly as

318
00:17:56.000 --> 00:17:59.880
<v Speaker 4>you can, iterate as much as you can. Yeah, and

319
00:18:00.359 --> 00:18:04.920
<v Speaker 4>right now, it takes a whole lot of investment in

320
00:18:05.039 --> 00:18:06.119
<v Speaker 4>order to even get there.

321
00:18:06.400 --> 00:18:08.119
<v Speaker 2>Yeah. It makes me wonder if developers don't get to

322
00:18:08.119 --> 00:18:11.000
<v Speaker 2>a place where they get it to work and don't

323
00:18:11.039 --> 00:18:11.359
<v Speaker 2>touch it.

324
00:18:12.119 --> 00:18:12.359
<v Speaker 3>Yeah.

325
00:18:12.519 --> 00:18:17.880
<v Speaker 1>Yeah, here's a story. One of my customers has a

326
00:18:17.880 --> 00:18:22.319
<v Speaker 1>Blazer server application and you know, it's doing very well

327
00:18:22.359 --> 00:18:26.720
<v Speaker 1>in the wild, and they wanted to add Aspire to it,

328
00:18:27.799 --> 00:18:31.839
<v Speaker 1>and so Jeff Fritz did the job and and it worked.

329
00:18:31.920 --> 00:18:35.160
<v Speaker 1>I mean, but that was a totally different, you know,

330
00:18:35.240 --> 00:18:38.359
<v Speaker 1>the brown Field experience, totally different from the Greenfield experience.

331
00:18:38.880 --> 00:18:41.680
<v Speaker 1>And it took a little you know, tweaking and understanding

332
00:18:42.119 --> 00:18:45.880
<v Speaker 1>and you know, duplication of some things, like we were

333
00:18:45.880 --> 00:18:50.960
<v Speaker 1>already using Polly in the application, and so we had

334
00:18:51.000 --> 00:18:53.880
<v Speaker 1>to figure out, you know, which which one we're going

335
00:18:53.920 --> 00:18:58.119
<v Speaker 1>to use the HDP client factory or Polly itself, that

336
00:18:58.279 --> 00:19:00.839
<v Speaker 1>kind of thing. But other than that, it was pretty smooth.

337
00:19:01.720 --> 00:19:04.799
<v Speaker 4>I don't know how familiar y'all are with I don't

338
00:19:04.839 --> 00:19:07.839
<v Speaker 4>know the FIFA series of video games. You know, they

339
00:19:08.599 --> 00:19:11.839
<v Speaker 4>essentially it's this sports game.

340
00:19:12.000 --> 00:19:14.440
<v Speaker 2>Where they electronic arts, right, soccer right right.

341
00:19:14.480 --> 00:19:18.240
<v Speaker 4>It releases constant. It's been around for a while, and

342
00:19:18.319 --> 00:19:21.400
<v Speaker 4>they release new additions, And what I've heard is in

343
00:19:21.440 --> 00:19:24.759
<v Speaker 4>the recent editions they've changed the gameplay so that it's

344
00:19:24.799 --> 00:19:28.319
<v Speaker 4>easier to grasp for new users. But when you get

345
00:19:28.319 --> 00:19:31.240
<v Speaker 4>into the game, you have a choice of, hey, I'm

346
00:19:31.240 --> 00:19:33.599
<v Speaker 4>an existing user, I just want to use what I

347
00:19:33.599 --> 00:19:35.960
<v Speaker 4>already know, right, And then you can say, I'm a

348
00:19:36.000 --> 00:19:39.759
<v Speaker 4>new user and I want to do this potentially easier,

349
00:19:39.880 --> 00:19:43.920
<v Speaker 4>more intuitive method, but just something that would be a

350
00:19:43.960 --> 00:19:48.079
<v Speaker 4>pain for older users to try to grasp, right. And

351
00:19:48.279 --> 00:19:50.880
<v Speaker 4>I think for a spire it's the sort of it's

352
00:19:50.920 --> 00:19:54.119
<v Speaker 4>a similar situation, right where it's trying to give this

353
00:19:54.279 --> 00:19:57.319
<v Speaker 4>newer experience that might be a bit different than what

354
00:19:57.359 --> 00:20:02.680
<v Speaker 4>people are used to. Why offering this opportunity for people

355
00:20:02.680 --> 00:20:05.440
<v Speaker 4>with brown field applications to integrate in a way that's

356
00:20:05.519 --> 00:20:08.480
<v Speaker 4>more similar to what they're already using. So, Carl, I

357
00:20:08.480 --> 00:20:10.160
<v Speaker 4>think you make a good point of you know, you

358
00:20:10.200 --> 00:20:13.200
<v Speaker 4>can just poured everything in and say all right, it works.

359
00:20:13.240 --> 00:20:17.160
<v Speaker 4>Now there are redundancies. There are like choices of where.

360
00:20:16.920 --> 00:20:19.720
<v Speaker 1>Do I go? Yeap, like any kind of you know,

361
00:20:20.119 --> 00:20:24.839
<v Speaker 1>thing that you're adding on exactly, especially something like Aspire

362
00:20:24.880 --> 00:20:27.079
<v Speaker 1>with many moving parts, you have to be careful not

363
00:20:27.200 --> 00:20:28.960
<v Speaker 1>to step on yourself.

364
00:20:29.359 --> 00:20:31.400
<v Speaker 4>Yeah, and I think again it comes back to the

365
00:20:31.680 --> 00:20:33.759
<v Speaker 4>is dot now to Aspire one big thing? Is it

366
00:20:33.799 --> 00:20:39.640
<v Speaker 4>a bunch of different functionalities in one right umbrella of

367
00:20:39.680 --> 00:20:43.039
<v Speaker 4>a term? I think sometimes people think they need everything,

368
00:20:43.119 --> 00:20:45.559
<v Speaker 4>so they bring it all in and go, oh, it's

369
00:20:45.640 --> 00:20:45.960
<v Speaker 4>too much.

370
00:20:46.119 --> 00:20:46.279
<v Speaker 3>You know.

371
00:20:46.799 --> 00:20:51.200
<v Speaker 1>Here's another fear also that by leaving things out, you

372
00:20:51.279 --> 00:20:54.839
<v Speaker 1>will leave these dangling dependencies because things are dependent on

373
00:20:54.880 --> 00:20:58.519
<v Speaker 1>each other, and so how do you separate those? You know,

374
00:20:58.920 --> 00:21:01.599
<v Speaker 1>It isn't as easy as a wizard that says, oh,

375
00:21:01.680 --> 00:21:04.799
<v Speaker 1>I want to use these four features of Aspire.

376
00:21:04.960 --> 00:21:06.839
<v Speaker 2>Go or is it right?

377
00:21:06.920 --> 00:21:07.400
<v Speaker 4>Exactly?

378
00:21:07.799 --> 00:21:09.920
<v Speaker 2>Yeah? I mean, what are the essential things you have

379
00:21:09.920 --> 00:21:12.319
<v Speaker 2>to use? What is minimal aspire?

380
00:21:13.519 --> 00:21:16.559
<v Speaker 4>I see again, I think that depends on who you are, right,

381
00:21:16.599 --> 00:21:20.039
<v Speaker 4>If you're a new user, then I mean as let

382
00:21:20.039 --> 00:21:23.200
<v Speaker 4>me speak from my personal perspective as a new user,

383
00:21:24.880 --> 00:21:26.920
<v Speaker 4>And just to give a bit of background there, I

384
00:21:26.960 --> 00:21:29.039
<v Speaker 4>was on the dot net team for about four years,

385
00:21:29.079 --> 00:21:31.960
<v Speaker 4>and before then I hadn't heard of dot net at all.

386
00:21:32.119 --> 00:21:34.319
<v Speaker 4>You know, I was doing Java, I was doing c

387
00:21:35.240 --> 00:21:37.880
<v Speaker 4>and I think I mentioned it last time, but coming

388
00:21:37.920 --> 00:21:40.039
<v Speaker 4>to dot net was the first time I was interacting

389
00:21:40.039 --> 00:21:44.200
<v Speaker 4>with so many normal people who were developers, who are

390
00:21:44.240 --> 00:21:47.480
<v Speaker 4>trying to solve you know, more focused on solving actual

391
00:21:47.519 --> 00:21:51.720
<v Speaker 4>problems and getting two things working than necessarily how pretty

392
00:21:51.720 --> 00:21:55.640
<v Speaker 4>everything is right. And for me, the important thing is

393
00:21:55.680 --> 00:21:58.440
<v Speaker 4>to get to something that's working and to have a

394
00:21:58.599 --> 00:22:01.759
<v Speaker 4>general mental model of why is it working, how do

395
00:22:01.839 --> 00:22:05.440
<v Speaker 4>the pieces fit together? How do I start debugging things?

396
00:22:06.079 --> 00:22:09.839
<v Speaker 4>And for me at least essential Aspire really has to

397
00:22:09.880 --> 00:22:14.079
<v Speaker 4>do with the orchestration process being able to start off

398
00:22:14.119 --> 00:22:17.000
<v Speaker 4>and see, okay, here are my component pieces, here's the

399
00:22:17.759 --> 00:22:20.759
<v Speaker 4>app post that controls how all of these talk to

400
00:22:20.799 --> 00:22:25.920
<v Speaker 4>each other. But for someone who's more experience than I am, right,

401
00:22:26.039 --> 00:22:30.200
<v Speaker 4>who already knows dock or compose, who have done this

402
00:22:30.279 --> 00:22:34.160
<v Speaker 4>at gazillion times, maybe the Aspire dashboard is actually more

403
00:22:34.200 --> 00:22:37.279
<v Speaker 4>important to them. Maybe the library of curated components is

404
00:22:37.279 --> 00:22:39.079
<v Speaker 4>more helpful in.

405
00:22:38.960 --> 00:22:41.359
<v Speaker 1>That library, I would say the first thing for me

406
00:22:41.599 --> 00:22:43.119
<v Speaker 1>would be open telemetry.

407
00:22:45.359 --> 00:22:48.880
<v Speaker 4>The cool thing is open telemetry. Again for new people, right,

408
00:22:49.119 --> 00:22:55.759
<v Speaker 4>the observability of an application is not necessarily first and

409
00:22:55.880 --> 00:22:58.880
<v Speaker 4>foremost in their minds. They want to get things working,

410
00:22:58.920 --> 00:23:01.680
<v Speaker 4>and it's when they fall into the deep end with

411
00:23:01.759 --> 00:23:05.079
<v Speaker 4>the debugging that they realize, oh shoot, I actually have

412
00:23:05.160 --> 00:23:07.960
<v Speaker 4>to think about all this stuff. But with a spire,

413
00:23:08.079 --> 00:23:12.000
<v Speaker 4>all that open telemetry is built in. And I think again,

414
00:23:12.039 --> 00:23:14.279
<v Speaker 4>like the whole best practices thing, like what do you

415
00:23:14.359 --> 00:23:17.519
<v Speaker 4>need to think about even if you're not thinking about

416
00:23:17.519 --> 00:23:19.640
<v Speaker 4>it now because you don't know, you have to think

417
00:23:19.640 --> 00:23:20.519
<v Speaker 4>about it well.

418
00:23:20.559 --> 00:23:24.440
<v Speaker 2>And I appreciate that it's telemetry is different from error logs,

419
00:23:24.599 --> 00:23:28.480
<v Speaker 2>right that you want to see how it's executed, right, right,

420
00:23:28.519 --> 00:23:31.559
<v Speaker 2>you know that you've got more instances piling up, maybe

421
00:23:31.640 --> 00:23:34.200
<v Speaker 2>running out of resources, any number. That's sort of that

422
00:23:34.359 --> 00:23:36.319
<v Speaker 2>landscape before the accident.

423
00:23:36.680 --> 00:23:41.079
<v Speaker 4>Yeah, exactly right. And I think often you know that

424
00:23:41.079 --> 00:23:44.200
<v Speaker 4>fall into the deep end is because there's no insight

425
00:23:44.440 --> 00:23:47.920
<v Speaker 4>into things before the explosion happens.

426
00:23:48.720 --> 00:23:50.319
<v Speaker 2>The machinery, it's nice as a new.

427
00:23:50.240 --> 00:23:55.519
<v Speaker 4>Person to not have their first experience and in an explosion.

428
00:23:55.559 --> 00:24:02.400
<v Speaker 1>Linux users be like, you know, you know, I don't know.

429
00:24:02.440 --> 00:24:03.319
<v Speaker 1>That just tickled me.

430
00:24:03.799 --> 00:24:08.279
<v Speaker 2>That's very funny, But I gotta think the dashboard is

431
00:24:08.279 --> 00:24:10.519
<v Speaker 2>the candy part. Like that draws a lot of people

432
00:24:10.519 --> 00:24:14.359
<v Speaker 2>in are all struggling with insight about what's happening with

433
00:24:14.400 --> 00:24:15.000
<v Speaker 2>their software.

434
00:24:17.319 --> 00:24:20.839
<v Speaker 4>Completely agree with that. And again with micro services, so

435
00:24:20.920 --> 00:24:24.720
<v Speaker 4>many moving parts, so many things that are sending information

436
00:24:24.839 --> 00:24:29.480
<v Speaker 4>to each other doubling back, and any bit of that

437
00:24:29.519 --> 00:24:34.039
<v Speaker 4>integration breaks. You know, the explosion happens, you have no

438
00:24:34.119 --> 00:24:35.920
<v Speaker 4>idea where it came from.

439
00:24:36.279 --> 00:24:38.519
<v Speaker 2>Like you're just staring at it, like what happened?

440
00:24:38.599 --> 00:24:44.279
<v Speaker 4>Yeah, right, just looking at the rubble and the yeah, yeah.

441
00:24:44.319 --> 00:24:46.160
<v Speaker 2>Well that's the sad part is that you go into

442
00:24:46.160 --> 00:24:47.680
<v Speaker 2>the server closet and you look at the server and

443
00:24:47.720 --> 00:24:50.799
<v Speaker 2>it still looks exactly the same. The fact that the

444
00:24:50.839 --> 00:24:55.960
<v Speaker 2>site isn't running is separate. Yes, it's so hard to

445
00:24:56.160 --> 00:24:59.240
<v Speaker 2>tell until you get into this instrutration path. And then

446
00:24:59.279 --> 00:25:01.559
<v Speaker 2>the usual thing I run into with folks who are

447
00:25:01.599 --> 00:25:04.079
<v Speaker 2>trying to do telemetry for the first time is you

448
00:25:04.119 --> 00:25:08.680
<v Speaker 2>collect everything and you're just buried in messages that are irrelevant.

449
00:25:09.039 --> 00:25:12.599
<v Speaker 1>You asked for it, here it comes, and.

450
00:25:12.559 --> 00:25:15.759
<v Speaker 4>I want to bring them this and I think Feller

451
00:25:15.799 --> 00:25:18.680
<v Speaker 4>and Damian Edwards had brought it up in the past

452
00:25:18.759 --> 00:25:21.640
<v Speaker 4>around why Aspire was designed as it was. But this

453
00:25:21.880 --> 00:25:26.279
<v Speaker 4>term of progressive disclosure of you know, in English, in

454
00:25:27.079 --> 00:25:30.079
<v Speaker 4>human like lapers in terms, that's just we're not going

455
00:25:30.160 --> 00:25:32.880
<v Speaker 4>to throw all the information at you in the first

456
00:25:32.920 --> 00:25:38.720
<v Speaker 4>second of entering the space, right sure, like needing to

457
00:25:38.759 --> 00:25:42.480
<v Speaker 4>know all these things is important for building micro services

458
00:25:43.119 --> 00:25:47.319
<v Speaker 4>with best practices, making something secure, making something observable, right,

459
00:25:47.480 --> 00:25:50.079
<v Speaker 4>but you know we're still going to include that, but

460
00:25:50.599 --> 00:25:54.279
<v Speaker 4>you get to learn about it when you actually want to.

461
00:25:54.559 --> 00:25:57.400
<v Speaker 2>Right, yeah, yeah, and appreciate that sort of or it

462
00:25:58.039 --> 00:26:00.960
<v Speaker 2>just looking at like the metric set, how they do

463
00:26:01.359 --> 00:26:03.480
<v Speaker 2>tend to bubble up so you see it from a

464
00:26:03.519 --> 00:26:06.039
<v Speaker 2>macro level and then you can drill down on the

465
00:26:06.079 --> 00:26:06.920
<v Speaker 2>things you care about.

466
00:26:07.079 --> 00:26:10.720
<v Speaker 4>Yeah, yeah, And I don't know about you guys. I

467
00:26:10.759 --> 00:26:13.599
<v Speaker 4>think whenever I learned something, I need a skeleton of

468
00:26:13.599 --> 00:26:16.559
<v Speaker 4>information first. You know, it's like going on a Wikipedia article.

469
00:26:16.599 --> 00:26:18.279
<v Speaker 4>I don't want to be down to write into that

470
00:26:18.359 --> 00:26:20.680
<v Speaker 4>wall of text. I want to see the overview, right,

471
00:26:20.839 --> 00:26:24.640
<v Speaker 4>Like what am I gonna be learning about and then I'd.

472
00:26:24.240 --> 00:26:28.960
<v Speaker 1>Be great if there was a podcast episode that you

473
00:26:28.960 --> 00:26:31.519
<v Speaker 1>could just listen to while you're driving or something.

474
00:26:31.720 --> 00:26:34.519
<v Speaker 4>Ah yeah, yeah, something nice.

475
00:26:34.079 --> 00:26:38.799
<v Speaker 2>Huh nobody does that? Who would do that? Yeah? And

476
00:26:38.559 --> 00:26:41.400
<v Speaker 2>I appreciate like when we talk about minimal, it's I

477
00:26:41.440 --> 00:26:44.880
<v Speaker 2>want that dashboard, I want that insight. So get the

478
00:26:44.880 --> 00:26:49.960
<v Speaker 2>telemetry working first. I mean, it seems to me like

479
00:26:50.119 --> 00:26:53.759
<v Speaker 2>that would give you the most benefit right away. But obviously,

480
00:26:53.799 --> 00:26:56.960
<v Speaker 2>like the orchestration part is important. Service discovery is one

481
00:26:57.000 --> 00:26:59.279
<v Speaker 2>of those things that once you understand it, I think

482
00:26:59.359 --> 00:27:02.319
<v Speaker 2>it's host. Where has this been all my life? Right?

483
00:27:02.880 --> 00:27:05.920
<v Speaker 2>But it's not obvious when you're just getting into the

484
00:27:05.960 --> 00:27:09.880
<v Speaker 2>space how important discovery is. Oh yeah, it does seem

485
00:27:09.920 --> 00:27:11.000
<v Speaker 2>like a later feature.

486
00:27:11.519 --> 00:27:14.640
<v Speaker 4>Absolutely. Yeah. At first it just seems like, oh, I

487
00:27:14.799 --> 00:27:19.079
<v Speaker 4>can deal with the local host fine. Yeah, But then

488
00:27:19.200 --> 00:27:21.240
<v Speaker 4>things scale and then yeah.

489
00:27:21.160 --> 00:27:22.880
<v Speaker 2>And then you've got to move it to another site

490
00:27:23.000 --> 00:27:25.160
<v Speaker 2>you're doing you're doing a rolling update or any of

491
00:27:25.160 --> 00:27:28.359
<v Speaker 2>those sorts of things, and all those hardwired locations make

492
00:27:28.440 --> 00:27:33.480
<v Speaker 2>you sad. Oh yeah, all right. Now I have three

493
00:27:33.559 --> 00:27:35.880
<v Speaker 2>versions of say micro service, because I've got older software

494
00:27:35.920 --> 00:27:38.039
<v Speaker 2>that's still depending on V one and we've got some

495
00:27:38.039 --> 00:27:40.119
<v Speaker 2>clients still using V two and we're now rolling out

496
00:27:40.200 --> 00:27:43.319
<v Speaker 2>V three. Boy, if you don't have service scovery to

497
00:27:43.319 --> 00:27:45.039
<v Speaker 2>handle it for you, you'll make yourself crazy.

498
00:27:45.200 --> 00:27:47.000
<v Speaker 1>We're just gonna leave it in there and put a

499
00:27:47.039 --> 00:27:48.680
<v Speaker 1>comment that it's deprecated.

500
00:27:48.799 --> 00:27:53.599
<v Speaker 2>Everything's to be fine. It'd be fine. Fine.

501
00:27:53.720 --> 00:27:57.440
<v Speaker 1>Let me tell hey, guys, let's pause for these very

502
00:27:57.480 --> 00:28:01.799
<v Speaker 1>important messages and we'll be right back. I said we'd

503
00:28:01.799 --> 00:28:04.839
<v Speaker 1>be back, And here we are, nice and we're back.

504
00:28:04.960 --> 00:28:07.319
<v Speaker 1>It's dot net Rox. I'm Carl Franklin. That's my friend

505
00:28:07.440 --> 00:28:11.880
<v Speaker 1>Richard Campbell, howdy, and we're here with jas Chinjiang, product

506
00:28:12.039 --> 00:28:16.359
<v Speaker 1>manager on the Azure Container Apps team, talking about Aspire,

507
00:28:16.559 --> 00:28:19.599
<v Speaker 1>microservices and all good things. So where were we?

508
00:28:19.920 --> 00:28:21.960
<v Speaker 2>I want to jump in on the on the microservices

509
00:28:21.960 --> 00:28:25.519
<v Speaker 2>thing because I feel like there's certain folte certainly it's

510
00:28:25.519 --> 00:28:27.920
<v Speaker 2>an all going conversation on DONNAE. Rocks about you know,

511
00:28:27.960 --> 00:28:30.759
<v Speaker 2>the modular monolith minse. It's just like, listen, I got

512
00:28:30.799 --> 00:28:32.640
<v Speaker 2>a monolith. I don't know that I want to go

513
00:28:32.680 --> 00:28:35.559
<v Speaker 2>to microservices, so maybe Aspire is not valuable for me

514
00:28:35.599 --> 00:28:38.680
<v Speaker 2>at all? I mean is that can I add Aspire

515
00:28:39.240 --> 00:28:41.559
<v Speaker 2>to anything running in the cloud? Does it have to

516
00:28:41.599 --> 00:28:43.359
<v Speaker 2>be a micro services And how will I know when

517
00:28:43.359 --> 00:28:45.839
<v Speaker 2>it's micro services? Like what does that even mean?

518
00:28:46.160 --> 00:28:48.519
<v Speaker 4>Yeah? No, that's a really good point, right because if

519
00:28:48.559 --> 00:28:50.799
<v Speaker 4>you're thinking about it like just having a back end

520
00:28:50.839 --> 00:28:54.119
<v Speaker 4>in a front and like okay, I have two services, right,

521
00:28:54.160 --> 00:28:59.359
<v Speaker 4>like is this microservice? Is it not? And let me

522
00:28:59.440 --> 00:29:02.960
<v Speaker 4>know if you know this is at rocks, it's not

523
00:29:03.079 --> 00:29:05.839
<v Speaker 4>as your container apps Rocks or whatever. But I think

524
00:29:05.920 --> 00:29:08.960
<v Speaker 4>being on this team gave me this insight into microservices.

525
00:29:09.000 --> 00:29:13.279
<v Speaker 4>What is what is not? Like how just vague that

526
00:29:13.359 --> 00:29:19.039
<v Speaker 4>definition really is? It's terrible exactly, And just to give

527
00:29:19.039 --> 00:29:23.119
<v Speaker 4>you some insight, like on context for people around as

528
00:29:23.119 --> 00:29:27.960
<v Speaker 4>your container apps, it's built on Kubernetes. It abstracts away

529
00:29:28.000 --> 00:29:30.759
<v Speaker 4>a lot of the how to get things working with

530
00:29:30.839 --> 00:29:33.880
<v Speaker 4>each other and has a similar to a spire model,

531
00:29:33.920 --> 00:29:36.839
<v Speaker 4>where you're thinking about the big picture and the functionality

532
00:29:37.039 --> 00:29:41.319
<v Speaker 4>instead of the infrastructure and configuration. Right off the bat,

533
00:29:41.680 --> 00:29:44.319
<v Speaker 4>you'll see the majority of people on there are not

534
00:29:44.799 --> 00:29:49.240
<v Speaker 4>working with microservices, so to speak, or at least there

535
00:29:50.480 --> 00:29:54.960
<v Speaker 4>they have a monolith. Maybe they want to move towards

536
00:29:54.960 --> 00:29:57.400
<v Speaker 4>microservices at some point, but they just don't find it

537
00:29:57.440 --> 00:30:00.799
<v Speaker 4>necessary right now. And I think there's that big if

538
00:30:01.000 --> 00:30:05.839
<v Speaker 4>of you have a monolith, how do I make it

539
00:30:05.920 --> 00:30:13.079
<v Speaker 4>better in a way that is efficient and low risk, right, Like,

540
00:30:13.160 --> 00:30:17.200
<v Speaker 4>how do I try this thing out without diving directly

541
00:30:17.240 --> 00:30:21.079
<v Speaker 4>into the deep end of distributed architecture and all that?

542
00:30:21.759 --> 00:30:24.880
<v Speaker 4>And personally, I think Aspire is a way to experiment

543
00:30:24.920 --> 00:30:27.440
<v Speaker 4>with that, Like if someone is at that cusp of

544
00:30:28.119 --> 00:30:31.200
<v Speaker 4>I have a modular monolith, like I don't like, doesn't

545
00:30:31.240 --> 00:30:34.079
<v Speaker 4>need to be in micro services? Is it fine? As is?

546
00:30:34.799 --> 00:30:37.880
<v Speaker 4>You know, I think you can still bring again Like

547
00:30:37.920 --> 00:30:40.359
<v Speaker 4>Aspire is all just code, right, It's not like you

548
00:30:40.440 --> 00:30:44.880
<v Speaker 4>put it in and now everything's different, you know. It's

549
00:30:45.880 --> 00:30:49.079
<v Speaker 4>it's not a whole new game. It's just to tell your.

550
00:30:48.920 --> 00:30:51.200
<v Speaker 2>Code just added some things to it to.

551
00:30:53.079 --> 00:30:57.720
<v Speaker 4>Like in theory, right, So it gets right, right, see

552
00:30:57.720 --> 00:30:59.480
<v Speaker 4>if it actually makes your life easier?

553
00:31:00.480 --> 00:31:03.119
<v Speaker 2>But is it as your container apps and a critical

554
00:31:03.160 --> 00:31:04.960
<v Speaker 2>part of this, do I need to have my app?

555
00:31:05.319 --> 00:31:09.240
<v Speaker 4>Not at all? So I mean that is very much

556
00:31:09.720 --> 00:31:13.160
<v Speaker 4>built by developers, and like the whole idea of it

557
00:31:13.200 --> 00:31:15.960
<v Speaker 4>really came from the developers, And the idea is we

558
00:31:16.000 --> 00:31:18.920
<v Speaker 4>don't want to force you to use any tool, Like

559
00:31:18.960 --> 00:31:24.160
<v Speaker 4>there's really great integration with AWS. You can deploy it

560
00:31:24.200 --> 00:31:28.599
<v Speaker 4>to your own Kubernetes cluster. I think just I mean, honestly, right,

561
00:31:28.640 --> 00:31:31.440
<v Speaker 4>it's Microsoft, it's Azure like they will have a really

562
00:31:31.480 --> 00:31:35.440
<v Speaker 4>strong road towards as your container apps. And that involves

563
00:31:35.960 --> 00:31:38.039
<v Speaker 4>and I'm happy to talk more about this a little bit,

564
00:31:38.119 --> 00:31:41.279
<v Speaker 4>the as your developer CLI you had a az D,

565
00:31:41.440 --> 00:31:44.359
<v Speaker 4>you had another new acronym to add to the stable

566
00:31:44.480 --> 00:31:45.359
<v Speaker 4>of acronym.

567
00:31:45.880 --> 00:31:47.720
<v Speaker 1>Before we get into that, I just want to make

568
00:31:47.720 --> 00:31:52.000
<v Speaker 1>a comment here that veteran dot Net developers, like Richard

569
00:31:52.000 --> 00:31:57.440
<v Speaker 1>and myself, we were we went through the whole you know,

570
00:31:57.720 --> 00:32:02.519
<v Speaker 1>series of years there where dot Net was evolving, and

571
00:32:02.680 --> 00:32:07.920
<v Speaker 1>very early on we noticed that dot net developers were

572
00:32:08.799 --> 00:32:12.119
<v Speaker 1>kind of looking at every new feature that came out

573
00:32:12.240 --> 00:32:15.240
<v Speaker 1>as if it was a zero sum game. Right, does

574
00:32:15.279 --> 00:32:18.160
<v Speaker 1>that mean we're never going to use this? I remember

575
00:32:18.400 --> 00:32:22.240
<v Speaker 1>the vb net versus c sharp wars. Does that mean that,

576
00:32:22.559 --> 00:32:26.160
<v Speaker 1>you know, c sharp is no longer the you know,

577
00:32:26.240 --> 00:32:29.519
<v Speaker 1>the language we should use? And you know, after a while,

578
00:32:29.640 --> 00:32:32.519
<v Speaker 1>it became obvious that what you're saying was true, which

579
00:32:32.599 --> 00:32:35.960
<v Speaker 1>is that, no, we're giving you more choices. None of

580
00:32:36.000 --> 00:32:43.839
<v Speaker 1>these new features are prescriptive or exclusive. You know, basically

581
00:32:43.880 --> 00:32:45.279
<v Speaker 1>saying that you should never use this.

582
00:32:45.440 --> 00:32:48.680
<v Speaker 4>You should use this now, absolutely, And I think it

583
00:32:48.720 --> 00:32:52.039
<v Speaker 4>comes down to the people know the best about their

584
00:32:52.079 --> 00:32:55.440
<v Speaker 4>own projects. And yes, right, just because I work at Microsoft,

585
00:32:55.519 --> 00:32:58.480
<v Speaker 4>just because God Hunter works at Microsoft, doesn't mean we

586
00:32:58.519 --> 00:33:01.400
<v Speaker 4>can come in and say, hey, here's the best way

587
00:33:01.440 --> 00:33:04.559
<v Speaker 4>to build your application, right, Like, we don't we don't

588
00:33:04.599 --> 00:33:07.480
<v Speaker 4>know that. All we can say is we worked on

589
00:33:07.559 --> 00:33:10.440
<v Speaker 4>a thing. It has helped a bunch of people. Maybe

590
00:33:10.480 --> 00:33:13.599
<v Speaker 4>it can help you try it out if it doesn't fit,

591
00:33:13.680 --> 00:33:15.359
<v Speaker 4>and you can always roll back.

592
00:33:15.799 --> 00:33:17.839
<v Speaker 1>Yeah, And the more you know about these things, the

593
00:33:17.880 --> 00:33:20.880
<v Speaker 1>better informed you are to make decisions architecturally on the

594
00:33:21.039 --> 00:33:23.480
<v Speaker 1>on the beginning of the project end going totally.

595
00:33:23.160 --> 00:33:24.920
<v Speaker 4>Like if you if you try it and it doesn't fit,

596
00:33:25.000 --> 00:33:27.480
<v Speaker 4>at least now you know, right, as opposed to, oh,

597
00:33:27.519 --> 00:33:30.559
<v Speaker 4>there's so many different options. It seems like a lot

598
00:33:30.599 --> 00:33:33.759
<v Speaker 4>of investment either way. Now I got a question, Right,

599
00:33:34.200 --> 00:33:36.759
<v Speaker 4>you know it doesn't work, You're good, and I.

600
00:33:36.720 --> 00:33:38.960
<v Speaker 2>Mean you're giving us some choice. But at the same time,

601
00:33:39.000 --> 00:33:41.759
<v Speaker 2>it is opinionated in the sense it's like, hey, if

602
00:33:41.799 --> 00:33:45.960
<v Speaker 2>you're going to do instrumentation, it's open telemetry, right if you.

603
00:33:45.960 --> 00:33:50.039
<v Speaker 4>Feel strongly otherwise, sure, like you can make things work

604
00:33:50.079 --> 00:33:50.480
<v Speaker 4>for you.

605
00:33:50.720 --> 00:33:54.519
<v Speaker 1>But if you're using Richard, if you're using ray gun

606
00:33:54.599 --> 00:33:59.240
<v Speaker 1>or some other tool that you know that is perfectly viable,

607
00:34:00.480 --> 00:34:03.960
<v Speaker 1>that's right. Sure, nobody's saying that you should switch to

608
00:34:04.200 --> 00:34:05.960
<v Speaker 1>using open telemetry just because it's.

609
00:34:05.839 --> 00:34:06.359
<v Speaker 2>New and cool.

610
00:34:06.880 --> 00:34:10.159
<v Speaker 4>Yeah, And I will say on the opinions piece, I

611
00:34:10.360 --> 00:34:12.559
<v Speaker 4>you know, it's great that dot net has offered so

612
00:34:12.639 --> 00:34:14.960
<v Speaker 4>many options over the year. I will say when I

613
00:34:15.000 --> 00:34:17.760
<v Speaker 4>first started, just seeing like the different versions of dot

614
00:34:17.800 --> 00:34:21.039
<v Speaker 4>Net I had to choose from, and the different you know,

615
00:34:21.239 --> 00:34:25.400
<v Speaker 4>just all the different options without necessarily an opinion on

616
00:34:25.719 --> 00:34:30.599
<v Speaker 4>hey do this do that? That was actually more difficult

617
00:34:30.639 --> 00:34:33.800
<v Speaker 4>to me than if I was presented with a couple

618
00:34:33.840 --> 00:34:36.719
<v Speaker 4>of different options, maybe one option at the beginning, and

619
00:34:36.760 --> 00:34:38.519
<v Speaker 4>then figure things out later on.

620
00:34:38.840 --> 00:34:40.719
<v Speaker 2>So, I mean, this is the argument of what the

621
00:34:40.800 --> 00:34:44.480
<v Speaker 2>hard thing is opinionating enough that it's clearly useful and

622
00:34:44.679 --> 00:34:46.360
<v Speaker 2>doesn't leave you having to make decisions you don't know

623
00:34:46.360 --> 00:34:49.039
<v Speaker 2>how to make, right, but not so opinionated that you

624
00:34:49.119 --> 00:34:51.679
<v Speaker 2>can't use it because it has no flexibility.

625
00:34:52.119 --> 00:34:53.199
<v Speaker 4>Yeah, I do.

626
00:34:53.199 --> 00:34:56.119
<v Speaker 2>Appreciate the idea that you have good hooks into elastic

627
00:34:56.280 --> 00:34:59.119
<v Speaker 2>or read It's just like what cash makes you happy.

628
00:34:59.320 --> 00:35:00.000
<v Speaker 2>Use the one you want.

629
00:35:00.239 --> 00:35:06.159
<v Speaker 4>M I really like your point about the pain of

630
00:35:06.920 --> 00:35:08.800
<v Speaker 4>being asked to make a decision that you don't know

631
00:35:08.840 --> 00:35:11.840
<v Speaker 4>how to make, because personally, when it comes to development,

632
00:35:11.920 --> 00:35:13.840
<v Speaker 4>I feel like I have to do a lot of

633
00:35:13.880 --> 00:35:15.599
<v Speaker 4>that right, and it's like, oh, you want to do this,

634
00:35:15.679 --> 00:35:17.000
<v Speaker 4>you want to do that. I'm like, I don't know

635
00:35:17.039 --> 00:35:19.920
<v Speaker 4>what either of these things are, right, I'm just rolling

636
00:35:19.920 --> 00:35:22.119
<v Speaker 4>a die and hoping for the best.

637
00:35:22.320 --> 00:35:25.159
<v Speaker 2>Yeah, here's what I know. The app I started working

638
00:35:25.199 --> 00:35:29.079
<v Speaker 2>on six months ago in the apps but that's on

639
00:35:29.199 --> 00:35:32.400
<v Speaker 2>version four, but it's been around for five years, is

640
00:35:32.440 --> 00:35:34.840
<v Speaker 2>now not able to run fast enough for them reviewsers

641
00:35:34.880 --> 00:35:37.599
<v Speaker 2>I've got, you know, we're now complaining about performance and

642
00:35:37.639 --> 00:35:40.800
<v Speaker 2>they're saying, hey, it's in the cloud, make it scale,

643
00:35:41.320 --> 00:35:43.000
<v Speaker 2>And I don't know how to do that. There's no

644
00:35:43.119 --> 00:35:48.599
<v Speaker 2>make it scale button. So I'm going down this path, right,

645
00:35:48.679 --> 00:35:52.760
<v Speaker 2>And it said how I fire up this Aspire? Thinking okay, well,

646
00:35:52.800 --> 00:35:56.320
<v Speaker 2>if we are, you know, put more cloud architecture into it,

647
00:35:56.320 --> 00:36:00.599
<v Speaker 2>it'll scale. And you're trying things right, I mean, this

648
00:36:00.800 --> 00:36:01.719
<v Speaker 2>is just an experiment.

649
00:36:02.480 --> 00:36:05.599
<v Speaker 4>An you think to bring up that library of curated

650
00:36:05.679 --> 00:36:08.239
<v Speaker 4>components piece. I know a lot of people who've been

651
00:36:08.360 --> 00:36:11.920
<v Speaker 4>using all these things in the past before I had

652
00:36:11.960 --> 00:36:15.639
<v Speaker 4>an aspired dot you know, before the name are saying hey,

653
00:36:15.639 --> 00:36:21.079
<v Speaker 4>it's just exact same thing. But personally, I, as someone new,

654
00:36:21.159 --> 00:36:25.079
<v Speaker 4>I don't know all my different options within the dotnet ecosystem,

655
00:36:25.280 --> 00:36:28.119
<v Speaker 4>and if I want to find them in the traditional ways,

656
00:36:28.159 --> 00:36:31.000
<v Speaker 4>I just get overloaded. I'm like, Okay, here's seven different

657
00:36:31.119 --> 00:36:35.719
<v Speaker 4>databases that I can choose from and just hap me

658
00:36:36.360 --> 00:36:39.159
<v Speaker 4>oh no, like post grass, like seql, I don't know.

659
00:36:40.719 --> 00:36:43.559
<v Speaker 4>But having a list of just saying look, this is

660
00:36:43.599 --> 00:36:52.840
<v Speaker 4>what is supported and popular and has the most functionality,

661
00:36:53.519 --> 00:36:56.119
<v Speaker 4>and being able to say, okay, maybe I want to

662
00:36:56.119 --> 00:36:58.800
<v Speaker 4>add this thing in now to solve my problem.

663
00:36:59.000 --> 00:36:59.159
<v Speaker 2>Right.

664
00:36:59.480 --> 00:37:02.239
<v Speaker 4>Not to go on another digression, but I think people

665
00:37:02.280 --> 00:37:05.840
<v Speaker 4>come in with problems to solve. They don't come in knowing, hey,

666
00:37:05.880 --> 00:37:08.559
<v Speaker 4>here's my exact solution for my problem to solve. Let

667
00:37:08.599 --> 00:37:09.599
<v Speaker 4>me find that solution.

668
00:37:09.800 --> 00:37:12.559
<v Speaker 2>Yeah, you're exactly right, and so I mean part of

669
00:37:12.599 --> 00:37:18.000
<v Speaker 2>this is having the confidence to experiment exactly right, exactly

670
00:37:18.079 --> 00:37:21.119
<v Speaker 2>spin up a separate instance and play with these changes

671
00:37:21.199 --> 00:37:22.760
<v Speaker 2>and then watch how it behaves, and.

672
00:37:23.280 --> 00:37:25.000
<v Speaker 4>To have the trust that you're not going to get

673
00:37:25.039 --> 00:37:27.000
<v Speaker 4>screwed over if something goes wrong.

674
00:37:27.280 --> 00:37:31.079
<v Speaker 1>These days, whenever I'm faced with the decision of what

675
00:37:31.159 --> 00:37:34.840
<v Speaker 1>to use, I go to AI and I ask for

676
00:37:34.880 --> 00:37:39.800
<v Speaker 1>a summary of these different things, and from those summaries

677
00:37:39.920 --> 00:37:43.440
<v Speaker 1>that at least that's something that I can go look

678
00:37:43.559 --> 00:37:48.440
<v Speaker 1>up and make sure that it's validated, and then, you know, further,

679
00:37:48.559 --> 00:37:52.599
<v Speaker 1>have a conversation given that this does that and the

680
00:37:52.639 --> 00:37:56.000
<v Speaker 1>other does something else, you know, which might be a

681
00:37:56.039 --> 00:38:00.000
<v Speaker 1>good solution for me, And I may not end up

682
00:38:00.559 --> 00:38:04.159
<v Speaker 1>going with, you know, the solution suggested by the AI,

683
00:38:04.320 --> 00:38:06.360
<v Speaker 1>but at least it's a good place to start.

684
00:38:07.760 --> 00:38:11.480
<v Speaker 4>I think I really like that point, because, at least

685
00:38:11.480 --> 00:38:14.840
<v Speaker 4>from my experience, it's always harder to write something from

686
00:38:14.920 --> 00:38:19.599
<v Speaker 4>scratch than to criticize something that already exists, right.

687
00:38:19.480 --> 00:38:23.920
<v Speaker 2>Like, yeah, yeah, I could see the first few times

688
00:38:24.000 --> 00:38:28.840
<v Speaker 2>I'm using Aspire to generate orchestration code to then ask

689
00:38:28.840 --> 00:38:30.920
<v Speaker 2>a HULB copilot, what do you think of this code?

690
00:38:30.960 --> 00:38:33.920
<v Speaker 2>What does it do you? And see how it responds

691
00:38:33.960 --> 00:38:37.679
<v Speaker 2>to it? Just you're kind of getting another opinion, i'd

692
00:38:37.719 --> 00:38:39.159
<v Speaker 2>mentally from a piece of software.

693
00:38:39.519 --> 00:38:43.199
<v Speaker 1>Sure, sure, well yeah, but it's it's good at summarizing language,

694
00:38:43.239 --> 00:38:46.239
<v Speaker 1>which is, you know, the language is already to.

695
00:38:46.280 --> 00:38:50.519
<v Speaker 2>Text, yeah, speak, yeah, that's an interesting angle on this.

696
00:38:50.679 --> 00:38:52.760
<v Speaker 2>You know, new way to write software is now that

697
00:38:52.840 --> 00:38:56.239
<v Speaker 2>I have these generators, because it does spit code out

698
00:38:56.280 --> 00:38:59.880
<v Speaker 2>for me based on what I need. I can you know,

699
00:39:00.280 --> 00:39:03.480
<v Speaker 2>getting a get an evaluation of that from another tool

700
00:39:03.880 --> 00:39:06.320
<v Speaker 2>before I try and push it out into into a

701
00:39:06.360 --> 00:39:06.840
<v Speaker 2>test case.

702
00:39:07.039 --> 00:39:10.119
<v Speaker 4>Exactly. To think of your AI as like a first

703
00:39:10.199 --> 00:39:11.440
<v Speaker 4>year of college.

704
00:39:11.079 --> 00:39:15.159
<v Speaker 1>Intern, right, exactly, go find all the info you can on.

705
00:39:15.559 --> 00:39:18.559
<v Speaker 2>X who occasionally takes inappropriate meds or something.

706
00:39:18.559 --> 00:39:26.599
<v Speaker 1>Because over they're getting better, aren't they?

707
00:39:27.360 --> 00:39:29.480
<v Speaker 2>But have I ever looked at its responses? That are

708
00:39:29.519 --> 00:39:34.320
<v Speaker 2>you taking mushrooms like kids?

709
00:39:34.360 --> 00:39:37.559
<v Speaker 4>These models, this.

710
00:39:37.639 --> 00:39:38.719
<v Speaker 2>Software is out of control.

711
00:39:39.320 --> 00:39:50.679
<v Speaker 1>Back in my day, we didn't have no natural stupidity.

712
00:39:52.320 --> 00:39:55.039
<v Speaker 2>What parts of Aspire we not talked about? I mean

713
00:39:55.039 --> 00:39:58.360
<v Speaker 2>we sort of we said discovery is important, but how

714
00:39:58.360 --> 00:39:59.840
<v Speaker 2>do you explain why discoveries?

715
00:40:01.519 --> 00:40:04.360
<v Speaker 4>I think, honestly, we talked about it a little bit

716
00:40:04.440 --> 00:40:12.079
<v Speaker 4>before around Personally, I think it's about lessening the barrier

717
00:40:13.719 --> 00:40:17.039
<v Speaker 4>when it comes to scaling up, because right, you can

718
00:40:17.079 --> 00:40:21.719
<v Speaker 4>start off with your randomly generated local hosports, you can

719
00:40:21.719 --> 00:40:26.719
<v Speaker 4>figure out how to discover services, you know, when you

720
00:40:26.760 --> 00:40:30.239
<v Speaker 4>only have a couple, but as people scale up, usually

721
00:40:30.239 --> 00:40:34.360
<v Speaker 4>they realize, oh, this is like exponentially more difficult. Yeah,

722
00:40:34.400 --> 00:40:39.719
<v Speaker 4>And having this mental model service discovery upfront and you

723
00:40:39.760 --> 00:40:42.679
<v Speaker 4>know you don't have to like figure out exactly how

724
00:40:42.679 --> 00:40:46.559
<v Speaker 4>it works and know it backwards and forwards, but you

725
00:40:46.559 --> 00:40:51.519
<v Speaker 4>can see it working and over time it really smooths the.

726
00:40:51.480 --> 00:40:55.519
<v Speaker 2>Way, especially when you're giving them multiple versions of service all.

727
00:40:55.639 --> 00:40:58.239
<v Speaker 2>That's the kind of stuff where I wrote my own

728
00:40:58.280 --> 00:41:00.920
<v Speaker 2>discovery code back in the day because we had that

729
00:41:01.079 --> 00:41:05.039
<v Speaker 2>exactly that problem, right. We had a big service bus

730
00:41:05.079 --> 00:41:08.239
<v Speaker 2>app running with multiple apps and different languages plugging into it,

731
00:41:08.280 --> 00:41:10.039
<v Speaker 2>all trying to pass message to each other, and we

732
00:41:10.079 --> 00:41:15.079
<v Speaker 2>had multiple versions of everything, and you want it fail over.

733
00:41:15.159 --> 00:41:17.079
<v Speaker 2>You wanted to be able to if it's not running here,

734
00:41:17.119 --> 00:41:19.159
<v Speaker 2>you can get it from there, like that kind of option,

735
00:41:19.199 --> 00:41:20.800
<v Speaker 2>and you don't want to hard code all that stuff.

736
00:41:20.960 --> 00:41:21.480
<v Speaker 4>That's right.

737
00:41:21.599 --> 00:41:26.159
<v Speaker 2>You just asked er, You asked the discovery service for

738
00:41:26.320 --> 00:41:30.119
<v Speaker 2>a service, and it says here you go, that's all.

739
00:41:30.119 --> 00:41:32.079
<v Speaker 2>You know. You don't know where it came from. You know,

740
00:41:32.719 --> 00:41:36.480
<v Speaker 2>it's fine, You're good, right, right, but it does feel

741
00:41:36.519 --> 00:41:39.639
<v Speaker 2>like that's sort of that mature piece of Okay, So

742
00:41:39.719 --> 00:41:42.880
<v Speaker 2>you're living in services land and you want to be taller.

743
00:41:43.000 --> 00:41:45.440
<v Speaker 2>You want all those additional capability to scale and fall

744
00:41:45.480 --> 00:41:48.079
<v Speaker 2>tolerant and so forth, and discovery is your friend. Let's

745
00:41:48.079 --> 00:41:54.400
<v Speaker 2>start integrating it now. Yeah. I'm getting flashbacks, man, right

746
00:41:55.599 --> 00:41:57.519
<v Speaker 2>the old way.

747
00:41:57.000 --> 00:41:58.119
<v Speaker 4>The montage begins.

748
00:41:58.480 --> 00:42:00.679
<v Speaker 2>Yeah, I just remember how much much battle it is.

749
00:42:00.719 --> 00:42:03.760
<v Speaker 2>So the idea that I now have an opinionated template,

750
00:42:04.119 --> 00:42:06.360
<v Speaker 2>it says, okay, but you're going to discovery approach it

751
00:42:06.440 --> 00:42:07.679
<v Speaker 2>like this, this works.

752
00:42:07.719 --> 00:42:10.880
<v Speaker 1>Well, just make sure you don't snatch defeat out of

753
00:42:10.920 --> 00:42:13.199
<v Speaker 1>the jaws of victory.

754
00:42:14.239 --> 00:42:16.360
<v Speaker 4>That's a good way of putting it a moment.

755
00:42:17.159 --> 00:42:21.480
<v Speaker 2>Yeah, oh yeah, And you do need to get into

756
00:42:21.559 --> 00:42:24.320
<v Speaker 2>containers for this too, right, Like if you're not already

757
00:42:24.400 --> 00:42:26.760
<v Speaker 2>using containers, this is one of the hurdles.

758
00:42:27.880 --> 00:42:29.840
<v Speaker 1>And also it could be an easy way to get

759
00:42:29.880 --> 00:42:30.960
<v Speaker 1>into containers, couldn't.

760
00:42:31.039 --> 00:42:33.320
<v Speaker 4>Yeah, well because absolutely.

761
00:42:32.880 --> 00:42:35.400
<v Speaker 2>Because it's doing a lot of the container plumbing.

762
00:42:35.000 --> 00:42:37.320
<v Speaker 1>For you absolutely less. YAML.

763
00:42:38.760 --> 00:42:42.199
<v Speaker 2>Well, I think it's you just didn't write it yourself.

764
00:42:42.360 --> 00:42:46.840
<v Speaker 4>Yeah right, And I think the fact of all these

765
00:42:47.239 --> 00:42:49.519
<v Speaker 4>you know, the Yamo's still there, the doctor fhile is

766
00:42:49.519 --> 00:42:52.920
<v Speaker 4>still there, Like, yeah, it's there. You don't have to

767
00:42:53.079 --> 00:42:55.719
<v Speaker 4>think about it too much. But when you do want

768
00:42:55.760 --> 00:42:58.000
<v Speaker 4>to you can come back and learn it.

769
00:42:58.119 --> 00:43:00.280
<v Speaker 2>We haven't invented a new language or a new way

770
00:43:00.280 --> 00:43:03.400
<v Speaker 2>to do this. All you're doing is generating a generally

771
00:43:03.440 --> 00:43:07.360
<v Speaker 2>accepted approach to it, right right, Yeah, that's it's compelling

772
00:43:07.400 --> 00:43:10.199
<v Speaker 2>because it's again it's like figuring that stuff out yourself.

773
00:43:10.199 --> 00:43:12.920
<v Speaker 2>It's doable, but it takes time and you don't know

774
00:43:12.960 --> 00:43:14.480
<v Speaker 2>if you're working on the right thing. Like what I

775
00:43:14.519 --> 00:43:18.039
<v Speaker 2>like about this is a good experiment. Just let's kick

776
00:43:18.039 --> 00:43:19.679
<v Speaker 2>it up and see what we think. Like, does that

777
00:43:19.719 --> 00:43:20.079
<v Speaker 2>make sense?

778
00:43:20.159 --> 00:43:20.880
<v Speaker 4>Yeah, exactly.

779
00:43:20.960 --> 00:43:22.760
<v Speaker 2>Okay, let's revert and try it again, do it a

780
00:43:22.760 --> 00:43:25.599
<v Speaker 2>different way, Like you don't have to decide. It's generating

781
00:43:25.599 --> 00:43:26.519
<v Speaker 2>a lot of that code for you.

782
00:43:26.719 --> 00:43:30.960
<v Speaker 4>Yeah, absolutely. You know, I think with containers, conceptually it

783
00:43:31.000 --> 00:43:34.400
<v Speaker 4>seems kind of you know, straightforward, Oh I put my

784
00:43:34.480 --> 00:43:38.599
<v Speaker 4>code in a box, it works everywhere. But the reality

785
00:43:38.679 --> 00:43:41.280
<v Speaker 4>of it, like getting it in there, making sure that

786
00:43:41.320 --> 00:43:45.480
<v Speaker 4>they're orchestrated correctly, that you know that they're deployed correctly.

787
00:43:46.000 --> 00:43:47.519
<v Speaker 4>And I guess that's where I can bring up a

788
00:43:47.599 --> 00:43:52.199
<v Speaker 4>little bit of AZD where I think there's a lot

789
00:43:52.199 --> 00:43:55.239
<v Speaker 4>of misconceptions around that tool of it's bringing in this

790
00:43:55.320 --> 00:43:57.719
<v Speaker 4>new magic way of doing things you type in two

791
00:43:57.760 --> 00:44:02.760
<v Speaker 4>commands and everything worse. But under the covers. It's similar

792
00:44:02.800 --> 00:44:07.360
<v Speaker 4>to how the spire does it, where it generates the

793
00:44:07.400 --> 00:44:10.320
<v Speaker 4>things that people are familiar with. It generates the BICEP,

794
00:44:11.239 --> 00:44:13.400
<v Speaker 4>but you don't have to think about it until you

795
00:44:13.440 --> 00:44:14.800
<v Speaker 4>want to can your mind.

796
00:44:14.960 --> 00:44:17.920
<v Speaker 1>So a ZD is again, I mean you talked about

797
00:44:17.920 --> 00:44:18.440
<v Speaker 1>it briefly.

798
00:44:18.599 --> 00:44:22.800
<v Speaker 4>Yeah, that's right, that's right, yep. So AZD is the

799
00:44:22.840 --> 00:44:27.760
<v Speaker 4>Azure Developer Cli. It is different from the Azure Cli,

800
00:44:27.800 --> 00:44:30.840
<v Speaker 4>which is a z so you can see why there

801
00:44:30.920 --> 00:44:34.199
<v Speaker 4>might be some confusion there. Yeah, But the core of

802
00:44:34.239 --> 00:44:40.960
<v Speaker 4>AZD is it helps you deploy without becoming a BICEP expert.

803
00:44:41.519 --> 00:44:46.400
<v Speaker 4>And it does that by generating BICEP templates essentially based

804
00:44:46.480 --> 00:44:50.000
<v Speaker 4>on the code and the project structure that you have,

805
00:44:50.920 --> 00:44:55.480
<v Speaker 4>and you can expose that using a command so that

806
00:44:55.519 --> 00:44:58.400
<v Speaker 4>you can dive into the actual infrastructure code and you

807
00:44:58.440 --> 00:45:02.920
<v Speaker 4>can edit it manually instead of just hoping for the

808
00:45:03.000 --> 00:45:04.559
<v Speaker 4>best with a CLI command.

809
00:45:04.679 --> 00:45:07.320
<v Speaker 2>Right, Yeah, I mean, I know the names are correct,

810
00:45:07.400 --> 00:45:12.480
<v Speaker 2>as your CLI, as your developer CLI. It's right and

811
00:45:12.840 --> 00:45:16.599
<v Speaker 2>any and I appreciate that you're generating BICEP right, right,

812
00:45:17.000 --> 00:45:21.480
<v Speaker 2>which ultimately turns into ARM templates under the hood. But

813
00:45:21.559 --> 00:45:26.679
<v Speaker 2>at least it's fairly I find BICEP fairly readable. It

814
00:45:26.719 --> 00:45:29.480
<v Speaker 2>does seem like rational code. I was just right right,

815
00:45:29.840 --> 00:45:35.159
<v Speaker 2>it's still pretty I've never I've never reused BICEP code

816
00:45:35.199 --> 00:45:38.280
<v Speaker 2>between projects. I've used the same code. I have cut

817
00:45:38.320 --> 00:45:41.679
<v Speaker 2>and pasted stuff I figured out and put it somewhere else.

818
00:45:41.719 --> 00:45:43.239
<v Speaker 1>But sounds like you need a generator.

819
00:45:43.360 --> 00:45:45.400
<v Speaker 2>Richard's ah, yeah.

820
00:45:44.960 --> 00:45:45.719
<v Speaker 1>Yeah, maybe.

821
00:45:46.320 --> 00:45:50.880
<v Speaker 4>I think the what you're saying about BICEP is readable, right,

822
00:45:51.039 --> 00:45:54.639
<v Speaker 4>But the difficulty comes from writing it from scratch. Absolutely,

823
00:45:54.719 --> 00:45:57.280
<v Speaker 4>because I hear a lot of people say, look like

824
00:45:57.360 --> 00:45:59.559
<v Speaker 4>BICEP is fine. As long as I have something to

825
00:45:59.599 --> 00:46:02.280
<v Speaker 4>start with, I can do what the structure is. I know,

826
00:46:03.079 --> 00:46:03.840
<v Speaker 4>I can edit thing.

827
00:46:03.960 --> 00:46:05.960
<v Speaker 2>I feel like you never write enough of it to

828
00:46:06.039 --> 00:46:06.719
<v Speaker 2>be good at it.

829
00:46:07.119 --> 00:46:07.519
<v Speaker 4>Yeah.

830
00:46:07.599 --> 00:46:09.920
<v Speaker 2>Yeah, you need it when you need it, But it's

831
00:46:09.960 --> 00:46:12.880
<v Speaker 2>always a struggle, you know. I'm always looking at a

832
00:46:12.880 --> 00:46:16.199
<v Speaker 2>previous example, like you need another piece of code, and

833
00:46:16.239 --> 00:46:18.360
<v Speaker 2>sometimes take some of that code with you. So it's

834
00:46:18.519 --> 00:46:20.679
<v Speaker 2>kind of like that you're generating it for me rather

835
00:46:20.679 --> 00:46:22.199
<v Speaker 2>than cut and pasting it from elsewhere.

836
00:46:22.360 --> 00:46:24.760
<v Speaker 4>Mm hmm, that's right, all right.

837
00:46:24.519 --> 00:46:27.559
<v Speaker 2>Well, I mean, and because this is always the reality

838
00:46:27.599 --> 00:46:31.000
<v Speaker 2>of a quote unquote cloud native application is you do

839
00:46:31.079 --> 00:46:33.519
<v Speaker 2>have to tell the cloud what resources you need, and

840
00:46:33.880 --> 00:46:36.840
<v Speaker 2>you do want that automated to just spit it all

841
00:46:36.880 --> 00:46:39.480
<v Speaker 2>out and then push your code, your compiled code into

842
00:46:39.519 --> 00:46:42.559
<v Speaker 2>the right places and put cook things up, get the

843
00:46:42.639 --> 00:46:46.079
<v Speaker 2>orchestration working. That's right, Like, this is part of the job.

844
00:46:45.960 --> 00:46:50.519
<v Speaker 4>Right, And for a lot of I mean software engineers,

845
00:46:50.559 --> 00:46:53.199
<v Speaker 4>like they don't necessarily you know, that's not necessarily what

846
00:46:53.239 --> 00:46:55.719
<v Speaker 4>they signed up for, right, They're here to build something.

847
00:46:55.800 --> 00:47:00.679
<v Speaker 4>They're not here to be Yeah, figuring out the deployment

848
00:47:00.760 --> 00:47:03.559
<v Speaker 4>pipeline or so on necessarily, Right.

849
00:47:03.840 --> 00:47:06.320
<v Speaker 2>Are we waiting on more components? Like I've just went

850
00:47:06.360 --> 00:47:08.519
<v Speaker 2>and grabbed the list off of learn and I've included

851
00:47:08.559 --> 00:47:10.320
<v Speaker 2>it in the show notes, so folks want to look

852
00:47:10.320 --> 00:47:14.880
<v Speaker 2>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
<v Speaker 2>bus stuff like that. Yeah, and then yeah, Ratus is there,

854
00:47:18.519 --> 00:47:19.719
<v Speaker 2>but elastic is not.

855
00:47:20.199 --> 00:47:23.079
<v Speaker 4>Right, right, And I think the thing with the component

856
00:47:23.199 --> 00:47:27.920
<v Speaker 4>library is at least what I'm seeing is it's meant

857
00:47:28.280 --> 00:47:34.280
<v Speaker 4>more as a like app store situation, but without the

858
00:47:34.320 --> 00:47:37.519
<v Speaker 4>buying selling, where it's not just Microsoft or even the

859
00:47:37.559 --> 00:47:42.440
<v Speaker 4>dot net team, right, who gets to create components. The

860
00:47:42.599 --> 00:47:46.079
<v Speaker 4>idea is anyone can say I would love for this

861
00:47:46.199 --> 00:47:48.519
<v Speaker 4>to be a component at Aspire. I'm going to write

862
00:47:48.559 --> 00:47:50.960
<v Speaker 4>it up, I'm going to push it in right, and

863
00:47:51.239 --> 00:47:55.360
<v Speaker 4>if you go into the ad Aspire package, you'll notice

864
00:47:55.360 --> 00:47:58.639
<v Speaker 4>that it's just a filter that looks for the Aspire keyword.

865
00:47:58.679 --> 00:48:01.480
<v Speaker 4>It's not like, hey, here's your special new Get package

866
00:48:01.480 --> 00:48:07.079
<v Speaker 4>manager with only special Aspire packaging. So it's again it

867
00:48:07.119 --> 00:48:11.519
<v Speaker 4>feels like it's taking what's already there. It's just simplifying

868
00:48:11.599 --> 00:48:12.920
<v Speaker 4>the discovery process.

869
00:48:13.199 --> 00:48:15.880
<v Speaker 2>It's yeah, it's great, and I do like the idea

870
00:48:15.920 --> 00:48:19.039
<v Speaker 2>of this is known to work with a spire scaffold, right,

871
00:48:19.039 --> 00:48:21.480
<v Speaker 2>so you know you're not wrestling with something saying am

872
00:48:21.480 --> 00:48:23.519
<v Speaker 2>I doing it wrong? Or does it not work this way?

873
00:48:23.719 --> 00:48:24.320
<v Speaker 4>Right? Right?

874
00:48:24.880 --> 00:48:28.000
<v Speaker 2>That is appreciated because it just makes life a little

875
00:48:28.000 --> 00:48:31.519
<v Speaker 2>bit easier, you know, one less battle to have, that's right.

876
00:48:31.559 --> 00:48:35.679
<v Speaker 4>And when you're dealing with micro services with a couple dozen,

877
00:48:36.320 --> 00:48:38.880
<v Speaker 4>you know, like so many moving pieces, you want to

878
00:48:38.920 --> 00:48:41.440
<v Speaker 4>make sure that those moving pieces aren't going to fail

879
00:48:41.440 --> 00:48:44.920
<v Speaker 4>on you in the middle of a raise, and yeah,

880
00:48:45.000 --> 00:48:46.840
<v Speaker 4>you want to be able to rely on them.

881
00:48:46.960 --> 00:48:49.840
<v Speaker 2>Absolutely and generally speaking, this is not about me making

882
00:48:50.000 --> 00:48:53.719
<v Speaker 2>more components for myself running these things. It's me calling

883
00:48:53.760 --> 00:48:57.119
<v Speaker 2>to that service, right, Like I don't want my own

884
00:48:57.159 --> 00:49:01.599
<v Speaker 2>reddisk containers. I want to call a retta service, right right. Yeah,

885
00:49:01.840 --> 00:49:04.559
<v Speaker 2>it's cool like that. That is a whole other thing

886
00:49:04.679 --> 00:49:07.360
<v Speaker 2>set of things you need to learn. Oh yeah, and

887
00:49:07.639 --> 00:49:10.039
<v Speaker 2>look open ai is there. So if you want to

888
00:49:10.880 --> 00:49:13.679
<v Speaker 2>you want to include some ll M in your in

889
00:49:13.760 --> 00:49:16.159
<v Speaker 2>your app, you've got to recognize services.

890
00:49:16.199 --> 00:49:16.840
<v Speaker 4>We have an option.

891
00:49:17.480 --> 00:49:20.039
<v Speaker 1>Yeah, So jos Chin, what's in your to do list?

892
00:49:20.320 --> 00:49:21.239
<v Speaker 1>What's next for you?

893
00:49:21.360 --> 00:49:26.000
<v Speaker 4>Oh gosh, So I think the big question right now

894
00:49:26.239 --> 00:49:29.440
<v Speaker 4>is over on the Agura container app side, like how

895
00:49:29.480 --> 00:49:33.639
<v Speaker 4>do we make this better for developers? So Aspire is great,

896
00:49:33.760 --> 00:49:38.679
<v Speaker 4>we're trying to do like strong integration there, but vast

897
00:49:38.719 --> 00:49:44.559
<v Speaker 4>majority of DOTTNA developers are that are not using Aspire there. Yeah,

898
00:49:44.599 --> 00:49:51.079
<v Speaker 4>and I just think that it's like so far it's

899
00:49:51.079 --> 00:49:55.320
<v Speaker 4>been difficult, but we're really trying to lower that barrier

900
00:49:55.360 --> 00:49:58.920
<v Speaker 4>to entry around containers, recognizing that a lot of DOTNA

901
00:49:58.960 --> 00:50:02.519
<v Speaker 4>developers aren't coming in with like because you know, they

902
00:50:02.559 --> 00:50:06.599
<v Speaker 4>hear about containers as a technology that is new and

903
00:50:07.440 --> 00:50:12.800
<v Speaker 4>efficient and helpful, but they're not experts. And how to

904
00:50:12.880 --> 00:50:15.920
<v Speaker 4>allow them to get started with a low barrier to

905
00:50:16.119 --> 00:50:19.679
<v Speaker 4>entry without saying, hey, like click one button and we

906
00:50:19.800 --> 00:50:21.960
<v Speaker 4>take your code and do all the magic and just

907
00:50:22.000 --> 00:50:23.960
<v Speaker 4>deploy it and you just have to trust in it.

908
00:50:24.039 --> 00:50:28.119
<v Speaker 2>Right, that only works in demos anywhere else?

909
00:50:28.639 --> 00:50:30.239
<v Speaker 4>Yeah, exactly, but.

910
00:50:30.239 --> 00:50:33.760
<v Speaker 2>At least some guidance, right, Okay, you want to start

911
00:50:33.840 --> 00:50:37.079
<v Speaker 2>using containers, well, and again it's like you don't want

912
00:50:37.119 --> 00:50:39.599
<v Speaker 2>to use containers, you wanted to scale your app. I

913
00:50:39.719 --> 00:50:42.760
<v Speaker 2>believe containers can help, and Aspire will help guide you

914
00:50:42.800 --> 00:50:43.639
<v Speaker 2>down the path of doing that.

915
00:50:43.800 --> 00:50:46.079
<v Speaker 1>Isn't that what Kubernetes was supposed to do? Just one

916
00:50:46.280 --> 00:50:48.079
<v Speaker 1>push a button and everything just sort.

917
00:50:47.920 --> 00:50:51.039
<v Speaker 4>Of boom emphasis I'm supposed to right.

918
00:50:51.440 --> 00:50:53.440
<v Speaker 1>Yeah, I mean it turns out to be kind of.

919
00:50:55.599 --> 00:50:55.679
<v Speaker 5>It.

920
00:50:56.199 --> 00:51:00.840
<v Speaker 4>Yeah, And Richard, I think you what you said earlier

921
00:51:00.880 --> 00:51:04.440
<v Speaker 4>really gets to that point of let people focus on

922
00:51:04.480 --> 00:51:07.920
<v Speaker 4>the problems that they're solving instead of making them figure

923
00:51:07.960 --> 00:51:11.440
<v Speaker 4>out the solution, right, Like, don't expect people to say, oh, yeah,

924
00:51:11.480 --> 00:51:15.119
<v Speaker 4>I really need containers, but rather what are containers supposed

925
00:51:15.119 --> 00:51:16.000
<v Speaker 4>to do for people?

926
00:51:16.480 --> 00:51:18.920
<v Speaker 2>Yeah? Yeah, well I really need to allow more people

927
00:51:18.920 --> 00:51:20.800
<v Speaker 2>to use this app at the same time without a

928
00:51:20.840 --> 00:51:22.719
<v Speaker 2>tipping over, right, I really need to know when it

929
00:51:22.719 --> 00:51:25.280
<v Speaker 2>does tip over what went wrong. I really need to

930
00:51:25.320 --> 00:51:28.280
<v Speaker 2>be able to run multiple versions of services. I really

931
00:51:28.280 --> 00:51:30.800
<v Speaker 2>need to be able to have more people communicating with

932
00:51:30.840 --> 00:51:32.880
<v Speaker 2>that and know when they're damaging the system or when

933
00:51:33.039 --> 00:51:35.840
<v Speaker 2>we're creating creating problems make it. One of the things

934
00:51:35.880 --> 00:51:37.719
<v Speaker 2>happens when you get into these bus type apps is

935
00:51:37.760 --> 00:51:41.079
<v Speaker 2>like a bad actor ends up on the on the backbone,

936
00:51:41.119 --> 00:51:44.239
<v Speaker 2>hammering messages inappropriately. It's a bug, Like, it's not actually

937
00:51:44.599 --> 00:51:47.679
<v Speaker 2>an evil person, it's a bad piece of software that's

938
00:51:48.039 --> 00:51:50.880
<v Speaker 2>that could take the whole bus out and diagnosing that

939
00:51:51.280 --> 00:51:54.960
<v Speaker 2>is a pain. Like anything that can help me build

940
00:51:55.000 --> 00:51:59.440
<v Speaker 2>that successfully, that's my friend. So but you got to

941
00:51:59.480 --> 00:52:03.840
<v Speaker 2>think by the time they're looking here, they're already struggling. Yeah,

942
00:52:03.960 --> 00:52:07.280
<v Speaker 2>they're already having They're saying evil words. They're saying, we

943
00:52:07.320 --> 00:52:11.760
<v Speaker 2>need to re architect the application. That's an evil that's

944
00:52:11.760 --> 00:52:15.039
<v Speaker 2>a terrible statement. You know, as the p or as

945
00:52:15.039 --> 00:52:17.199
<v Speaker 2>the owner, I'm kind of like, let me get a

946
00:52:17.239 --> 00:52:19.239
<v Speaker 2>straight You're going to take a piece of software that

947
00:52:19.559 --> 00:52:20.599
<v Speaker 2>more or less works.

948
00:52:20.400 --> 00:52:22.760
<v Speaker 4>Right now, You're going to try to fix it.

949
00:52:22.840 --> 00:52:24.760
<v Speaker 2>You're going to do a bunch of things that introduce

950
00:52:24.880 --> 00:52:27.599
<v Speaker 2>no new features but take a lot of time and

951
00:52:27.719 --> 00:52:30.000
<v Speaker 2>very likely break things that currently work.

952
00:52:30.519 --> 00:52:32.519
<v Speaker 4>Wow, what a great trade deal then?

953
00:52:32.599 --> 00:52:32.800
<v Speaker 1>Yeah?

954
00:52:34.000 --> 00:52:37.840
<v Speaker 2>Right, like and oh and if you do your job perfectly,

955
00:52:38.199 --> 00:52:40.800
<v Speaker 2>none of us will be able to tell right the

956
00:52:40.880 --> 00:52:44.199
<v Speaker 2>app will just be running like did you lose a

957
00:52:44.239 --> 00:52:46.840
<v Speaker 2>bet with God? Like that? That's you just drew the

958
00:52:46.880 --> 00:52:51.000
<v Speaker 2>short straw for this problem.

959
00:52:51.320 --> 00:52:53.960
<v Speaker 1>Well we can talk a lot more, I know, but

960
00:52:54.480 --> 00:52:56.559
<v Speaker 1>time is up, so Josh, and thank you very much

961
00:52:56.599 --> 00:52:59.960
<v Speaker 1>for enlightening us and your perspective is great.

962
00:53:00.239 --> 00:53:01.280
<v Speaker 2>Yeah, thanks so much for this.

963
00:53:02.039 --> 00:53:06.400
<v Speaker 4>Yeah, absolutely, thanks for the great conversations. Yeah, it's nice

964
00:53:06.440 --> 00:53:09.119
<v Speaker 4>to start off my Friday with Uh it feels like

965
00:53:09.159 --> 00:53:12.360
<v Speaker 4>a little bit of stand up comedy.

966
00:53:12.360 --> 00:53:13.960
<v Speaker 2>Well you got to you got a couple of silly

967
00:53:13.960 --> 00:53:14.440
<v Speaker 2>people on the.

968
00:53:14.400 --> 00:53:19.639
<v Speaker 5>Lines, all right, so much, Thanks again and we'll see

969
00:53:19.679 --> 00:53:38.920
<v Speaker 5>you next time on dot net rocks.

970
00:53:43.119 --> 00:53:45.800
<v Speaker 1>Dot net Rocks is brought to you by Franklin's Net

971
00:53:45.920 --> 00:53:49.840
<v Speaker 1>and produced by Pop Studios, a full service audio, video

972
00:53:49.960 --> 00:53:54.079
<v Speaker 1>and post production facility located physically in New London, Connecticut,

973
00:53:54.280 --> 00:53:58.760
<v Speaker 1>and of course in the cloud online at PWOP dot com.

974
00:53:59.280 --> 00:54:01.239
<v Speaker 1>Visit our website right A d O T N E

975
00:54:01.280 --> 00:54:05.679
<v Speaker 1>t R O c K S dot com for RSS feeds, downloads,

976
00:54:05.840 --> 00:54:09.519
<v Speaker 1>mobile apps, comments, and access to the full archives going

977
00:54:09.559 --> 00:54:12.960
<v Speaker 1>back to show number one, recorded in September two thousand

978
00:54:12.960 --> 00:54:15.599
<v Speaker 1>and two. And make sure you check out our sponsors.

979
00:54:15.760 --> 00:54:18.800
<v Speaker 1>They keep us in business. Now go write some code,

980
00:54:19.119 --> 00:54:19.880
<v Speaker 1>See you next time.

981
00:54:20.800 --> 00:54:23.679
<v Speaker 4>You got jad middle vansc
