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

2
00:00:05,360 --> 00:00:08,560
Become a patron for just five dollars a month. You

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

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

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

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

7
00:00:34,560 --> 00:00:37,560
welcome back to dot net rocks. I'm Carl Franklin, an

8
00:00:37,600 --> 00:00:41,320
amateur Campbell, and we're here again for show nineteen twenty one.

9
00:00:41,759 --> 00:00:43,399
Speaker 2: You're enjoying the twentieth century, are you?

10
00:00:43,640 --> 00:00:45,280
Speaker 1: I am? And you know, I kind of like this

11
00:00:45,320 --> 00:00:50,439
little history summary that I'm doing. Okay, So I went

12
00:00:50,479 --> 00:00:54,679
to thepeoplehistory dot com slash nineteen twenty one dot html

13
00:00:54,960 --> 00:00:57,240
and as you can guess, they have an HTML file

14
00:00:57,280 --> 00:01:00,320
for every year that where they have data from. So

15
00:01:00,479 --> 00:01:04,000
here's just a summary. In nineteen twenty one, the US

16
00:01:04,040 --> 00:01:07,439
passed the Emergency Quota Act, which limited the number of

17
00:01:07,439 --> 00:01:09,879
immigrants that were allowed to come to the United States.

18
00:01:10,439 --> 00:01:13,400
The Irish Free State was created as the Irish Republic

19
00:01:13,439 --> 00:01:17,079
issued their declaration of independence from the UK, and later

20
00:01:17,159 --> 00:01:20,159
that year, the ira and British forces agreed to a

21
00:01:20,200 --> 00:01:23,319
cease fire. We all know how that worked out. The

22
00:01:23,719 --> 00:01:28,760
nineteen twenty one, yeah, twenty one, the Tulsa Race massacre

23
00:01:28,959 --> 00:01:31,000
happened in the US. An unfortunate event.

24
00:01:31,280 --> 00:01:32,680
Speaker 2: That's the one that was on my mind for nineteen

25
00:01:32,680 --> 00:01:33,640
twenty one was Greenwood.

26
00:01:33,680 --> 00:01:36,239
Speaker 1: Oh yeah, you know, three hundred or so black Americans

27
00:01:36,239 --> 00:01:36,760
were killed.

28
00:01:36,959 --> 00:01:40,719
Speaker 2: Not good but also one of the most affluent neighborhoods.

29
00:01:40,760 --> 00:01:43,480
Like it really tore the culture apart.

30
00:01:43,359 --> 00:01:46,680
Speaker 1: Really did. It was pretty evil. The TWMB of the

31
00:01:46,760 --> 00:01:52,040
Unknown Soldier was established. That's cool. The Shepherd Towner Maternity

32
00:01:52,040 --> 00:01:54,799
and Infancy Act became law, making one of the first

33
00:01:54,799 --> 00:01:59,840
times the United States ventured into social security. The USSR

34
00:01:59,879 --> 00:02:04,560
and Poland agreed to the Treaty of Riga. The Soviet

35
00:02:04,680 --> 00:02:10,319
Union also invaded the Democratic Republic of Georgia, and the

36
00:02:10,479 --> 00:02:13,159
US and Germany signed the Treaty of Berlin, ending World

37
00:02:13,240 --> 00:02:17,159
War One. For the US. New York Yankees pitcher Babe

38
00:02:17,240 --> 00:02:19,599
Ruth hit his one hundred and thirty eight home run

39
00:02:20,080 --> 00:02:25,840
in June, and Crimea was officially brought into the USSR.

40
00:02:25,919 --> 00:02:30,159
The Crimean autonomous Soviet Socialist Republic is created. Also one

41
00:02:30,199 --> 00:02:33,800
of the worst famines in modern times, gript Russia due

42
00:02:33,840 --> 00:02:36,840
to crop failure. That's what I found.

43
00:02:37,560 --> 00:02:41,680
Speaker 2: What would I add? I mean if the Soviet Union

44
00:02:41,680 --> 00:02:44,120
is still forming, then right, it really only really gets

45
00:02:44,120 --> 00:02:48,639
its act together another year or so. Oh hofra House Hitler.

46
00:02:48,680 --> 00:02:51,240
Oh yeah, Hitler's famous speech of the Haffro House that

47
00:02:51,360 --> 00:02:54,240
leads to the riots, because admittedly, at that point, the

48
00:02:54,479 --> 00:02:57,080
runaway inflation from the Treaty of Versailles is really taking

49
00:02:57,120 --> 00:02:59,560
hold of the Warmark Republic. And so this is when

50
00:02:59,599 --> 00:03:02,680
you had we have a wheelbarrow of Deutsche marks. You

51
00:03:02,680 --> 00:03:07,319
get biol over bread, right, and Hitler is inciting violence. Yeah,

52
00:03:07,360 --> 00:03:09,479
stop me if you've heard this one. Yeah, it's a

53
00:03:09,599 --> 00:03:11,800
kind of ringing a bell for me. Weird.

54
00:03:11,879 --> 00:03:14,000
Speaker 1: Huh, Yeah, it is kind of weird how that happens.

55
00:03:14,039 --> 00:03:16,159
You know, when somebody comes along and says, it's not

56
00:03:16,199 --> 00:03:20,120
your fault, it's these people's faulty. You're suffering, Yeah, so much.

57
00:03:21,479 --> 00:03:25,520
You know, people tend to gravitate towards those people. Yeah. So, anyway,

58
00:03:26,560 --> 00:03:30,319
enough of nineteen twenty one, let's get on with better

59
00:03:30,360 --> 00:03:30,960
no framework.

60
00:03:31,080 --> 00:03:42,479
Speaker 3: Awesome, all right, man, what do you got?

61
00:03:42,680 --> 00:03:45,039
Speaker 1: Have you ever heard of Garnet? Maybe, Chris, you have

62
00:03:45,240 --> 00:03:46,560
well the stone Okay.

63
00:03:47,199 --> 00:03:50,919
Speaker 4: Yeah, So Garnet isn't that the replacement for Reddish or

64
00:03:50,960 --> 00:03:54,280
something like that, Not replacement, but an option to Reddish

65
00:03:54,360 --> 00:03:55,479
because of some stuff.

66
00:03:55,879 --> 00:03:59,240
Speaker 1: Yep. So it's a remote cash store for Microsoft Research

67
00:03:59,840 --> 00:04:04,919
that offers strong performance in both throughput and latency, scalability,

68
00:04:05,039 --> 00:04:09,560
storage recovery, cluster sharding, key migration, and replication features, and

69
00:04:09,599 --> 00:04:13,840
it can work, as you said, with existing Reddish clients.

70
00:04:14,680 --> 00:04:17,639
So it's that's pretty cool. It's just something that's trending

71
00:04:17,680 --> 00:04:21,160
that I found in. It's Microsoft Research. Who knew, Yes,

72
00:04:21,160 --> 00:04:22,199
these guys do good work.

73
00:04:22,399 --> 00:04:24,560
Speaker 2: There's smart folks over there from the people who brought

74
00:04:24,600 --> 00:04:25,560
you F.

75
00:04:25,519 --> 00:04:28,199
Speaker 1: Sharp F sharp and all sorts of goodness.

76
00:04:28,480 --> 00:04:31,000
Speaker 2: And I love that they're using their you know, the

77
00:04:31,120 --> 00:04:34,120
layer Garnet is the name of the product, and underneath

78
00:04:34,199 --> 00:04:37,079
is a storage's layer called Svarite, which is a kind

79
00:04:37,120 --> 00:04:37,639
of Garnet.

80
00:04:39,920 --> 00:04:45,079
Speaker 1: All right, some of these with the naming, yeah, okay,

81
00:04:45,120 --> 00:04:46,720
I guess dot net does rock.

82
00:04:47,720 --> 00:04:48,120
Speaker 2: Literally.

83
00:04:49,199 --> 00:04:51,519
Speaker 4: The fact that they do release them under a bit

84
00:04:51,600 --> 00:04:54,680
cooler names now is cool. Though previously that would have

85
00:04:54,680 --> 00:04:59,279
been released as the Hyper Performance Scalable Cash Enterprise V

86
00:04:59,600 --> 00:05:01,519
three for Foundation Edition.

87
00:05:04,199 --> 00:05:05,759
Speaker 2: Dang, right, yeah.

88
00:05:05,839 --> 00:05:08,720
Speaker 1: Good. Anyway, Well that's what I got, Richard, who's talking

89
00:05:08,759 --> 00:05:09,399
to us today.

90
00:05:09,560 --> 00:05:10,519
Speaker 2: I love everything about that.

91
00:05:11,199 --> 00:05:11,399
Speaker 1: Oh.

92
00:05:11,439 --> 00:05:13,040
Speaker 2: I decided to go into the wayback machine and I

93
00:05:13,079 --> 00:05:15,519
grabbed a Chris Klub show from twenty to fifteen, the

94
00:05:15,519 --> 00:05:18,959
one where we talked about Solid principles and dot net cool,

95
00:05:18,959 --> 00:05:21,480
because I'm sure he'll remember this. It was only what

96
00:05:21,759 --> 00:05:22,639
nine years ago?

97
00:05:23,839 --> 00:05:24,680
Speaker 4: I did remember it.

98
00:05:24,879 --> 00:05:25,519
Speaker 1: I never know.

99
00:05:25,560 --> 00:05:27,720
Speaker 2: We're talking about how Solid worked with dot net, right,

100
00:05:27,800 --> 00:05:30,000
And there's a bunch of comments that are actually a

101
00:05:30,040 --> 00:05:34,279
ton some going into detail, some really appreciating your pragmatic

102
00:05:34,319 --> 00:05:36,759
view of it, Chris, which is something I've always appreciated.

103
00:05:36,800 --> 00:05:40,120
You know, you're obviously an experienced architect. We've talked about

104
00:05:40,160 --> 00:05:42,759
some great projects, but you're not an idealist in any ways.

105
00:05:43,040 --> 00:05:45,319
And we actually make this work. No, it has to work,

106
00:05:45,360 --> 00:05:48,560
and it has to work oddly enough. If the software

107
00:05:48,600 --> 00:05:52,199
doesn't work, it's really not that valuable. And Michael Reid

108
00:05:52,199 --> 00:05:54,759
Smith had this comment and middle nine years ago he said,

109
00:05:54,800 --> 00:05:56,600
you all need to work with Some younger developers are

110
00:05:56,600 --> 00:05:59,759
really old legacy systems. They violate Solid all the time.

111
00:06:00,480 --> 00:06:03,360
Some younger developers don't even know what SOLID is. We

112
00:06:03,439 --> 00:06:05,920
teach classes where I work. That helps us older, more

113
00:06:05,959 --> 00:06:09,600
experienced developers teach the younger you developers what school did not.

114
00:06:10,079 --> 00:06:12,439
And I love the show We also go with this.

115
00:06:12,920 --> 00:06:15,439
I don't think you can teach solid to someone and

116
00:06:15,519 --> 00:06:19,000
have it stick until they've written some code, until they've

117
00:06:19,040 --> 00:06:22,639
been in a project or two. Like, you've got to

118
00:06:22,759 --> 00:06:25,279
know what the pain is to some degree before you

119
00:06:25,399 --> 00:06:29,360
really grasp why we need these processes.

120
00:06:30,160 --> 00:06:32,639
Speaker 4: And then you have to go over the line and

121
00:06:32,680 --> 00:06:35,959
go way too far and then start scaling it back

122
00:06:36,000 --> 00:06:38,160
when you realize that going too far when solid is

123
00:06:38,160 --> 00:06:40,040
going to put you in the whole heap of other problems.

124
00:06:40,120 --> 00:06:43,079
Speaker 2: Yeah, different set of problems. I just traded my problems

125
00:06:43,079 --> 00:06:45,720
at so. Yeah, there is a balance in there, So

126
00:06:46,160 --> 00:06:48,519
I in that sense, I always say the experienced folks

127
00:06:48,600 --> 00:06:50,720
like be patient with the youngers. They don't know why

128
00:06:50,720 --> 00:06:54,800
they should be afraid, right, It's hard to convince them

129
00:06:54,839 --> 00:06:57,560
other than you're just being mean. Sometimes you just got

130
00:06:57,560 --> 00:06:59,560
to let them set themselves on fire first, and then

131
00:06:59,560 --> 00:07:01,560
it's like, hey, hey, would you like to not burn?

132
00:07:01,720 --> 00:07:04,959
Speaker 1: There's a way that's good.

133
00:07:05,600 --> 00:07:07,240
Speaker 2: So, Michael, thank you so much for your comment. At

134
00:07:07,240 --> 00:07:08,879
A copy of music Code by is on its way

135
00:07:08,879 --> 00:07:10,439
to you. And if you'd like a copy of music

136
00:07:10,439 --> 00:07:12,399
Code by, write a comment on the website at dot

137
00:07:12,439 --> 00:07:14,560
at rocks dot com. Ra on the facebooks. We publish

138
00:07:14,560 --> 00:07:16,279
every show there and if you comment there and I

139
00:07:16,360 --> 00:07:18,519
read on the show, we'll send you copy music code by.

140
00:07:18,480 --> 00:07:21,040
Speaker 1: Still selling music to Code, buy music tocode, buy dot

141
00:07:21,079 --> 00:07:25,600
net and people are loving it, getting break comments every day.

142
00:07:26,600 --> 00:07:30,920
I still haven't started that next track, however, I'm I'm

143
00:07:30,959 --> 00:07:34,319
still fixing to think about it.

144
00:07:33,839 --> 00:07:36,079
Speaker 2: It's got to just boil in the back of your head,

145
00:07:36,120 --> 00:07:36,759
all right.

146
00:07:36,959 --> 00:07:39,560
Speaker 1: It's not that simple, all right, So let us introduce

147
00:07:39,720 --> 00:07:43,120
Chris Kloague with an older bio. You can tell me

148
00:07:43,199 --> 00:07:46,199
Chris if anything has changed. But Chris works as a

149
00:07:46,319 --> 00:07:50,920
developer architect at Active Solution in Stockholm, still yep, still

150
00:07:51,120 --> 00:07:53,920
working mostly with cloud based solutions for clients and a

151
00:07:53,959 --> 00:07:57,279
wide range of domains. Lately, his contracts have pulled him

152
00:07:57,279 --> 00:08:00,360
towards the DevOps area, working almost entirely with build and

153
00:08:00,399 --> 00:08:04,000
release automation as well as infrastructure as code. Both were

154
00:08:04,040 --> 00:08:07,160
somewhat uncharted areas to him, which suited him find as

155
00:08:07,160 --> 00:08:09,319
he loves learning new things. Now I remember this is

156
00:08:09,360 --> 00:08:12,519
what twelve years ago and figuring out how to make

157
00:08:12,560 --> 00:08:14,800
them do what he wants them to. I imagine, Chris,

158
00:08:14,800 --> 00:08:16,480
you're still doing that kind of stuff.

159
00:08:16,720 --> 00:08:19,720
Speaker 4: I am still getting computers to do what I want

160
00:08:19,759 --> 00:08:23,160
them to, but I'm not so much into Develops anymore.

161
00:08:23,519 --> 00:08:28,120
I've luckily got myself into other problems nowadays. But it's

162
00:08:28,199 --> 00:08:31,680
still there, right, Develops has just It's kind of like

163
00:08:31,920 --> 00:08:34,399
I talked a lot about Asher when Asher was new,

164
00:08:34,440 --> 00:08:37,080
but then Asher becomes just another tool that you're okay with,

165
00:08:37,240 --> 00:08:39,559
and then Develops was new, and then all of a sudden,

166
00:08:39,559 --> 00:08:41,720
Develops is just something that you have and you do

167
00:08:41,799 --> 00:08:44,440
when you implement in your projects and get pipelines and

168
00:08:44,480 --> 00:08:45,039
stuff working.

169
00:08:45,279 --> 00:08:45,840
Speaker 1: Just software.

170
00:08:46,480 --> 00:08:50,159
Speaker 4: Yeah, now it's I move around a bit currently doing

171
00:08:50,279 --> 00:08:53,799
a lot of API development for a client, which is

172
00:08:54,320 --> 00:08:55,120
fun as such.

173
00:08:55,279 --> 00:08:55,519
Speaker 1: Yeah.

174
00:08:55,559 --> 00:08:57,639
Speaker 2: Well, and we talked about if she should go back

175
00:08:57,679 --> 00:09:00,200
in the day just a couple of years ago. Is

176
00:09:00,240 --> 00:09:02,480
exactly that. It's like, how is this stuff maturing out?

177
00:09:02,519 --> 00:09:04,519
And I knew from I think it was your blog

178
00:09:04,559 --> 00:09:07,200
post that you had been dabbling in all the different platforms, Like,

179
00:09:07,240 --> 00:09:08,840
all right, Chris, come and talk to us about the

180
00:09:08,840 --> 00:09:11,320
different platforms together. But I got to agree with you.

181
00:09:11,360 --> 00:09:13,720
These days, you don't find anyone who doesn't have some

182
00:09:13,840 --> 00:09:17,000
kind of pipeline, at least, not that that's the only

183
00:09:17,080 --> 00:09:19,480
thing in DevOps. Is much more to it than that,

184
00:09:19,639 --> 00:09:22,279
But that's where a lot of people stop. They just don't,

185
00:09:22,480 --> 00:09:23,159
let's get a pipeline.

186
00:09:23,200 --> 00:09:25,200
Speaker 4: Yeah, I think that's the kind of the first and

187
00:09:25,519 --> 00:09:28,320
actually it's the really tangible thing I think with develops

188
00:09:28,320 --> 00:09:30,279
that you actually automate a bunch of things and get

189
00:09:30,399 --> 00:09:33,759
things running. But yeah, there's a lot more to the

190
00:09:33,919 --> 00:09:36,879
process as such, and to the whole area of develops.

191
00:09:36,879 --> 00:09:39,960
I completely agree. But at least automating your things is

192
00:09:40,000 --> 00:09:40,360
a start.

193
00:09:40,440 --> 00:09:43,360
Speaker 2: Getting rid of unreliable deployments is a useful part piece

194
00:09:43,399 --> 00:09:46,399
of the equation. You're not going to suffer for that anyway,

195
00:09:46,720 --> 00:09:48,879
and it's certainly gotten a heck of a lot easier

196
00:09:48,919 --> 00:09:51,080
to do that. I mean, goodness knows we do in

197
00:09:51,080 --> 00:09:52,960
this show long enough that I remember when we were

198
00:09:52,960 --> 00:09:54,679
talking about the weird add ons you had to put

199
00:09:54,720 --> 00:09:57,240
into visual studio to even to begin to build something

200
00:09:57,240 --> 00:10:01,600
we would eventually call a pipeline. It's better now, make

201
00:10:01,679 --> 00:10:04,080
no mistake, it's definitely better now.

202
00:10:04,159 --> 00:10:06,679
Speaker 4: Well, at least if you're in the cloud. I still

203
00:10:06,679 --> 00:10:10,600
have clients to deploy to on premis machines, so it

204
00:10:10,679 --> 00:10:13,120
is still a bit of a tedious process compared to

205
00:10:13,320 --> 00:10:14,519
just deploying to the cloud.

206
00:10:15,080 --> 00:10:17,120
Speaker 2: Well, just because you can get away without building a

207
00:10:17,120 --> 00:10:19,879
good enough automation, a cloud kind of forces you down

208
00:10:19,919 --> 00:10:20,799
a righteous path.

209
00:10:21,120 --> 00:10:24,000
Speaker 1: So you're thinking a lot about cloud native these days.

210
00:10:24,120 --> 00:10:27,039
Is that a term whose time has come? Do we

211
00:10:27,080 --> 00:10:30,200
all understand what that means? Does it mean different things

212
00:10:30,240 --> 00:10:31,000
to different people?

213
00:10:31,159 --> 00:10:33,519
Speaker 4: I think it means different things to different people. I

214
00:10:33,559 --> 00:10:37,360
think cloud native people are going to attack me for this,

215
00:10:37,440 --> 00:10:39,960
I know, but it seems like that whole thing has

216
00:10:40,000 --> 00:10:44,440
been hijacked by kubernaties. If you're not building Kubernatis apps

217
00:10:44,519 --> 00:10:48,039
or based solutions, you're not cloud native. And it's like

218
00:10:48,080 --> 00:10:52,240
the cloud native, the CNCF thingy, it's all about Kubernati stuff.

219
00:10:52,480 --> 00:10:54,879
I think there's more to it. I think it's a

220
00:10:54,919 --> 00:10:58,279
paradigm or a way of thinking of how you build

221
00:10:58,279 --> 00:11:02,519
your code, making sure that it is scalable horizontally, and

222
00:11:02,679 --> 00:11:06,519
it makes use of resources in a good way, and

223
00:11:06,840 --> 00:11:10,919
all of that stuff that's not necessarily specific. And I

224
00:11:10,960 --> 00:11:13,559
think we are moving in that direction, and I think

225
00:11:13,559 --> 00:11:16,000
a lot of people are in the cloud and doing

226
00:11:16,639 --> 00:11:20,759
sort of cloud native, even if I'm seeing a slight

227
00:11:20,879 --> 00:11:24,000
pull towards going on prem again, at least for bigger clients,

228
00:11:24,000 --> 00:11:27,519
because cloud is not necessarily cheap when you go to

229
00:11:27,519 --> 00:11:28,399
a certain size.

230
00:11:28,960 --> 00:11:32,120
Speaker 1: The term cloud native always rang weird with me because

231
00:11:32,159 --> 00:11:35,840
I'm like, well, what's the what's the opposite of that

232
00:11:35,960 --> 00:11:37,159
cloud interpreted?

233
00:11:37,759 --> 00:11:38,759
Speaker 2: Cloud immigrant?

234
00:11:39,600 --> 00:11:40,440
Speaker 1: Cloud immigrant?

235
00:11:40,559 --> 00:11:45,279
Speaker 2: Yeah, migrated on prem native? Hey yeah, what's a virtual

236
00:11:45,360 --> 00:11:48,559
machine city behind Azure Fireworld like a cloud immigrant?

237
00:11:48,679 --> 00:11:50,200
Speaker 4: Yeah?

238
00:11:50,320 --> 00:11:56,200
Speaker 1: Yeah, okay. So in other words, applying on prem technologies

239
00:11:56,240 --> 00:11:59,519
and processes to the cloud is not cloud native? Is

240
00:11:59,519 --> 00:12:01,080
that what you basically getting out?

241
00:12:01,360 --> 00:12:04,080
Speaker 4: I would say, So if you're building on prem, you

242
00:12:04,559 --> 00:12:08,279
tend to make other assumptions. In my world, things like

243
00:12:09,240 --> 00:12:12,559
your database you potentially assume is always online, because if

244
00:12:12,600 --> 00:12:15,919
the database goes offline, your machine, your database server is

245
00:12:15,960 --> 00:12:18,240
actually having problems and you'll see that in other parts

246
00:12:18,240 --> 00:12:21,679
and it is probably not going to be an intermittent issue.

247
00:12:21,720 --> 00:12:23,840
But if you're in the cloud, you have more of

248
00:12:23,879 --> 00:12:26,679
those intermittent things, so you take it into account when

249
00:12:26,679 --> 00:12:28,799
you build your application. For example, I think there are

250
00:12:29,200 --> 00:12:31,399
lots of little niggles here and there that you sort

251
00:12:31,440 --> 00:12:32,879
of have to change a little bit when you go

252
00:12:32,919 --> 00:12:33,200
to the.

253
00:12:33,120 --> 00:12:36,240
Speaker 2: Cloud be tolerated of a one minute outage, yeah, something

254
00:12:36,320 --> 00:12:36,639
like that.

255
00:12:37,039 --> 00:12:40,639
Speaker 4: Yeah, Yeah, pretty much everything can come and go. It's

256
00:12:40,639 --> 00:12:42,279
going to be gone for a little while, but it's

257
00:12:42,360 --> 00:12:44,679
hopefully just going to come back. But you have to

258
00:12:44,720 --> 00:12:48,440
survive that. Whereas that obviously can happen on prem as well.

259
00:12:48,480 --> 00:12:50,440
But as I said, if a server go that goes

260
00:12:50,480 --> 00:12:54,840
down on Prem, that's a different story. That's not going

261
00:12:54,840 --> 00:12:56,919
to be a little blip and it comes back thirty

262
00:12:56,919 --> 00:12:59,559
seconds later. It's probably going to be somebody running around

263
00:12:59,600 --> 00:13:03,879
in their center freaking out because power supply is blown

264
00:13:03,919 --> 00:13:04,759
up or something like that.

265
00:13:04,919 --> 00:13:07,200
Speaker 2: So step one, something is not going to be back

266
00:13:07,320 --> 00:13:09,039
before you can write up the ticket for it.

267
00:13:09,120 --> 00:13:12,519
Speaker 1: Yeah, so step one is let's let's focus one hundred

268
00:13:12,559 --> 00:13:14,480
percent on our please wait screen.

269
00:13:15,039 --> 00:13:18,919
Speaker 2: Yeah, I would argue this is all about Polly, right,

270
00:13:18,960 --> 00:13:23,639
as Polly's everywhere right, so that everything is recovering, then

271
00:13:24,240 --> 00:13:24,879
you'll be fine.

272
00:13:24,919 --> 00:13:26,519
Speaker 4: Yeah, it still need to take it even if you

273
00:13:26,519 --> 00:13:28,960
had Pulley. It's it's yes, it's going to do read

274
00:13:29,000 --> 00:13:31,879
try and you can do gate gates and things like that,

275
00:13:32,000 --> 00:13:34,039
but it's in the end, you still have to make

276
00:13:34,080 --> 00:13:37,120
sure that your client gets a decent message as well.

277
00:13:37,159 --> 00:13:38,919
So I think Carlos is onto it something. It's like,

278
00:13:38,960 --> 00:13:41,200
if it's down, have a nice screen that says, hey,

279
00:13:41,240 --> 00:13:44,080
we're actually down for a little while, or find a

280
00:13:44,080 --> 00:13:47,159
way to just work in a different way. I think

281
00:13:47,200 --> 00:13:48,200
I read somewhere.

282
00:13:47,919 --> 00:13:51,840
Speaker 1: That while you're waiting read this today in the history paragraph,

283
00:13:52,039 --> 00:13:56,080
expect me go get a coffee and we'll be right back.

284
00:13:56,200 --> 00:13:59,639
Speaker 4: Yeah, And I think maybe a lot of people are

285
00:13:59,759 --> 00:14:01,639
missing up and that I think I've read somewhere that's

286
00:14:01,679 --> 00:14:04,120
sort of like at Netflix where they're doing micro services,

287
00:14:04,159 --> 00:14:07,480
which is cloud native and all of that, then they

288
00:14:07,639 --> 00:14:10,679
every service should survive that other services are down. So basically,

289
00:14:10,720 --> 00:14:13,120
if you want to see the list of movies to

290
00:14:13,200 --> 00:14:16,399
watch today, maybe it depends on one service to look

291
00:14:16,399 --> 00:14:19,840
at your latest movies or whatever your ongoing and if

292
00:14:19,840 --> 00:14:21,639
that service is down, then they can look at another

293
00:14:21,679 --> 00:14:24,279
service to find the top top ten movies at the moment,

294
00:14:24,399 --> 00:14:26,600
or if that service is down, maybe there's a hard

295
00:14:26,600 --> 00:14:28,919
coded list of movies that you can show. So there's

296
00:14:28,919 --> 00:14:32,919
always fallbacks upon fallbacks if services are down, and I

297
00:14:32,919 --> 00:14:35,639
think I'm guilty of that. As well. But I think

298
00:14:35,639 --> 00:14:37,559
a lot of us forget about that. We basically go

299
00:14:37,639 --> 00:14:40,039
if the service is down, then we just return an error.

300
00:14:40,120 --> 00:14:43,039
Maybe we can do something more. And I guess that's

301
00:14:43,080 --> 00:14:46,360
the cloud native way is being better prepared that things

302
00:14:46,440 --> 00:14:47,960
being unavailable.

303
00:14:47,879 --> 00:14:51,039
Speaker 2: Getting this idea of discovery that I know where I'm

304
00:14:51,159 --> 00:14:52,840
likely to go, but I'm willing to take a few

305
00:14:52,879 --> 00:14:56,120
other choices. So, you know, building a maximum says you

306
00:14:56,159 --> 00:14:59,559
can provide a difference alternative to this as well as

307
00:14:59,600 --> 00:15:02,559
some of the Here's one it's that I've definitely seen

308
00:15:02,679 --> 00:15:04,279
on prem do all the time. You just can't get

309
00:15:04,279 --> 00:15:08,600
away with the cloud IP addresses right like you can

310
00:15:08,639 --> 00:15:10,639
get it if it's your network, you can get away

311
00:15:10,679 --> 00:15:13,240
with those are my ips. You don't get away with

312
00:15:13,279 --> 00:15:14,879
that in the cloud. That is not an option.

313
00:15:17,240 --> 00:15:21,240
Speaker 1: Yeah, all of these things bring to mind, you know

314
00:15:21,279 --> 00:15:25,559
the difference between more client side technology like web assembly

315
00:15:25,759 --> 00:15:30,159
and more server side technology like Blazer server. And you know,

316
00:15:30,240 --> 00:15:33,799
Blazer server is more apt to have those please weight

317
00:15:33,840 --> 00:15:36,799
screens because of you know, if it's down, it's down, right,

318
00:15:37,360 --> 00:15:40,120
But in you know, if you've got good caching and

319
00:15:40,200 --> 00:15:44,519
good messaging and all that stuff, your client can survive

320
00:15:44,679 --> 00:15:47,799
just about anything as long as you have you know,

321
00:15:48,000 --> 00:15:50,559
prepared the user for that and have some sort of

322
00:15:51,080 --> 00:15:56,759
good contingency plan when things are pausing or not completing yet.

323
00:15:57,399 --> 00:16:01,480
Speaker 2: Fallbacks always ways to fall back. And also like not

324
00:16:01,559 --> 00:16:04,679
that cross dependency thing, like you can different pieces of

325
00:16:04,679 --> 00:16:09,039
the app can be updated and everything keeps running, like right,

326
00:16:09,200 --> 00:16:12,320
don't have you don't have that master, we shut down

327
00:16:12,320 --> 00:16:14,519
at five o'clock, do a big update, It'll be back

328
00:16:14,559 --> 00:16:17,360
up tomorrow morning. Like that's just not the cloud dated world.

329
00:16:18,360 --> 00:16:21,039
I started rolling update mindset, which I mean I did

330
00:16:21,080 --> 00:16:22,399
a lot of that back in the e commerce state

331
00:16:22,399 --> 00:16:24,559
when we did it far more by hand, just because

332
00:16:24,960 --> 00:16:27,879
we made money every minute of every day and every

333
00:16:27,879 --> 00:16:30,639
bit of outage was money loss. So people got grumpy

334
00:16:31,039 --> 00:16:32,759
and we had to find a way to roll out

335
00:16:32,840 --> 00:16:34,799
updates without stopping the cash for no.

336
00:16:35,039 --> 00:16:37,639
Speaker 4: Yeah, and it's funny now that we talk about all this,

337
00:16:37,720 --> 00:16:39,840
I'm like, looking at I've been doing this for twenty

338
00:16:39,840 --> 00:16:42,519
five years now, and I'm just so happy I'm not

339
00:16:42,519 --> 00:16:46,320
coming into the industry right now because there's there's it's

340
00:16:46,320 --> 00:16:48,279
a good time coming as well. I'm just I would

341
00:16:48,320 --> 00:16:51,799
probably as a person be overwhelmed by everything that you

342
00:16:51,919 --> 00:16:53,960
kind of need to know because it used to be

343
00:16:54,039 --> 00:16:55,759
that you could know a bit, you can know code,

344
00:16:55,840 --> 00:16:57,840
and then the ops team would make sure that it ran.

345
00:16:57,960 --> 00:17:02,559
But now we develops and asher and cloud Native and

346
00:17:02,559 --> 00:17:04,119
all of that stuff. All of a sudden, there's the

347
00:17:04,200 --> 00:17:06,559
whole Oh we need I need to know how networks

348
00:17:06,599 --> 00:17:10,880
work and how machines are set up, and service discovery

349
00:17:10,920 --> 00:17:14,039
and a lot of other stuff that as a junior

350
00:17:14,119 --> 00:17:16,319
you need to get somebody else to help you with

351
00:17:16,440 --> 00:17:19,319
and basically show you the rogues. But there's a lot

352
00:17:19,400 --> 00:17:21,160
to learn today if you're new in the business.

353
00:17:21,200 --> 00:17:22,759
Speaker 2: In my mind, I mean, I would argue back, they

354
00:17:22,799 --> 00:17:24,759
also don't have the baggage like we're doing a lot

355
00:17:24,799 --> 00:17:27,839
of unlearning too. We have bad habits, we have craft

356
00:17:28,240 --> 00:17:31,440
we need to scrape off right this you know, the

357
00:17:32,640 --> 00:17:37,480
pets versus cattle mindset, Yeah, just like you know we don't.

358
00:17:37,559 --> 00:17:40,200
We don't update servers around here. We build new ones

359
00:17:40,240 --> 00:17:43,720
and kill the old ones, right because they're all virtual,

360
00:17:43,759 --> 00:17:47,000
they're ephemeral, and that's a pretty hard thing to get

361
00:17:47,079 --> 00:17:50,880
into your head when you're used to years and years

362
00:17:50,920 --> 00:17:52,960
of carrying and feeding of a set of boxes with

363
00:17:53,000 --> 00:17:53,839
blinky lights.

364
00:17:53,960 --> 00:17:56,279
Speaker 4: I had an argument with a with the developer a

365
00:17:56,279 --> 00:18:00,759
while back, and it'said the argument spiral Bit said, I've

366
00:18:00,759 --> 00:18:03,000
been doing it like this for the last fifteen years

367
00:18:03,000 --> 00:18:05,720
and it's worked fine. And that's to me, that's when

368
00:18:05,720 --> 00:18:08,279
the argument ends, because if you're doing what you did

369
00:18:08,720 --> 00:18:12,839
fifteen years ago in the same way, there is probably

370
00:18:12,920 --> 00:18:15,759
a better way. Things have shifted in fifteen years.

371
00:18:15,920 --> 00:18:19,079
Speaker 2: You have one years of experience. You repeated fifteen times.

372
00:18:19,640 --> 00:18:25,039
Let's go learn something, man. Yeah, that is tough. I

373
00:18:25,039 --> 00:18:27,400
mean I don't want to. I understand the resistance to

374
00:18:27,440 --> 00:18:30,880
kubrinetties because it seems to be all things, but this

375
00:18:31,480 --> 00:18:33,960
containers just seem like to be a good idea.

376
00:18:34,240 --> 00:18:37,720
Speaker 4: I agree containers is a great idea. My problem with

377
00:18:39,559 --> 00:18:43,400
kubernet is mostly because you end up having to run

378
00:18:43,440 --> 00:18:47,880
the cluster. I know that AKS is semi managed, but

379
00:18:48,000 --> 00:18:51,200
it's not fully managed, and to me it just seems

380
00:18:51,240 --> 00:18:55,559
like I'm not a Linux person, so running an AKS

381
00:18:55,599 --> 00:18:58,000
cluster or running a Coubrettes cluster is this a bunch

382
00:18:58,000 --> 00:19:01,839
of stuff I don't feel comfortable with. And also, when

383
00:19:02,039 --> 00:19:06,519
stuff happens, they're generally not the most simple thing to fix.

384
00:19:06,680 --> 00:19:10,160
Either it's very simple or it's some weird network thing

385
00:19:10,240 --> 00:19:13,160
that happened inside of your Linux servers and then I

386
00:19:13,200 --> 00:19:15,640
am screwed. I don't know how to fix that, so

387
00:19:16,279 --> 00:19:18,319
that's why I'm a little bit scared of it. But

388
00:19:18,400 --> 00:19:20,480
if you have the people that can run your cluster,

389
00:19:20,960 --> 00:19:23,319
I am more than happy to be building for it.

390
00:19:24,480 --> 00:19:26,920
But it's a separate skill set in my mind.

391
00:19:27,079 --> 00:19:30,559
Speaker 2: Have you dove into as your container apps as sort

392
00:19:30,559 --> 00:19:35,039
of the more managed version than AKS.

393
00:19:35,480 --> 00:19:37,599
Speaker 4: I don't know how politically correct I'm supposed to be

394
00:19:37,720 --> 00:19:42,079
right now, I am page. I probably should be politically correct.

395
00:19:41,759 --> 00:19:43,799
Speaker 1: But honestly, just be honest, man.

396
00:19:44,319 --> 00:19:47,519
Speaker 4: The very honest thing is that, yes, I have been

397
00:19:47,640 --> 00:19:50,759
on a product where we're using container apps. I am

398
00:19:50,799 --> 00:19:53,960
not touching it again unless I have to. Because we

399
00:19:54,119 --> 00:19:57,960
had our dev environment locking up and having to be

400
00:19:58,079 --> 00:20:01,200
real built like four times since six months. Our production

401
00:20:01,359 --> 00:20:04,440
environment got locked up for about five days where we

402
00:20:04,480 --> 00:20:07,160
couldn't deploy because all of a suddenly it said that

403
00:20:07,200 --> 00:20:10,880
we had no more cores available, and that was basically

404
00:20:10,920 --> 00:20:13,519
either we had to rebuild production, which is not really

405
00:20:13,559 --> 00:20:16,880
an option, or we would need to wait for micro

406
00:20:17,039 --> 00:20:19,759
support to fix that for us, which it did eventually.

407
00:20:20,359 --> 00:20:21,599
Speaker 2: So it was buggy.

408
00:20:21,799 --> 00:20:25,599
Speaker 4: I find it very buggy. And besides that, it kind

409
00:20:25,599 --> 00:20:28,480
of annoys me because when it starts bugging out, the

410
00:20:28,640 --> 00:20:31,559
layer that container Wraps ads on top of kubernet is

411
00:20:31,599 --> 00:20:35,079
for me, is so thin. You can see kubernet is underneath.

412
00:20:35,079 --> 00:20:37,039
You just scrap a little bit. You can still see

413
00:20:37,079 --> 00:20:39,240
the ingris stuff and the pods and all the stuff

414
00:20:39,279 --> 00:20:42,640
that is kubernet is underneath. But when stuff starts failing,

415
00:20:43,279 --> 00:20:46,079
you cannot go to cube control and start mucking about

416
00:20:46,119 --> 00:20:49,160
and trying to figure out what's wrong, because you stuck.

417
00:20:49,240 --> 00:20:50,480
Speaker 2: You're waiting on a ticket.

418
00:20:50,519 --> 00:20:53,480
Speaker 1: It's a yeah, it's a glass bottom boat yep with

419
00:20:53,599 --> 00:20:55,759
a hole in it pretty much.

420
00:20:56,240 --> 00:20:59,319
Speaker 4: So I'm not a huge fan. I'd rather deploy to

421
00:20:59,480 --> 00:21:06,200
akas if I'm going to go full container style or honestly,

422
00:21:06,240 --> 00:21:09,640
I still like web baps for containers. Right, I'm old school.

423
00:21:09,720 --> 00:21:13,359
Speaker 1: Did you did you say how long ago this experience was?

424
00:21:13,920 --> 00:21:18,279
Speaker 4: It was, let's see, about six months ago, six months,

425
00:21:18,359 --> 00:21:19,480
nine months ago or something like that.

426
00:21:19,559 --> 00:21:21,359
Speaker 1: Okay, so still very current.

427
00:21:22,000 --> 00:21:24,319
Speaker 4: Yeah. And the funnly thing is I have a guy

428
00:21:24,359 --> 00:21:27,279
at the office who's also an MVP, and he was like,

429
00:21:27,400 --> 00:21:29,720
container Wraps is awesome, and we talked about it, and

430
00:21:29,720 --> 00:21:31,680
he had never seen the issues that we were having.

431
00:21:31,720 --> 00:21:36,279
And then very recently their environment went down as well

432
00:21:36,319 --> 00:21:38,960
because all of a sudden they had intermittent issues talking

433
00:21:39,000 --> 00:21:42,160
to seql and they filed the ticket and apparently there

434
00:21:42,200 --> 00:21:45,119
was a network issue in ashure that actually made some

435
00:21:45,160 --> 00:21:48,480
of the packages to seql Ashure go down, so they

436
00:21:48,680 --> 00:21:52,960
couldn't talk to Azure, which is a sequel, which caused

437
00:21:52,960 --> 00:21:56,079
a bunch of problems. It got fixed very rapidly, but

438
00:21:56,119 --> 00:21:58,880
the fact that things like that happens makes me not

439
00:21:59,039 --> 00:22:00,359
trust the platform, makes.

440
00:22:00,240 --> 00:22:01,079
Speaker 2: You squirrel down.

441
00:22:01,440 --> 00:22:02,240
Speaker 4: Yeah.

442
00:22:02,279 --> 00:22:05,680
Speaker 2: So, and web apps for containers, I mean, yet another

443
00:22:05,799 --> 00:22:09,319
strategy for using containers and actually, like you can't blame

444
00:22:09,359 --> 00:22:11,480
anybody for staring this and going can you make up

445
00:22:11,519 --> 00:22:12,119
your mind?

446
00:22:12,440 --> 00:22:13,160
Speaker 4: Yeah? No, I know.

447
00:22:13,279 --> 00:22:14,440
Speaker 2: Are we supposed to do this?

448
00:22:15,079 --> 00:22:18,079
Speaker 4: And it's like they're they're pros to Astra container wraps

449
00:22:18,359 --> 00:22:21,160
in the form of service discovery gets built in and

450
00:22:21,480 --> 00:22:23,799
it's easy to run Dapper. I'm not a big Dapper fan,

451
00:22:23,880 --> 00:22:26,039
but that that's plugged in there as well. But your

452
00:22:26,079 --> 00:22:28,279
t a p R Dapper, not e a p P

453
00:22:28,400 --> 00:22:33,279
E R No, that is hard yep. But you can

454
00:22:33,359 --> 00:22:36,160
do most of that stuff with with just v nets

455
00:22:36,160 --> 00:22:39,200
and container apps as well, or sorry, not gonna webouts

456
00:22:39,200 --> 00:22:43,359
for containers. So I'd rather go of that route because

457
00:22:44,079 --> 00:22:46,440
I've seen too many issues we contain wraps today that

458
00:22:46,480 --> 00:22:49,079
somebody comes and says that it has matured, then I'll

459
00:22:49,079 --> 00:22:51,759
come back because I really like the idea of container wraps.

460
00:22:51,799 --> 00:22:54,480
Speaker 2: But eventually there'll be a good version. You just don't

461
00:22:54,519 --> 00:22:57,119
know if it's there yet exactly well, And it's one

462
00:22:57,119 --> 00:22:59,319
of the you know, we talk about not getting hung

463
00:22:59,400 --> 00:23:01,920
up on a give implementation, but it seems like it's

464
00:23:01,920 --> 00:23:07,079
tough to move into or out of as your container apps,

465
00:23:07,160 --> 00:23:09,559
Like I don't know what it takes to actually pull

466
00:23:09,599 --> 00:23:09,960
out of that.

467
00:23:10,279 --> 00:23:13,279
Speaker 4: It's fairly easy to pull out of container apps if

468
00:23:13,319 --> 00:23:18,559
you go into AKS. SoC scaling kind of up into

469
00:23:18,640 --> 00:23:21,200
AKS beastly mature in your solution to say.

470
00:23:21,240 --> 00:23:23,920
Speaker 2: Which seemed to be the intent right is like here's

471
00:23:23,960 --> 00:23:26,960
the training wheels versions of orchestrated containers, and when you're

472
00:23:26,960 --> 00:23:29,559
ready to throw out the training wheels, you go to AKS.

473
00:23:29,799 --> 00:23:33,799
Speaker 4: Yep, okay, And that's a cool idea. And I believe

474
00:23:33,839 --> 00:23:36,319
that there is an AKAS version on the way that

475
00:23:36,480 --> 00:23:38,400
is fully managed. I don't know if it's been released

476
00:23:38,480 --> 00:23:41,119
or think, but I do believe that that's where they're headed.

477
00:23:41,160 --> 00:23:43,440
I haven't looked at AKS for a while. But once

478
00:23:43,519 --> 00:23:45,039
you get to the point where I can tick a

479
00:23:45,079 --> 00:23:48,200
box and say I want an AKS cluster and I

480
00:23:48,240 --> 00:23:51,599
don't want to see the worker notes, I just want

481
00:23:51,640 --> 00:23:54,880
to see the API just host everything for me and

482
00:23:55,000 --> 00:23:58,359
just fix the NOE thing for me, then I'm in love.

483
00:23:58,559 --> 00:24:00,440
And at that point that would be might go to

484
00:24:00,440 --> 00:24:02,519
a platform for for astress us.

485
00:24:02,799 --> 00:24:05,119
Speaker 1: So are you saying basically we should just bite the bullet,

486
00:24:05,200 --> 00:24:08,400
learn yam or figure out how to write these things ourselves.

487
00:24:08,920 --> 00:24:12,599
Speaker 4: Yeah, unfortunately. Yeah, it's it's not that hard.

488
00:24:13,319 --> 00:24:15,519
Speaker 1: It's not You're right, I just don't like it.

489
00:24:15,680 --> 00:24:18,319
Speaker 2: Here's the question, is it necessary? Like why do I

490
00:24:18,400 --> 00:24:20,759
need this? As Like you said, I could just go

491
00:24:20,799 --> 00:24:22,160
to app Service. Yep.

492
00:24:23,119 --> 00:24:25,039
Speaker 4: I don't know how much development they're doing on app

493
00:24:25,039 --> 00:24:27,279
Service anymore. I know it's a very old service, but

494
00:24:27,359 --> 00:24:30,000
it seems like it does everything I need and done

495
00:24:30,000 --> 00:24:31,680
some and.

496
00:24:30,960 --> 00:24:35,319
Speaker 2: So for you know, basic websites. Man, that thing just

497
00:24:35,400 --> 00:24:37,960
works right. It's you know, run and you run two

498
00:24:37,960 --> 00:24:40,240
instances with a minor load balance con figured on it

499
00:24:40,279 --> 00:24:44,039
and void the outages are low, Like, it's just I'm

500
00:24:44,039 --> 00:24:46,680
not saying it's one hundred percent roadways recovers, but it's

501
00:24:46,720 --> 00:24:47,440
hard to complain.

502
00:24:47,559 --> 00:24:49,920
Speaker 1: Well, we got to talk about what kind of applications,

503
00:24:49,960 --> 00:24:53,039
you know, what our audience is, and how big it is,

504
00:24:53,599 --> 00:24:56,319
and how much scalability we want to build in. I

505
00:24:56,319 --> 00:24:58,799
think that's probably the reason why people went to Kubernetes

506
00:24:58,799 --> 00:25:01,480
in the first place, is because you know, they picture

507
00:25:01,519 --> 00:25:06,680
their application being the next you know, Reddit or Facebook

508
00:25:06,799 --> 00:25:09,440
or whatever that's going to scale to millions of users,

509
00:25:09,880 --> 00:25:12,359
and oh my gosh, how we have to plan for

510
00:25:12,400 --> 00:25:12,960
that now.

511
00:25:13,839 --> 00:25:17,039
Speaker 4: So yeah, and I think a lot of that scale

512
00:25:17,079 --> 00:25:19,599
can be handled by on the web apps as well

513
00:25:19,640 --> 00:25:22,839
with scaling building, and it's just it's a different miset.

514
00:25:23,000 --> 00:25:24,920
I guess the fact that you can spin up containers

515
00:25:24,960 --> 00:25:29,079
faster in akas, and you can play around a bit more,

516
00:25:29,119 --> 00:25:32,559
and you have more configuration ability with services, so you

517
00:25:32,599 --> 00:25:35,039
can map around things, you can deploy things and cannery

518
00:25:35,079 --> 00:25:38,000
builds and things like that. All of that deployment stuff

519
00:25:38,039 --> 00:25:40,920
of being able to point to different services and deploy

520
00:25:41,000 --> 00:25:42,640
to a small group of people, all of that is

521
00:25:43,000 --> 00:25:45,440
easier in akas than it is in web aps. You

522
00:25:45,480 --> 00:25:49,359
have to build all of that yourself, I guess. But yeah,

523
00:25:49,400 --> 00:25:51,200
I think there's a maturity part to it as well,

524
00:25:51,200 --> 00:25:53,960
and people have and understandings like you have to learn

525
00:25:54,279 --> 00:25:56,720
akas or sorry kubernatis.

526
00:25:56,599 --> 00:25:57,319
Speaker 2: To work with it.

527
00:25:57,359 --> 00:26:00,920
Speaker 4: And it's it's not just the AMO else, it's a

528
00:26:01,039 --> 00:26:03,839
it's a mind shift of of how you think about

529
00:26:03,839 --> 00:26:05,960
your deployments that you have to get into as well.

530
00:26:06,160 --> 00:26:09,799
Speaker 1: Sure, and with great power comes great responsibility, right, I mean,

531
00:26:09,839 --> 00:26:14,519
if you can push a button and launch a million

532
00:26:15,480 --> 00:26:19,480
web services, you can do that, right, so you better

533
00:26:19,519 --> 00:26:21,240
be careful about what you're.

534
00:26:21,039 --> 00:26:25,240
Speaker 4: Doing and to be honest developers and lots of responsibilities.

535
00:26:25,480 --> 00:26:29,759
Like we, we tend to go with the question can

536
00:26:29,799 --> 00:26:31,559
we and not so much should we?

537
00:26:31,559 --> 00:26:32,079
Speaker 1: Should we?

538
00:26:33,519 --> 00:26:36,359
Speaker 2: That's why you keep SIS admins around. We're the suspicious ones.

539
00:26:38,160 --> 00:26:40,440
This is actually a good idea. I don't think we

540
00:26:40,480 --> 00:26:41,200
can do it.

541
00:26:41,319 --> 00:26:42,160
Speaker 1: We can do it?

542
00:26:42,279 --> 00:26:43,359
Speaker 2: No you can't, No.

543
00:26:43,400 --> 00:26:43,960
Speaker 3: You can't.

544
00:26:45,440 --> 00:26:48,279
Speaker 4: It's like we as developers we look at SIS admins

545
00:26:48,279 --> 00:26:51,920
and DBAs and security people as really boring people who

546
00:26:51,960 --> 00:26:55,680
say no to everything. There might actually be reason for

547
00:26:55,759 --> 00:26:57,519
them say it.

548
00:26:58,559 --> 00:27:00,839
Speaker 1: You might want to put some guard around this.

549
00:27:02,240 --> 00:27:04,720
Speaker 2: When you devs do something to build a cool new feature,

550
00:27:04,759 --> 00:27:07,240
like you can get an A. Like people get really excited.

551
00:27:07,279 --> 00:27:10,319
They throw parties and stuff when an AMN does their

552
00:27:10,400 --> 00:27:13,839
job perfectly. Nobody can tell. Like the guest you can

553
00:27:13,880 --> 00:27:16,160
get is a C. I mean it's easy to get

554
00:27:16,160 --> 00:27:18,680
an F just turn a server off like that. You're like,

555
00:27:18,920 --> 00:27:20,920
you're like the sound guys. You're gonna do is a C.

556
00:27:21,599 --> 00:27:25,079
Speaker 1: You're like the sound guy right that if there's no feedback,

557
00:27:25,160 --> 00:27:28,440
you don't exist. But the minute somebody hears feedback, oh

558
00:27:28,519 --> 00:27:30,960
that sound guy.

559
00:27:31,000 --> 00:27:35,279
Speaker 2: Exactly where does serverleists fit in this equation for you? Chris?

560
00:27:36,400 --> 00:27:38,960
Speaker 4: So, I this is going to sound weird because I've

561
00:27:38,960 --> 00:27:40,359
been doing it. I should be doing a lot more

562
00:27:40,359 --> 00:27:42,519
servilists and more usher functions than I am doing at

563
00:27:42,519 --> 00:27:47,160
the moment. I've I do mostly API apps, and I

564
00:27:47,200 --> 00:27:50,160
know that you can build APIs using serverallest functions and

565
00:27:50,200 --> 00:27:52,400
as your functions and all that stuff, But I actually

566
00:27:52,480 --> 00:27:55,680
tend to go for a core APIs for that because

567
00:27:55,680 --> 00:27:57,960
they need to be online anyways. I need to have

568
00:27:58,039 --> 00:28:02,359
an instance running and they can scale. I think serverlus

569
00:28:02,480 --> 00:28:05,480
is the astra function stuff is really really neat for

570
00:28:05,559 --> 00:28:09,519
things like managing ques, so basically being able to send

571
00:28:09,920 --> 00:28:12,200
things onto the service bus and then have functions pick

572
00:28:12,279 --> 00:28:14,799
them up and act on that, not having to run

573
00:28:14,839 --> 00:28:19,039
my own stuff for that. That fits imperfectly. But once again,

574
00:28:19,039 --> 00:28:21,119
I think it's a mindset. I have colleagues who do

575
00:28:21,279 --> 00:28:25,880
basically everything using functions, including their APIs, because they're used

576
00:28:25,880 --> 00:28:27,799
to that, and I think that idea is really good.

577
00:28:28,559 --> 00:28:31,240
If you can build it like that, then yeah, I

578
00:28:31,240 --> 00:28:33,079
guess there's money to be made as well. And that's

579
00:28:33,079 --> 00:28:34,559
the big part. I assume you.

580
00:28:34,519 --> 00:28:37,319
Speaker 1: Said the magic word though, ques right, If you have

581
00:28:37,440 --> 00:28:40,279
Q and you have retry policies with poly or something

582
00:28:40,359 --> 00:28:42,880
like that around, the functions make a lot more sense

583
00:28:42,960 --> 00:28:45,039
because it doesn't matter if they're going to take a

584
00:28:45,119 --> 00:28:47,319
minute to spin up, they'll eventually get the message and

585
00:28:47,359 --> 00:28:52,440
passing on. And you know, in asynchronous processes anyway, in

586
00:28:52,599 --> 00:28:57,519
more synchronous or near synchronous processes where you need to

587
00:28:57,559 --> 00:29:00,279
reply right away, maybe.

588
00:29:00,519 --> 00:29:02,519
Speaker 4: Yeah, I agree with that well.

589
00:29:02,559 --> 00:29:06,720
Speaker 2: And again I think cloud lends itself to asynchronicity just

590
00:29:06,720 --> 00:29:08,960
because you can't. You don't want to hold a connection

591
00:29:09,039 --> 00:29:11,400
longer than absolutely need to. But it is a mindset

592
00:29:11,480 --> 00:29:13,680
to get into. I push the message to the que

593
00:29:13,720 --> 00:29:16,039
and I have a separate pipeline for a response, and

594
00:29:16,119 --> 00:29:19,119
even though that responds maybe a few milliseconds later, it's

595
00:29:19,200 --> 00:29:20,519
just not actually well.

596
00:29:20,559 --> 00:29:25,039
Speaker 1: Yeah, and to add to that, Richard, you think it's synchronous,

597
00:29:25,079 --> 00:29:27,440
but it's a synchronous So in those things that there

598
00:29:27,440 --> 00:29:30,839
are all asynchronous processes, but when you want to show

599
00:29:30,880 --> 00:29:34,240
the user the result right away, right and you don't

600
00:29:34,279 --> 00:29:37,440
want them to wait maybe a minute because something is down,

601
00:29:37,759 --> 00:29:40,079
some function is now needs to spin up, and there's

602
00:29:40,200 --> 00:29:42,640
cues to handle it, and they'll eventually get there. But

603
00:29:42,759 --> 00:29:45,920
for those things, I agree with Chris that you know,

604
00:29:45,960 --> 00:29:48,119
you kind of want to hit those and make sure

605
00:29:48,160 --> 00:29:49,640
that they come back as soon as possible.

606
00:29:49,720 --> 00:29:52,000
Speaker 4: Yeah, it's kind of exactly where I was going. Is

607
00:29:53,039 --> 00:29:57,319
we as developers love ACYNC because it makes it resilient

608
00:29:57,359 --> 00:29:59,400
and it can handle load and all of that stuff,

609
00:29:59,400 --> 00:30:03,599
But it also needs a shift in the UX because

610
00:30:03,680 --> 00:30:05,519
all of a sudden, when you press a button and

611
00:30:05,559 --> 00:30:10,279
you get yes, that's done, it's not actually done. And

612
00:30:10,319 --> 00:30:13,039
I think for us as developers, a UI like that

613
00:30:13,119 --> 00:30:16,319
makes sense, but for any other developed user of a

614
00:30:16,359 --> 00:30:19,079
system that's not a developer. The whole idea of having

615
00:30:19,160 --> 00:30:22,440
a synchronis process a press a button and the button

616
00:30:22,480 --> 00:30:25,039
doesn't actually do it. The button just sends a message

617
00:30:25,039 --> 00:30:27,319
and then it will happen at some point later on.

618
00:30:27,519 --> 00:30:31,519
Is a hard to understand because they don't understand how

619
00:30:31,519 --> 00:30:34,640
this technology works and be really hard to do a

620
00:30:34,759 --> 00:30:37,799
UX that makes sense, and then that conveys that idea

621
00:30:37,839 --> 00:30:41,480
that yes, we have kind of done what you've asked

622
00:30:41,519 --> 00:30:43,880
us to do, but it will take time and if

623
00:30:43,920 --> 00:30:46,160
you refresh the list where you added the thing to

624
00:30:46,319 --> 00:30:49,720
that list will unless you have somehow cash did client

625
00:30:49,839 --> 00:30:52,200
side and remember that you have made that thing and

626
00:30:52,240 --> 00:30:55,480
added on the client, it wi't actually show up in

627
00:30:55,480 --> 00:30:59,279
that list until X time later, which is confusing.

628
00:30:59,599 --> 00:31:02,039
Speaker 2: I mean I found more users are used to that

629
00:31:02,119 --> 00:31:06,200
now because Facebook, right, yeah, because eventual consistency is part

630
00:31:06,240 --> 00:31:06,960
of their lives now.

631
00:31:07,200 --> 00:31:09,920
Speaker 1: And if you want to understand the asn QI process,

632
00:31:10,000 --> 00:31:11,880
go order something on Amazon.

633
00:31:11,519 --> 00:31:14,880
Speaker 2: Yeah, because it doesn't immediately it says, okay, I've taken

634
00:31:14,920 --> 00:31:17,039
your order. But then if thank you for your order. Yeah,

635
00:31:17,480 --> 00:31:19,279
you know, we learned this in e commerce a long

636
00:31:19,319 --> 00:31:21,519
time ago. Just feed them emails. Hey, you know now

637
00:31:21,519 --> 00:31:23,519
I send you emails I got your order, yeah, and

638
00:31:23,519 --> 00:31:26,880
I'm like, hey, I picked your order, We've packed your order,

639
00:31:26,960 --> 00:31:29,279
we're shipping your order. Here's a tracking number like people

640
00:31:29,559 --> 00:31:32,200
like that. But you said it's a sense of progress.

641
00:31:32,559 --> 00:31:35,359
Speaker 4: You still kind of need and a sink part of

642
00:31:35,400 --> 00:31:38,039
the ordering as well, because you need you need to create.

643
00:31:38,279 --> 00:31:41,519
In my opinion, you need to create the order synchronously

644
00:31:41,599 --> 00:31:44,200
in a sort of a created state, so that when

645
00:31:44,200 --> 00:31:47,759
you refresh your orders page, it actually finds the thing.

646
00:31:47,880 --> 00:31:51,200
Even so, it becomes a combination of a synchronous thing

647
00:31:51,240 --> 00:31:53,200
that goes back and says here is your order ID,

648
00:31:53,920 --> 00:31:56,079
and then a message that goes away and does the

649
00:31:56,119 --> 00:31:59,119
rest of it. That makes that makes sense, But there's

650
00:31:59,119 --> 00:32:01,559
still a sink a part in that, because if you

651
00:32:01,599 --> 00:32:03,680
were just to say at order and then you go

652
00:32:03,720 --> 00:32:05,640
to your orders page and there's no order in there

653
00:32:05,720 --> 00:32:06,799
that says that you have made.

654
00:32:06,680 --> 00:32:09,039
Speaker 2: It, it should it should definitely appear the fact the

655
00:32:09,079 --> 00:32:11,319
issues that I have received the order. That's as much

656
00:32:11,319 --> 00:32:13,519
as I'm saying, I've just gotten your message, I haven't

657
00:32:13,519 --> 00:32:14,279
done anything else.

658
00:32:14,599 --> 00:32:19,640
Speaker 1: And that's a fairly low low costing, low cost API call,

659
00:32:19,720 --> 00:32:20,160
isn't it.

660
00:32:20,160 --> 00:32:23,680
Speaker 2: It's like it's an insert and inserts are easy.

661
00:32:24,000 --> 00:32:26,839
Speaker 1: Yeah, it's an insert. Right, here's the customer ID, here's

662
00:32:26,880 --> 00:32:29,559
the order I D here's the data and time, and

663
00:32:29,599 --> 00:32:32,880
here are the products. Boom put it in the database.

664
00:32:33,279 --> 00:32:34,920
Speaker 2: I mean in the end, all you're doing is showing

665
00:32:34,960 --> 00:32:35,920
the chain of messages.

666
00:32:36,119 --> 00:32:37,359
Speaker 1: Yeah, so it is.

667
00:32:37,519 --> 00:32:39,160
Speaker 2: I think it's more to do with the way we

668
00:32:39,319 --> 00:32:43,559
need to think to separate the flow of data from

669
00:32:43,599 --> 00:32:47,119
the flow of the product. But you know, we fall

670
00:32:47,160 --> 00:32:49,119
back on the e commerce scenario because the async works

671
00:32:49,119 --> 00:32:51,599
really well there. I think it's far more challenging and

672
00:32:51,720 --> 00:32:55,119
people understand it working in an info worker space with

673
00:32:55,200 --> 00:32:57,799
some kind of custom app where you want to use

674
00:32:57,799 --> 00:33:01,680
asynchronosy for performance, but it does frustrate the user to

675
00:33:01,759 --> 00:33:04,240
see when does my changes actually appear?

676
00:33:04,480 --> 00:33:07,519
Speaker 4: Yeah, but there's also scenarios where asynchros doesn't work at

677
00:33:07,559 --> 00:33:10,720
all like I've used I've worked a little bit with

678
00:33:11,000 --> 00:33:17,640
online auctioning. Asynchronous auction bids is a bad IDEA.

679
00:33:16,759 --> 00:33:20,039
Speaker 2: Little tricky, little tricky. Yeah, And Chris, we got interrupt

680
00:33:20,039 --> 00:33:22,480
for one moment with this very important set of messages,

681
00:33:26,519 --> 00:33:28,920
and we're back is dot net Rocks. I'm Richard Campbell.

682
00:33:28,960 --> 00:33:32,319
Let's call Franklin. Hey talking to Frank Chris Kluck and

683
00:33:32,480 --> 00:33:34,839
a little a little bit about this whole cloud native thing,

684
00:33:34,839 --> 00:33:37,519
and hey, if these ads aren't something you want, you

685
00:33:37,559 --> 00:33:39,400
can go to Patreon and sign up and get an

686
00:33:39,400 --> 00:33:41,559
ad free version of Dona.

687
00:33:41,440 --> 00:33:44,599
Speaker 1: Rocks absolutely five bucks a month Patreon dot dot net,

688
00:33:44,680 --> 00:33:45,480
rocks dot com.

689
00:33:45,519 --> 00:33:48,440
Speaker 2: Should we talk about Aspire? How does Aspire fitness equation?

690
00:33:48,559 --> 00:33:48,880
Speaker 1: Chris?

691
00:33:50,279 --> 00:33:53,680
Speaker 4: Yeah, So aspires is an interesting thing because it's actually

692
00:33:54,119 --> 00:33:55,240
a few different things.

693
00:33:56,000 --> 00:33:58,000
Speaker 2: How do you define it? Because that seems to be

694
00:33:58,079 --> 00:33:59,640
the magic term these days.

695
00:33:59,759 --> 00:34:03,079
Speaker 4: Yeah, I know, so I have a fairly pragmatic view

696
00:34:03,079 --> 00:34:05,599
on that as well. I like being pragmatic, and so,

697
00:34:06,039 --> 00:34:08,679
first of all, the spire is three parts in my opinion,

698
00:34:08,760 --> 00:34:10,920
so you are actually kind of for but I ignore

699
00:34:10,960 --> 00:34:15,079
the fourth because I don't like it. Very pragmatic view

700
00:34:15,119 --> 00:34:20,280
on things. The first part is orchestration, so for dev time,

701
00:34:20,599 --> 00:34:24,480
it gives you orchestration of services on your local machine.

702
00:34:24,519 --> 00:34:29,239
So basically you get to encode, define what your set

703
00:34:29,320 --> 00:34:31,440
up looks like, what services you have. If you have

704
00:34:31,800 --> 00:34:34,480
seql server and read this, and you have three APIs

705
00:34:34,559 --> 00:34:37,280
and a web app and a few things like that, so.

706
00:34:37,239 --> 00:34:40,199
Speaker 2: It's sort of set up to an infrastructures to service implement.

707
00:34:40,480 --> 00:34:44,159
Speaker 4: Yeah, and you basically it's implemented the cool way because

708
00:34:44,159 --> 00:34:48,159
it gives you an actual project in visual studio and

709
00:34:48,199 --> 00:34:50,159
then you set that as your startup and you start

710
00:34:50,159 --> 00:34:53,440
your project, and then that project launches all the other

711
00:34:53,519 --> 00:34:57,320
projects for you and make sure that they can organize

712
00:34:57,360 --> 00:34:59,559
as the service discovery and making sure that it starts

713
00:34:59,599 --> 00:35:02,719
containing that needs to be running and all of that stuff.

714
00:35:02,840 --> 00:35:04,840
Speaker 2: So this does feel like that pat you would do

715
00:35:04,880 --> 00:35:06,840
all this by hand. Now you don't need to.

716
00:35:07,159 --> 00:35:10,320
Speaker 4: Yeah, I know people say that, oh, you can do

717
00:35:10,360 --> 00:35:12,880
that with doctor composed, and yes you can. You can

718
00:35:12,920 --> 00:35:14,679
do all of that with doctor composed. But there's a

719
00:35:14,719 --> 00:35:17,440
problem with doctor composed in this case, and that's the well,

720
00:35:17,480 --> 00:35:19,599
it's not a problem, but it makes it harder. And

721
00:35:19,639 --> 00:35:21,920
also the cool thing about this is that it goes

722
00:35:21,960 --> 00:35:24,719
straight into debugging for all of your projects, so you

723
00:35:24,719 --> 00:35:27,559
don't have to mess about with getting debugging to work

724
00:35:27,599 --> 00:35:29,639
together with a bunch of doctor composed stuff and all

725
00:35:29,639 --> 00:35:32,960
of that. It's just it just works on your local machine.

726
00:35:33,000 --> 00:35:37,519
And I enjoying it a lot. It's very opinionated, definitely,

727
00:35:38,679 --> 00:35:41,000
and it basically it does run up a bunch of

728
00:35:41,079 --> 00:35:43,079
containers on your machine and it does set up a

729
00:35:43,079 --> 00:35:46,360
bunch of yar reverse proxy work and figures out ports

730
00:35:46,360 --> 00:35:49,760
on your machine and stuff like that, and everything you

731
00:35:49,840 --> 00:35:52,320
put in can then basically expose a port or a

732
00:35:52,320 --> 00:35:54,880
connection string. And once a thing exposes a port or

733
00:35:54,880 --> 00:35:57,400
a connection string, you can then say that service A

734
00:35:57,639 --> 00:36:00,199
depends on service B, and then automatically a service A

735
00:36:00,440 --> 00:36:04,400
gets the correct port or the correct connection stream for

736
00:36:04,599 --> 00:36:06,480
service A and things like that, and.

737
00:36:06,400 --> 00:36:08,719
Speaker 2: That service discovery pattern is a pain in the butt

738
00:36:08,760 --> 00:36:10,800
to code by hand, but if someone's got to genet

739
00:36:10,840 --> 00:36:13,800
for me, then thanks very much. But it does mean

740
00:36:14,199 --> 00:36:15,679
naturally resilient.

741
00:36:15,440 --> 00:36:18,320
Speaker 4: Yes, and it's really cool because it just based it's

742
00:36:18,360 --> 00:36:21,679
based on environment variables. So I didn't actually know that.

743
00:36:21,880 --> 00:36:23,599
But there is a there's a new Git package that

744
00:36:23,639 --> 00:36:27,320
you can install on any core application that basically turns

745
00:36:27,360 --> 00:36:31,719
your your HP client for example, or your g RPC client,

746
00:36:31,800 --> 00:36:35,320
so that if you give it your I, it can

747
00:36:35,360 --> 00:36:37,679
go and look up that your I somewhere else than DNS.

748
00:36:37,719 --> 00:36:40,719
So the default implementation is DNS, but what they are

749
00:36:40,760 --> 00:36:43,719
implementing is a service discovery thing that goes and look

750
00:36:43,760 --> 00:36:46,159
at your look up and then goes, oh, is there

751
00:36:46,199 --> 00:36:49,440
an environment variable with a pre defined format that gives

752
00:36:49,440 --> 00:36:51,880
me actual URL, So you go, I want to talk

753
00:36:51,920 --> 00:36:54,880
to h GPS cal and slash lash products right, and

754
00:36:54,920 --> 00:36:57,679
then instead of going products as a DNS resolution, it

755
00:36:57,719 --> 00:37:01,559
goes and looks at an environment variable Aspire has injected

756
00:37:01,599 --> 00:37:02,800
for you, and that just works.

757
00:37:03,039 --> 00:37:04,159
Speaker 1: Yeah, that's nice, which.

758
00:37:04,000 --> 00:37:06,400
Speaker 4: Also means that you can use that in production as

759
00:37:06,400 --> 00:37:08,199
well if you want to. Yeah, because older A Suddenly,

760
00:37:08,480 --> 00:37:10,679
as long as the environment variable is there, you're good

761
00:37:10,719 --> 00:37:10,880
to go.

762
00:37:11,480 --> 00:37:13,840
Speaker 2: This is the stuff that makes this admits happy folks

763
00:37:13,920 --> 00:37:15,880
developers too, the fact that I can go, oh, we

764
00:37:15,920 --> 00:37:17,280
need to move that, and we need to move it

765
00:37:17,360 --> 00:37:20,199
right now, and I can just change that environment variable

766
00:37:20,199 --> 00:37:23,360
and the app continues running. Just can't find the old one,

767
00:37:23,400 --> 00:37:26,440
redoes discovery, finds a new one and goes, yeah, no

768
00:37:26,599 --> 00:37:29,840
rebooting servers. You know, that's amazing.

769
00:37:29,880 --> 00:37:32,440
Speaker 1: So I deployed my app to Azure and get this

770
00:37:32,559 --> 00:37:36,360
error message that it can't find HDPS local host colon

771
00:37:36,559 --> 00:37:39,719
five three nine seven and I don't know what to

772
00:37:39,800 --> 00:37:41,960
do about that, and I need to open a tech

773
00:37:42,000 --> 00:37:42,800
support ticket.

774
00:37:43,039 --> 00:37:47,559
Speaker 4: Yes. Yeah, So that's that's kind of one part of

775
00:37:47,639 --> 00:37:51,360
and that's why I really enjoy Aspire because it makes

776
00:37:51,440 --> 00:37:54,119
that very easy for me to get multiple services, And

777
00:37:54,440 --> 00:37:57,599
even if you're just running and I spent that web

778
00:37:57,920 --> 00:38:01,639
with a Sequel database or postcars database or something like that,

779
00:38:01,760 --> 00:38:04,679
or you just read this, it makes sense to connect

780
00:38:04,679 --> 00:38:07,599
that anyway, because it also means that it can actually

781
00:38:07,639 --> 00:38:10,199
spin up your sequel server as a container for you instead,

782
00:38:10,239 --> 00:38:12,280
So if you don't want to have seql server installed,

783
00:38:12,320 --> 00:38:14,639
it will download and run the container through Doctor or

784
00:38:14,719 --> 00:38:20,119
Podman for you, which is really really nice. So I'd

785
00:38:20,199 --> 00:38:23,280
use it for basically anything I can think of. The

786
00:38:23,400 --> 00:38:29,320
second part is I guess the tooling. You do get

787
00:38:29,360 --> 00:38:31,760
a bit of tooling in Vicious Studio that helps you,

788
00:38:31,840 --> 00:38:36,480
but honestly, the tooling is minute. It When you add

789
00:38:36,519 --> 00:38:41,159
a new project into an Aspire enabled solution, it basically

790
00:38:41,159 --> 00:38:44,840
asked you during the create new project part, It says

791
00:38:45,159 --> 00:38:47,400
do you want to enroll this in Aspire? And you

792
00:38:47,480 --> 00:38:51,079
go yes, and it basically configures Aspire for you with

793
00:38:51,239 --> 00:38:56,079
like two lines of code. Not a huge deal. It

794
00:38:56,079 --> 00:38:59,480
does give you some extra options of like add Aspire

795
00:38:59,519 --> 00:39:02,960
component and a few little menu items like that, but

796
00:39:03,079 --> 00:39:05,719
nothing huge from a tooling point of view in my opinion.

797
00:39:07,280 --> 00:39:11,719
And then the third part that I like is Aspire components.

798
00:39:12,280 --> 00:39:17,559
So Aspire components are basically nugit packages, but they're defined

799
00:39:17,599 --> 00:39:21,599
to work with Aspire, which means that they actually have

800
00:39:22,280 --> 00:39:26,840
open telemetry for example, pre configured and sensible defaults for

801
00:39:27,079 --> 00:39:30,360
Azure or sorry, cloud native stuff configured. So if you

802
00:39:30,400 --> 00:39:32,599
add sql server, for example, say that you want to

803
00:39:32,639 --> 00:39:36,239
use antiity framework with sql server, if you do that

804
00:39:36,280 --> 00:39:39,400
through the Aspire component, it will make sure to set

805
00:39:39,480 --> 00:39:43,400
up retry policies and things like that for your sequel connections.

806
00:39:43,840 --> 00:39:47,199
It will add I think context pooling for your dB context,

807
00:39:48,079 --> 00:39:51,039
and it will also configure so that all of your

808
00:39:51,639 --> 00:39:54,599
sequel queries and all of that goes into open telemetry

809
00:39:54,679 --> 00:39:57,400
so you can get telemetry on your database connections and

810
00:39:57,440 --> 00:39:59,079
things like that, and it just works out.

811
00:39:58,960 --> 00:39:59,440
Speaker 3: In the box.

812
00:39:59,639 --> 00:40:03,199
Speaker 2: Nice. It's just cloud native defaults, yes.

813
00:40:03,519 --> 00:40:06,239
Speaker 4: And it's all something you can configure on your own.

814
00:40:06,320 --> 00:40:09,840
But honestly, how many of you know how to configure

815
00:40:09,880 --> 00:40:14,800
the HTTP client correctly for a cloud native solution. It's like,

816
00:40:14,920 --> 00:40:16,559
there are a few things that you need to set

817
00:40:16,639 --> 00:40:20,679
up Aspire component versions, and Aspire basically does all of

818
00:40:20,719 --> 00:40:23,360
that sensible defaults.

819
00:40:22,679 --> 00:40:25,679
Speaker 2: For you, yes, right every time?

820
00:40:25,760 --> 00:40:26,079
Speaker 1: Please?

821
00:40:29,000 --> 00:40:30,599
Speaker 4: And then I guess the last thing, the one that

822
00:40:30,639 --> 00:40:36,199
I dislike is there is a deployment story, so you

823
00:40:36,239 --> 00:40:40,159
can you can form your Aspire project, go and get

824
00:40:40,360 --> 00:40:45,360
a manifest file that basically defines how your things are connected,

825
00:40:45,480 --> 00:40:48,519
which is adjacent file. I think that says that I

826
00:40:48,599 --> 00:40:51,199
have some compute and I have some environment variables and

827
00:40:51,199 --> 00:40:53,400
they point to other compute blah blah blah, and then

828
00:40:53,840 --> 00:40:57,320
that manifest can then be used by other tools to

829
00:40:57,480 --> 00:41:00,119
generate and deploy environment. So, for example, if if you

830
00:41:00,199 --> 00:41:04,000
want to deploy your Aspire solution to Azure, right, you

831
00:41:04,039 --> 00:41:07,199
can go to the AZD and say ACD up, give

832
00:41:07,199 --> 00:41:11,599
it a Spire project. ACD will generate the manifest and

833
00:41:11,639 --> 00:41:14,400
based on the manifest, generate a bunch of bicyp files

834
00:41:14,480 --> 00:41:17,840
or armed template things that will go and create an

835
00:41:18,159 --> 00:41:21,519
environment for you in Azure and deploy your application to

836
00:41:21,599 --> 00:41:24,480
an Azure container app set up in Azure for you automatically.

837
00:41:24,519 --> 00:41:27,280
Speaker 1: Okay, you do the same in Polumi or terror Form

838
00:41:27,480 --> 00:41:28,079
for example.

839
00:41:28,159 --> 00:41:31,000
Speaker 4: It's it's well, the thing is you don't see any

840
00:41:31,079 --> 00:41:33,800
of the arm stuff underneath is just magically generated by

841
00:41:33,840 --> 00:41:35,599
the manifest.

842
00:41:35,800 --> 00:41:36,440
Speaker 1: Right. Yeah.

843
00:41:36,480 --> 00:41:39,239
Speaker 2: I would also argue you're the one person most qualified

844
00:41:39,239 --> 00:41:43,440
to criticize that because you've written all those different forms,

845
00:41:43,480 --> 00:41:47,800
like you strongly opinionated I how Coach would be built.

846
00:41:48,119 --> 00:41:49,920
Speaker 4: The thing is, I really don't care too much about

847
00:41:49,920 --> 00:41:51,920
the code as such. That the thing that irks me

848
00:41:51,960 --> 00:41:56,000
about it is that people have now spent years upon

849
00:41:56,199 --> 00:42:00,000
years telling us that as professional developers, friends don't let

850
00:42:00,119 --> 00:42:04,719
friends right click publish. And having spent a couple of

851
00:42:04,800 --> 00:42:08,920
years doing develops and building both Terra forum and Polumi

852
00:42:09,039 --> 00:42:12,480
and BICEP templates for a bunch of as your resources,

853
00:42:13,559 --> 00:42:16,679
the idea of going ACD up and then basically have

854
00:42:16,760 --> 00:42:20,159
an environment generated for me by with the faults in there,

855
00:42:20,880 --> 00:42:23,920
I don't know. It feels like a command line version

856
00:42:23,960 --> 00:42:27,039
of right click publish, which I'm not a big fan

857
00:42:27,119 --> 00:42:31,480
of having. That said, you can also go and get

858
00:42:31,480 --> 00:42:34,119
the bicsep files from your thing, so you can there's

859
00:42:34,159 --> 00:42:35,039
a command, it's.

860
00:42:34,880 --> 00:42:37,199
Speaker 2: Just a generator. You don't have to die yes no.

861
00:42:37,440 --> 00:42:39,960
Speaker 4: So you can go and ask for the biceps specifically,

862
00:42:40,239 --> 00:42:41,719
and then you can go and look at the bicet

863
00:42:41,719 --> 00:42:43,800
files and you can make modifications to them. But every

864
00:42:43,800 --> 00:42:46,920
time you make a change to your Aspire project, you're

865
00:42:46,960 --> 00:42:49,000
going to have to create new biset templates and you're

866
00:42:49,039 --> 00:42:51,280
going to have to reapply all of your modifications that

867
00:42:51,280 --> 00:42:55,480
you added to them. I like the idea of giving

868
00:42:55,480 --> 00:42:58,599
me a foundation so that I know what environment variables

869
00:42:58,639 --> 00:43:01,320
I need to set up and what it needs to run.

870
00:43:01,360 --> 00:43:04,400
But I want to do it myself. But that's because

871
00:43:04,480 --> 00:43:07,000
I'm old school and meticulous in the way that I

872
00:43:07,000 --> 00:43:07,760
want my things to work.

873
00:43:07,840 --> 00:43:11,559
Speaker 1: Did you use Octopus deploy back in the day? Are

874
00:43:11,599 --> 00:43:13,440
you still I have still like it?

875
00:43:13,599 --> 00:43:17,199
Speaker 4: I have used Octopus deploy back in the day. I'm

876
00:43:17,239 --> 00:43:20,760
torn because I've always come in with it already pre configured,

877
00:43:20,800 --> 00:43:24,519
and the systems I've been involved in with Octopus are

878
00:43:24,559 --> 00:43:28,440
a bit too complicated. There's been lots of the pipelines

879
00:43:28,440 --> 00:43:30,360
and this thing does that thing, and it deploys this

880
00:43:30,440 --> 00:43:32,519
thing here, and there are four different versions of this

881
00:43:32,519 --> 00:43:34,840
thing over here, and it was hard to figure out.

882
00:43:34,880 --> 00:43:38,159
I think Octopus is a very powerful tool and can

883
00:43:38,239 --> 00:43:42,320
do more than your regular as your pipe develps pipeline

884
00:43:42,360 --> 00:43:48,039
or gettub pipeline as such. But yeah, I guess that

885
00:43:48,159 --> 00:43:51,079
the acd up thing tries to make it as simple

886
00:43:51,119 --> 00:43:53,800
as possible, to make the simplest release possible. So if

887
00:43:53,800 --> 00:43:56,000
you have a little blog or a little personal website.

888
00:43:56,199 --> 00:43:58,639
It can do it for you. But honestly, if I'm

889
00:43:58,639 --> 00:44:00,559
doing something that simple, I.

890
00:44:00,360 --> 00:44:03,239
Speaker 2: Don't need this probably not. Yeah, I mean it's a

891
00:44:03,239 --> 00:44:04,840
problem is when you go simple, it's like, why are

892
00:44:04,880 --> 00:44:06,440
you worried about being cloud native? You could have just

893
00:44:06,480 --> 00:44:08,559
been in app service. As soon as you're complex enough,

894
00:44:08,639 --> 00:44:10,920
this is a struggle yep. And I don't know, as

895
00:44:10,920 --> 00:44:14,199
soon as you're in a significant environment with a team

896
00:44:14,280 --> 00:44:18,239
that's working on it, it's not up to you to

897
00:44:18,440 --> 00:44:22,039
run those deployment files. No, I mean I would suggest

898
00:44:22,199 --> 00:44:25,440
you generate them and then you hand them to the

899
00:44:25,440 --> 00:44:28,000
service engineers who now can look at them and say,

900
00:44:28,000 --> 00:44:30,639
what's the difference is from the one we're currently running,

901
00:44:30,679 --> 00:44:32,400
like and sort of can talk through it like it's

902
00:44:32,440 --> 00:44:35,440
a talking point for what the new deployment looks like. Yeah,

903
00:44:35,559 --> 00:44:37,840
but should probably never directly run them.

904
00:44:38,119 --> 00:44:40,480
Speaker 4: Or if somebody can build a framework on top of

905
00:44:40,559 --> 00:44:43,519
the manifest so that I can plug in and say

906
00:44:43,559 --> 00:44:46,079
what I want to generate based on the manifest, because

907
00:44:46,159 --> 00:44:49,559
I know that AWS has done a bunch of work

908
00:44:49,639 --> 00:44:52,000
for as Fire as well, so it's not asture only.

909
00:44:52,400 --> 00:44:54,400
And as far as I understand, they are going to

910
00:44:54,480 --> 00:44:56,800
have where they probably already have a way to run

911
00:44:56,840 --> 00:45:01,039
the manifest to generate the AWS resources, so if I

912
00:45:01,039 --> 00:45:03,400
should plug into that. Yeah, so if I could plug

913
00:45:03,440 --> 00:45:06,119
into that and find a way for my develops team

914
00:45:06,159 --> 00:45:08,880
to basically say, okay, so you need some compute, but

915
00:45:08,920 --> 00:45:10,960
we're not running contained reps, I'm going to go and

916
00:45:11,000 --> 00:45:13,920
create AKS pods or I'm going to go and create

917
00:45:13,960 --> 00:45:17,079
a web app environment or whatever for it. But currently

918
00:45:17,159 --> 00:45:19,760
there is no I haven't seen anything like that, but

919
00:45:19,800 --> 00:45:23,079
I think early days so hopefully there will be other

920
00:45:23,159 --> 00:45:26,920
deployment scenarios that can use the manifest file to do

921
00:45:26,960 --> 00:45:30,400
a more sort of configured deployment of what you want.

922
00:45:30,519 --> 00:45:32,239
Speaker 2: Yeah, if I think if I were on the inside

923
00:45:32,239 --> 00:45:34,199
of this, I would want those files, but I'd be

924
00:45:34,320 --> 00:45:38,440
diffing them against the existent deploy as a talking point

925
00:45:38,480 --> 00:45:40,239
for how are we utilizing cloud? Like now I can

926
00:45:40,280 --> 00:45:43,199
start making estimates for your utilization like that sort of thing,

927
00:45:43,519 --> 00:45:46,400
and then ask questions about why stuff has changed. Although

928
00:45:46,480 --> 00:45:48,400
arguably half the time the devs are going to go

929
00:45:48,480 --> 00:45:51,159
I don't know, because I just that file is just

930
00:45:51,199 --> 00:45:54,840
magically made for me, right yep. But I associate your

931
00:45:54,880 --> 00:45:58,440
concern there that it is odds are that's going to

932
00:45:58,480 --> 00:46:00,760
work the first time you do it, it'll never work again.

933
00:46:00,840 --> 00:46:04,880
Speaker 4: Yeah, I think there's a risk of that. Yes, and

934
00:46:05,119 --> 00:46:07,519
as I said, it's early, it might get a lot better.

935
00:46:07,639 --> 00:46:12,280
But and also to be honest, once your product matures,

936
00:46:12,440 --> 00:46:15,559
the infrastructure might not change as much Anymore's like at

937
00:46:15,599 --> 00:46:18,079
the beginning of the project, you get new service twitch,

938
00:46:18,280 --> 00:46:20,880
you get yeah, there's oh we need that. I read

939
00:46:20,880 --> 00:46:22,519
this cash as well, and oh, by the way, we

940
00:46:22,559 --> 00:46:24,639
need a couple of cues and we need But after

941
00:46:24,679 --> 00:46:27,039
a while, I think from what I've seen that the

942
00:46:27,199 --> 00:46:30,800
environment tends to stabilize and you you change the features.

943
00:46:30,800 --> 00:46:30,920
Speaker 1: You know.

944
00:46:30,960 --> 00:46:33,679
Speaker 2: What it reminds me of is sql compare back in

945
00:46:33,679 --> 00:46:37,280
the day, Yeah, right, where whereas the dev now I

946
00:46:37,320 --> 00:46:39,440
could use tools like you compare her to say, here's

947
00:46:39,519 --> 00:46:41,119
the delta of the changes I need to make to

948
00:46:41,159 --> 00:46:44,800
the database for the new version, and no DBA like that.

949
00:46:45,480 --> 00:46:47,239
But I'd at least give them the script so they

950
00:46:47,239 --> 00:46:50,119
could see what the change, what we're proposing for the changes,

951
00:46:50,320 --> 00:46:53,199
as opposed to here's the new database. Figure it out

952
00:46:53,280 --> 00:46:55,679
like you save them a lot of work actually, but

953
00:46:55,800 --> 00:46:58,760
it was taken on slowly, like it was a battle

954
00:46:59,079 --> 00:47:02,840
to get that. But the only thing I can say

955
00:47:02,840 --> 00:47:06,159
in favor of it was sometimes you could revert like that,

956
00:47:06,199 --> 00:47:09,880
you could apply those changes in reverse, and normally databases

957
00:47:09,920 --> 00:47:12,039
we could never revert. But the fact that even occasionally

958
00:47:12,119 --> 00:47:17,239
became possible was an astonishing thing. And I wonder, I mean,

959
00:47:17,280 --> 00:47:19,280
this is less of that problem because you're not persisting

960
00:47:19,320 --> 00:47:24,079
data from instance to instance per se, but eventually that

961
00:47:24,400 --> 00:47:27,239
those engineers are getting overwhelmed with changes anyway, So anything

962
00:47:27,280 --> 00:47:30,280
that makes it easier for them to at least see

963
00:47:30,320 --> 00:47:31,559
the changes and move ahead.

964
00:47:31,840 --> 00:47:34,719
Speaker 4: Yeah, Yeah, I guess that's kind of the develops way right.

965
00:47:34,840 --> 00:47:37,079
As a developer, I should take an interest in the

966
00:47:37,480 --> 00:47:40,079
part as well and work with the OPS team to

967
00:47:40,159 --> 00:47:42,920
make their lives as easy as possible. And if we

968
00:47:42,960 --> 00:47:45,119
can do that nicely, that would be cool.

969
00:47:45,239 --> 00:47:47,360
Speaker 2: Well, and more importantly, with no attention by me because

970
00:47:47,360 --> 00:47:48,039
it's automated.

971
00:47:48,639 --> 00:47:51,960
Speaker 4: Yeah, but I guess there's some work to be done

972
00:47:52,000 --> 00:47:55,559
on the manifest for you. For now, I keep saying

973
00:47:55,559 --> 00:47:58,519
that I believe that Aspire is awesome. It's part of

974
00:47:58,519 --> 00:48:01,960
my new workshop that I'm looking on. I'm using it

975
00:48:02,000 --> 00:48:04,960
for everything in there, but I'm not doing anything with

976
00:48:05,000 --> 00:48:08,320
the deployment because it's well in fact, it deploys to

977
00:48:08,400 --> 00:48:10,840
container apps as well. And I've already told you what

978
00:48:10,920 --> 00:48:12,079
I think about Yeah.

979
00:48:11,920 --> 00:48:13,880
Speaker 2: Well it said there's that you get that other problem

980
00:48:14,239 --> 00:48:17,039
is h and they ought to have more options there,

981
00:48:17,119 --> 00:48:19,360
like could I deploy this as functions? Could I deploy

982
00:48:19,400 --> 00:48:21,480
this as as web afric containers.

983
00:48:21,880 --> 00:48:26,400
Speaker 1: So Chris to you is to Aspire a green field

984
00:48:26,480 --> 00:48:30,039
only no tool or is it something that you can

985
00:48:30,159 --> 00:48:31,800
retrofit into your existing app?

986
00:48:31,960 --> 00:48:34,920
Speaker 4: You can definitely retrofit. That's actually part of the tooling

987
00:48:34,920 --> 00:48:37,760
in Visual Studio for Aspire is that if you have

988
00:48:37,800 --> 00:48:40,199
an existing solution, you can right click a project and

989
00:48:40,239 --> 00:48:42,840
say AD or Aspire Orchestration spiify.

990
00:48:43,719 --> 00:48:44,599
Speaker 1: I think that's.

991
00:48:46,719 --> 00:48:50,599
Speaker 4: AD Aspire Orchestration and it basically if you do that

992
00:48:50,639 --> 00:48:53,280
in a in a brown field project, it will it

993
00:48:53,320 --> 00:48:56,320
will create the Aspire app posts for you, It will

994
00:48:56,320 --> 00:48:58,960
create the service default project that you also need, and

995
00:48:59,000 --> 00:49:00,840
it will plug it in for you so you can start.

996
00:49:00,880 --> 00:49:03,920
So you can definitely add it to any solution more

997
00:49:04,039 --> 00:49:06,679
or less that's out there. And a really cool feature

998
00:49:06,760 --> 00:49:08,840
is that it can also being that it can run

999
00:49:08,920 --> 00:49:13,760
not just projects or containers. It can go and run

1000
00:49:13,840 --> 00:49:16,400
NPM project for example. So if you're running NPM in

1001
00:49:16,480 --> 00:49:19,159
the front end for React stuff, you can go and

1002
00:49:19,280 --> 00:49:21,639
tell it that, hey, I have an NPM project is

1003
00:49:21,719 --> 00:49:24,480
located in this folder, go and run that for me. Hey,

1004
00:49:24,519 --> 00:49:28,679
I have a pre existing image that's in Azure or ACR,

1005
00:49:28,880 --> 00:49:31,320
or I have locally run that for me. Or by

1006
00:49:31,320 --> 00:49:33,719
the way, I have a project over here that has

1007
00:49:33,760 --> 00:49:36,280
a doctor file. So go and build an image for

1008
00:49:36,360 --> 00:49:39,360
me and run that image for me automatically. Because well,

1009
00:49:39,400 --> 00:49:40,920
as soon as you do that, you can't debug it.

1010
00:49:40,960 --> 00:49:42,559
But if you just want to run it, for example,

1011
00:49:42,840 --> 00:49:45,159
then you can go and do that. So for example,

1012
00:49:45,159 --> 00:49:48,039
in my course, I use I have a UI that's

1013
00:49:48,079 --> 00:49:51,079
already built, which is an MPM app, and I run

1014
00:49:51,119 --> 00:49:54,000
that as a Docker file, and then I run Identity

1015
00:49:54,039 --> 00:49:57,320
Server as a supporting thing, as just a pre existing

1016
00:49:57,360 --> 00:49:59,880
image as well. So all of these things just plug

1017
00:49:59,880 --> 00:50:01,719
in nicely, and all of a sudden they start talking

1018
00:50:01,719 --> 00:50:02,920
to each other, which is really cool.

1019
00:50:03,119 --> 00:50:07,440
Speaker 1: So we have a customer that has a Blazer server

1020
00:50:07,480 --> 00:50:12,920
application and they wanted to aspire ify their existing app,

1021
00:50:13,159 --> 00:50:15,719
and so one of our guys did the work and

1022
00:50:15,840 --> 00:50:19,519
they found that there was you know, the typical stuff

1023
00:50:19,559 --> 00:50:23,519
when you're doing migrations or whatever that Aspire kind of

1024
00:50:24,119 --> 00:50:28,760
over wrote, not overwrote, but re implemented things that were

1025
00:50:28,760 --> 00:50:31,639
already implemented. And so now you have namespace clashes and

1026
00:50:31,679 --> 00:50:34,199
stuff like that, and you have to make decisions if

1027
00:50:34,199 --> 00:50:37,320
you're going to continue using your code or you're going

1028
00:50:37,360 --> 00:50:41,159
to use the Aspire code. And I can't remember exactly

1029
00:50:41,199 --> 00:50:45,039
what that was, but I remember that was a sticking point.

1030
00:50:45,159 --> 00:50:46,559
It got fixed, of course, but.

1031
00:50:46,840 --> 00:50:50,000
Speaker 4: Yeah, I think there might be there might be jagged

1032
00:50:50,119 --> 00:50:52,519
just when you start doing it on ground films for

1033
00:50:52,559 --> 00:50:56,199
obvious reasons. But I think the goal for it is

1034
00:50:56,280 --> 00:50:58,480
to be as much as possible out of the way

1035
00:50:58,559 --> 00:51:01,280
of your actual application code. Even though as I said,

1036
00:51:01,320 --> 00:51:04,039
there are Aspire components that you want to use. So

1037
00:51:04,039 --> 00:51:05,239
even if you do if you do it on a

1038
00:51:05,239 --> 00:51:08,079
brand field, for example, you do want to go and

1039
00:51:08,159 --> 00:51:11,039
change the way that you register your dB context for

1040
00:51:11,320 --> 00:51:13,960
anti the framework, for example, because the one that comes

1041
00:51:13,960 --> 00:51:17,559
through Aspire has the the open telemeter stuff plugged in,

1042
00:51:17,599 --> 00:51:20,079
for example. And you do want if you use Sequel

1043
00:51:20,320 --> 00:51:22,679
connections for example, there's a package for that, and if

1044
00:51:22,679 --> 00:51:24,760
you're using reddis you might want to use the reddis

1045
00:51:25,639 --> 00:51:29,239
core or Aspire component and so on. So there's a

1046
00:51:29,239 --> 00:51:32,320
bit of a walkthrough of upgrading your things, but I

1047
00:51:32,519 --> 00:51:36,400
definitely think it could be worth it for existing projects

1048
00:51:36,440 --> 00:51:39,280
as well, just so that it makes the dev experience

1049
00:51:39,320 --> 00:51:41,679
better because the idea of being able to press F five,

1050
00:51:42,360 --> 00:51:44,119
run the thing, and oh yeah, I forgot to mention.

1051
00:51:44,239 --> 00:51:46,559
You do get an aspired dashboard as well, so when

1052
00:51:46,599 --> 00:51:49,880
you start the application, it starts up a nice uy

1053
00:51:50,039 --> 00:51:53,320
that shows you what services you have, if they're online

1054
00:51:53,400 --> 00:51:55,760
or offline, what ports they're on. You get all the

1055
00:51:55,840 --> 00:51:59,039
logs in one place, filtered by the different applications. You

1056
00:51:59,079 --> 00:52:04,280
get structured logging, you get open telemetry, tracing support, and

1057
00:52:04,360 --> 00:52:07,760
things like that. So it's just that is worth so

1058
00:52:07,920 --> 00:52:10,199
much to me of being able to go and say, oh,

1059
00:52:10,320 --> 00:52:12,960
something went wrong when I talk to Identity server. Sweet,

1060
00:52:12,960 --> 00:52:15,480
I'm just going to look at the logs specifically for

1061
00:52:15,599 --> 00:52:18,559
Identity server, and it's easy for me to go and say, oh,

1062
00:52:18,599 --> 00:52:20,519
that's the thing that went wrong in Identity server. I

1063
00:52:20,519 --> 00:52:22,199
need to go and reconfigure this for example.

1064
00:52:22,280 --> 00:52:26,000
Speaker 1: Yeah, right, and this aspiification, if you call it, that

1065
00:52:26,159 --> 00:52:30,039
was very successful and the customers happy. And I love

1066
00:52:30,079 --> 00:52:34,159
the term that you use jagged edges. I mean, I

1067
00:52:34,360 --> 00:52:36,800
know I've heard I've heard that before, but man, it

1068
00:52:36,840 --> 00:52:38,039
really just hits home right here.

1069
00:52:38,079 --> 00:52:39,760
Speaker 4: Well, it's that or there'll be dragons.

1070
00:52:39,760 --> 00:52:42,000
Speaker 1: There's a few jagged edges you need to yeah, yeah,

1071
00:52:42,039 --> 00:52:43,239
you need to file them down.

1072
00:52:44,119 --> 00:52:44,360
Speaker 4: Yep.

1073
00:52:45,039 --> 00:52:46,079
Speaker 3: Yeah, it's fine.

1074
00:52:46,119 --> 00:52:48,320
Speaker 4: It's tough, and there's always going to be jagged edges

1075
00:52:48,639 --> 00:52:52,519
or dragons at the beginning of a project. And yes,

1076
00:52:52,599 --> 00:52:55,519
the Spire was released quite a while ago now, but

1077
00:52:55,599 --> 00:52:59,119
it's still early days and some of the things, funnily enough,

1078
00:52:59,280 --> 00:53:03,079
is still in beta. There is a there's a thing

1079
00:53:03,079 --> 00:53:06,360
that's commented out if you want to do g RPC telemetry,

1080
00:53:07,039 --> 00:53:10,079
it says, just just removed this comment and you can

1081
00:53:10,079 --> 00:53:13,159
get EUROPC come. And basically that extension method that they're

1082
00:53:13,199 --> 00:53:16,400
calling is not in the actual project. And when you

1083
00:53:16,440 --> 00:53:18,119
need to go and add the NuGet package for it,

1084
00:53:18,159 --> 00:53:20,440
there's only a pre release version of it available. So,

1085
00:53:20,840 --> 00:53:25,039
as I said, early days, but it looks really really promising.

1086
00:53:25,159 --> 00:53:28,559
Speaker 2: Mm hmm. That's great, and it's I said, this is

1087
00:53:29,039 --> 00:53:31,280
only came in the in the in New Existence a

1088
00:53:31,320 --> 00:53:34,440
few months ago, like they've been racing to figure it out,

1089
00:53:34,559 --> 00:53:36,320
like it's going to twitch a lot for the first

1090
00:53:36,360 --> 00:53:38,760
couple of versions for sure and already has boy I

1091
00:53:38,920 --> 00:53:42,239
was I did another year from now, who knows well.

1092
00:53:42,639 --> 00:53:44,760
Speaker 4: I did a I've done a couple of talks on it,

1093
00:53:44,800 --> 00:53:47,039
and I did my first talk prepped it, and then

1094
00:53:47,039 --> 00:53:48,840
when I was about to do the talk at the conference,

1095
00:53:49,280 --> 00:53:51,400
I ran my code and it didn't work because apparently

1096
00:53:51,440 --> 00:53:54,599
between the two preview versions that I was running, they

1097
00:53:54,599 --> 00:53:57,320
actually read did a lot of the API. I think

1098
00:53:57,400 --> 00:53:59,960
the API now with version one being released is fairy

1099
00:54:00,079 --> 00:54:02,639
is stable, but there are things that can be better.

1100
00:54:03,119 --> 00:54:06,079
And I can also see that the way that components

1101
00:54:06,119 --> 00:54:09,880
work mean and the way that the whole provider model

1102
00:54:09,920 --> 00:54:13,519
for resources and Inspire works means that the community is

1103
00:54:13,519 --> 00:54:15,559
going to start adding things to it. So you're going

1104
00:54:15,639 --> 00:54:17,199
to be able to as I said today, you can

1105
00:54:17,199 --> 00:54:19,760
see a bunch of ASK stuff, but there's also AWS

1106
00:54:19,760 --> 00:54:23,480
stuff that's coming out or has come out there. People

1107
00:54:23,480 --> 00:54:26,119
have added their own things to it already, so we're

1108
00:54:26,159 --> 00:54:28,239
going to see more and more things plug in and

1109
00:54:28,320 --> 00:54:31,119
make your life easier to work with when it comes

1110
00:54:31,119 --> 00:54:33,480
to Aspire than doing it without Aspire.

1111
00:54:33,519 --> 00:54:36,960
Speaker 1: I think absolutely very good Chris. You know, pleasure talking

1112
00:54:36,960 --> 00:54:39,159
to you as always. We really enjoy having you on

1113
00:54:39,239 --> 00:54:41,320
the show and thanks for your insight.

1114
00:54:41,480 --> 00:54:43,559
Speaker 4: Well, thank you for having me. It's always a pleasure

1115
00:54:43,599 --> 00:54:46,280
to be on the show. So I'm willing to come

1116
00:54:46,280 --> 00:54:47,519
back whenever you feel like it.

1117
00:54:47,719 --> 00:54:50,159
Speaker 1: Thanks very yeah, or whenever you have something new to say.

1118
00:54:50,519 --> 00:54:52,960
Don't hesitate to reach out. I will all right, and

1119
00:54:53,039 --> 00:54:55,679
we'll talk to you, dear listener next time on dot

1120
00:54:55,719 --> 00:55:18,920
net rocks. Dot net Rocks is brought to you by

1121
00:55:19,000 --> 00:55:23,679
Franklin's Net and produced by Pop Studios, a full service audio,

1122
00:55:23,800 --> 00:55:28,239
video and post production facility located physically in New London, Connecticut,

1123
00:55:28,480 --> 00:55:33,320
and of course in the cloud online at pwop dot com.

1124
00:55:33,480 --> 00:55:34,679
Speaker 2: Visit our website at d.

1125
00:55:34,719 --> 00:55:36,719
Speaker 5: O T N E t R O c k S

1126
00:55:36,800 --> 00:55:41,840
dot com for RSS feeds, downloads, mobile apps, comments, and

1127
00:55:41,920 --> 00:55:45,199
access to the full archives going back to show number one,

1128
00:55:45,400 --> 00:55:47,440
recorded in September two thousand and two.

1129
00:55:48,039 --> 00:55:50,400
Speaker 1: And make sure you check out our sponsors. They keep

1130
00:55:50,480 --> 00:55:53,639
us in business. Now, go write some code. See you

1131
00:55:53,679 --> 00:55:54,119
next time.

1132
00:55:55,000 --> 00:55:56,480
Speaker 3: You got j middlevan

1133
00:56:00,360 --> 00:56:05,320
Speaker 1: To that bed is hard, then my texas a lie

1134
00:56:06,000 --> 00:56:06,199
vole

