1
00:00:00,000 --> 00:00:01,020
Are you a zucchini bread guy?

2
00:00:01,060 --> 00:00:01,800
I love zucchini bread.

3
00:00:01,860 --> 00:00:05,380
My wife makes an awesome zucchini bread and she puts a chocolate chips in it, which I

4
00:00:05,380 --> 00:00:07,520
think makes virtually almost anything good.

5
00:00:07,660 --> 00:00:07,760
Yeah.

6
00:00:07,880 --> 00:00:11,300
You know, I, I hadn't really thought to start that way, but let's just, let's just jump

7
00:00:11,300 --> 00:00:16,940
right into it because I think my, uh, my son came home with these giant zucchinis.

8
00:00:17,260 --> 00:00:20,600
Like they were, they were like inhumanly large, two of them.

9
00:00:21,260 --> 00:00:26,300
And, um, if I, if I had the wherewithal, I would put a picture of it up here, but I don't.

10
00:00:26,900 --> 00:00:28,800
Uh, and we'll do it in post.

11
00:00:28,800 --> 00:00:32,900
You know, what, what happened is, uh, you know, we rent a house.

12
00:00:33,100 --> 00:00:39,520
So my wife had to, uh, do a little bit of, uh, uh, hand grading to get it graded down.

13
00:00:40,060 --> 00:00:45,380
And then she was able to, uh, put that into a bread, which was very delicious.

14
00:00:45,760 --> 00:00:46,680
I enjoyed it quite a bit.

15
00:00:47,080 --> 00:00:49,320
So yeah, I, I hadn't had zucchini bread in a while.

16
00:00:49,380 --> 00:00:51,420
My grandma used to make banana nut bread all the time.

17
00:00:51,640 --> 00:00:52,240
Oh yeah.

18
00:00:52,240 --> 00:00:52,520
It's good.

19
00:00:52,600 --> 00:00:54,500
Fresh out of the oven with like, oh yes.

20
00:00:54,680 --> 00:00:57,980
Equal parts butter and a fresh made bread is.

21
00:00:57,980 --> 00:00:58,340
Right.

22
00:00:58,380 --> 00:00:58,920
A hundred percent.

23
00:00:59,020 --> 00:00:59,740
Enjoy the most.

24
00:01:00,100 --> 00:01:00,300
Yeah.

25
00:01:00,500 --> 00:01:00,660
Yeah.

26
00:01:00,660 --> 00:01:02,740
So it's all, it's all, it's a buttery delivery vehicle for some people.

27
00:01:03,020 --> 00:01:08,660
Well, I wanted to have you here on, uh, one of our Tanzu talk streaming live, whatever

28
00:01:08,660 --> 00:01:10,300
episodes to talk about.

29
00:01:10,400 --> 00:01:13,260
Now you can't see this because, but I'm using the magic of streaming.

30
00:01:13,420 --> 00:01:17,460
I have just put a picture of your book up over our heads.

31
00:01:17,460 --> 00:01:18,020
Oh, fantastic.

32
00:01:18,300 --> 00:01:18,480
Yeah.

33
00:01:19,080 --> 00:01:21,460
Now my wife would call it a pamphlet.

34
00:01:21,460 --> 00:01:21,800
A pamphlet.

35
00:01:21,880 --> 00:01:24,100
You can see the previous pamphlet there in purple.

36
00:01:25,080 --> 00:01:25,680
And, uh, yeah, it is.

37
00:01:25,720 --> 00:01:26,100
That's right.

38
00:01:26,160 --> 00:01:26,340
Yeah.

39
00:01:26,400 --> 00:01:26,560
Yeah.

40
00:01:26,560 --> 00:01:27,440
It is over my shoulder.

41
00:01:27,820 --> 00:01:28,220
Yep.

42
00:01:28,420 --> 00:01:30,500
So now you got responsible microservices.

43
00:01:30,500 --> 00:01:32,900
Now, like a good, good, uh, host.

44
00:01:33,300 --> 00:01:37,600
I read this hurriedly this morning before we were talking, which I think is the proper,

45
00:01:37,600 --> 00:01:38,380
uh, rate.

46
00:01:38,460 --> 00:01:39,780
But it's a pamphlet, so it's short.

47
00:01:39,880 --> 00:01:41,580
You can get it done in a short amount of time.

48
00:01:42,280 --> 00:01:46,860
And so, so tell me, Nate, how would you describe what's going on with this book?

49
00:01:47,140 --> 00:01:49,740
What's, what are you, what are you trying to encapsulate here?

50
00:01:50,320 --> 00:01:56,620
Well, so this is a, a prose variant of a talk that I've been giving for the last year, year

51
00:01:56,620 --> 00:02:01,380
and a half on sort of the principles that we use with clients on should that be a microservice.

52
00:02:01,580 --> 00:02:05,720
Now, those of you who've been paying attention know that that started as a blog post back

53
00:02:05,720 --> 00:02:10,600
in the day and, you know, it occurred to me that putting this into a nice handy PDF would

54
00:02:10,600 --> 00:02:12,040
be very useful for folks.

55
00:02:12,060 --> 00:02:15,380
And then, you know, it makes people happy that they can market behind it.

56
00:02:15,380 --> 00:02:21,500
But yeah, it's just, there's so much chatter about how to do microservices.

57
00:02:21,940 --> 00:02:24,720
There's not enough about when should we do microservices.

58
00:02:25,140 --> 00:02:27,320
And, you know, you and I've talked about this.

59
00:02:27,400 --> 00:02:30,660
One of my all time favorite tweets actually is yours about, you know, year one.

60
00:02:30,740 --> 00:02:32,300
Oh my God, this technology is amazing.

61
00:02:32,500 --> 00:02:34,680
You know, year two, actually, this is really hard.

62
00:02:34,880 --> 00:02:37,760
You know, year three, you should probably never use this technology.

63
00:02:38,160 --> 00:02:40,040
Year four, oh, look, something shiny and new.

64
00:02:40,040 --> 00:02:42,440
And microservices are very much part of that.

65
00:02:42,580 --> 00:02:46,240
You know, we've seen a lot of people jump on that bandwagon because some tech companies

66
00:02:46,240 --> 00:02:48,020
are doing this and everybody's got to do it.

67
00:02:48,440 --> 00:02:50,380
And then people are going, wow, actually, this is kind of difficult.

68
00:02:51,080 --> 00:02:55,040
And so this is really the kind of advice that we try to give people on when does this make

69
00:02:55,040 --> 00:02:55,380
sense?

70
00:02:55,640 --> 00:02:58,720
And I would say more importantly, when does it not make sense?

71
00:02:58,820 --> 00:03:00,700
You know, not everything needs to be a microservice.

72
00:03:00,940 --> 00:03:06,080
And I think the other thing that comes through that's nice is there's a, well, let me ask

73
00:03:06,080 --> 00:03:10,480
you if this is intentional, but I almost feel like it's a, here's the current thinking about

74
00:03:10,480 --> 00:03:12,620
running microservices as well, right?

75
00:03:12,640 --> 00:03:17,140
Like there's, there's a, I was thinking, I don't know, I don't keep up with the microservices

76
00:03:17,140 --> 00:03:18,660
trades like I used to.

77
00:03:18,720 --> 00:03:24,100
So I don't, you know, uh, follow them, but like, I don't often see, uh, SRE and microservice

78
00:03:24,100 --> 00:03:25,560
mentioned in the same area.

79
00:03:25,700 --> 00:03:26,060
Right.

80
00:03:26,300 --> 00:03:27,580
And I, which is unfortunate.

81
00:03:27,820 --> 00:03:33,240
Is that, am I just behind the times of those things that commonly are the SRE people talking

82
00:03:33,240 --> 00:03:36,420
to the microservice people and back and forth what's going on?

83
00:03:36,440 --> 00:03:37,100
I hope so.

84
00:03:37,220 --> 00:03:40,300
I mean, I hope so, because if you're going to have these highly dynamic environments

85
00:03:40,300 --> 00:03:44,980
that all have services coming in and out of existence and changing rapidly, there's a

86
00:03:44,980 --> 00:03:48,580
whole lot of stuff you need to make that work or else it's just going to be painful.

87
00:03:48,580 --> 00:03:51,600
And I do think, honestly, that's part of the struggle.

88
00:03:51,740 --> 00:03:56,240
A lot of people have with microservices is they're so focused on, oh, look, I, I made

89
00:03:56,240 --> 00:04:01,300
some APIs and then they didn't think about the fact that, well, how do we monitor this?

90
00:04:01,300 --> 00:04:03,500
And how do we, do we have alerting in place?

91
00:04:03,500 --> 00:04:05,640
You know, what, what kind of an environment is this running in?

92
00:04:05,700 --> 00:04:07,200
Can we support that environment?

93
00:04:07,440 --> 00:04:11,080
You know, and that's a huge part of the challenge that comes along with this.

94
00:04:11,140 --> 00:04:15,640
Do we have the automation in place so that when I need to make a change, I can get that

95
00:04:15,640 --> 00:04:18,000
change into production quickly and safely?

96
00:04:18,440 --> 00:04:21,460
You know, it's, it's, it's always making sure we have both of those pieces together.

97
00:04:21,460 --> 00:04:24,420
And, and, you know, that's, that's part of the whole challenge here is making people see

98
00:04:24,420 --> 00:04:26,320
the bigger picture beyond just, oh, cool.

99
00:04:26,780 --> 00:04:28,740
Now I can put microservices on my resume.

100
00:04:29,200 --> 00:04:29,560
Yeah.

101
00:04:29,560 --> 00:04:29,640
Yeah.

102
00:04:29,640 --> 00:04:29,920
Yeah.

103
00:04:29,920 --> 00:04:34,480
And, and, and, you know, in that area that, that, as I was reading through, so you, you

104
00:04:34,480 --> 00:04:38,440
get into like, uh, you know, you visit all the old favorites, you got the circuit breakers

105
00:04:38,440 --> 00:04:41,000
and, uh, you know, other things like that.

106
00:04:41,260 --> 00:04:45,300
And, and, you know, even, I think, I think in, there might've been another place, but in

107
00:04:45,300 --> 00:04:50,120
one of the longer, but rare passages of code in the book, not a lot of code in there.

108
00:04:50,500 --> 00:04:51,740
Lots of thinking, which is nice.

109
00:04:51,740 --> 00:04:55,920
So, you know, it's boxes and diagrams, but it's just arrows and boxes and all that fun

110
00:04:55,920 --> 00:04:56,140
stuff.

111
00:04:56,220 --> 00:04:56,580
Exactly.

112
00:04:56,760 --> 00:05:01,980
And so, uh, there is basically some, uh, some code of how to do like a circuit breaker in,

113
00:05:02,040 --> 00:05:03,600
in, uh, in spring stuff.

114
00:05:03,760 --> 00:05:08,180
And I was thinking, and then, and then you go on to talk about how like, uh, uh, service

115
00:05:08,180 --> 00:05:11,980
meshes, I think you managed to only say service mesh once in the book because I searched for

116
00:05:11,980 --> 00:05:12,960
mesh, which was fun.

117
00:05:13,200 --> 00:05:13,520
Yes.

118
00:05:13,660 --> 00:05:13,960
Yeah.

119
00:05:14,140 --> 00:05:16,760
And that's, I think Rohit's fault that I had to put in there once.

120
00:05:16,860 --> 00:05:18,260
So we'll blame Rohit for that one.

121
00:05:18,420 --> 00:05:24,940
And so I was thinking like with all the talk of, uh, you know, Istio and service meshes

122
00:05:24,940 --> 00:05:29,860
and Kubernetes and all this stuff, like, when do you put a circuit breaker in your code

123
00:05:29,860 --> 00:05:33,600
versus just in like a sidecar or whatever, right?

124
00:05:33,600 --> 00:05:37,580
Like, and because, and, and, you know, let me ask the question and then just make one

125
00:05:37,580 --> 00:05:38,120
more statement.

126
00:05:38,120 --> 00:05:45,500
It seems like not that this has ever happened in programming before, but we're like, unless,

127
00:05:45,700 --> 00:05:48,800
unless we kind of don't get a handle on it sometime in the next five years, we're going

128
00:05:48,800 --> 00:05:53,580
to be right back in the position where every single layer duplicates every single pattern

129
00:05:53,580 --> 00:05:59,060
and you're relying on some overlay thing to basically write a bunch of configuration that

130
00:05:59,060 --> 00:06:03,360
goes sets all of those things up and down the pattern so that they're, uh, synchronized.

131
00:06:03,440 --> 00:06:07,400
Well, I mean, I, I, I, I don't think you're wrong, right?

132
00:06:07,400 --> 00:06:09,020
I mean, we, we do that a lot in this industry.

133
00:06:09,020 --> 00:06:15,820
And I think part of it is we, we don't know where all this stuff is necessary or where it

134
00:06:15,820 --> 00:06:18,840
adds value until we've actually tried it and used it, experimented with it.

135
00:06:18,840 --> 00:06:20,740
And then we start to figure this stuff out.

136
00:06:20,740 --> 00:06:24,900
And, you know, I talk about this in sort of my, my thinking architecturally material,

137
00:06:24,900 --> 00:06:28,820
but trial and error is how we learn as a species.

138
00:06:28,820 --> 00:06:34,580
And you think about so much of what we do in software software has been what a human generation

139
00:06:34,580 --> 00:06:39,920
at this point, maybe compare that with other stuff we've been doing for millennia and we

140
00:06:39,920 --> 00:06:41,340
still screw some of that stuff up.

141
00:06:41,520 --> 00:06:45,120
So I think we need to be a little forgiving of ourselves in software that we don't have

142
00:06:45,120 --> 00:06:47,440
all the answers yet because we haven't been doing this very long.

143
00:06:47,440 --> 00:06:51,940
And unlike, you know, building houses where we're using the same materials we've used for

144
00:06:51,940 --> 00:06:56,140
hundreds, if not thousands of years, we're using stuff that we invented earlier this week.

145
00:06:56,140 --> 00:07:00,140
And then people are shocked that we don't know exactly how this is all going to turn out.

146
00:07:00,440 --> 00:07:03,800
And so I think some of that's natural, you know, it's like, oh, well, geez, we tried putting

147
00:07:03,800 --> 00:07:05,560
a load balancing here and that didn't work.

148
00:07:05,600 --> 00:07:06,960
Well, let's try putting load balancing over here.

149
00:07:06,980 --> 00:07:07,880
Oh, Hey, there we go.

150
00:07:08,200 --> 00:07:11,860
You know, so we'll figure this out as we progress and we'll get bigger and bigger abstractions.

151
00:07:11,860 --> 00:07:14,600
And there'll be more Lego blocks that we can piece together.

152
00:07:15,160 --> 00:07:18,440
You know, I think we lose sight of some of those Lego blocks we already have, you know,

153
00:07:18,440 --> 00:07:20,620
think about the original Gang of Four Patterns book.

154
00:07:21,320 --> 00:07:27,460
How many of those patterns are just baked into the languages and frameworks that you use every day?

155
00:07:28,000 --> 00:07:34,680
You know, it's, it's become just the underlying undergirding part of the tools that we use.

156
00:07:34,680 --> 00:07:38,280
And you're going to see the same thing as we progress forward, you know, it's like,

157
00:07:38,280 --> 00:07:41,840
oh, wow, you know, these distributed architectures demand certain things from us.

158
00:07:42,260 --> 00:07:47,660
Well, let's just sort of encapsulate that and code that into this framework or language

159
00:07:47,660 --> 00:07:48,800
or however you want to phrase it.

160
00:07:48,840 --> 00:07:50,040
And now it's just there.

161
00:07:50,140 --> 00:07:51,800
You don't have to think about it anymore.

162
00:07:52,220 --> 00:07:53,800
You know, to me, that's, that's a huge win.

163
00:07:53,900 --> 00:07:55,100
That's, that's what we'd like to see.

164
00:07:55,440 --> 00:07:55,580
Yeah.

165
00:07:55,680 --> 00:07:55,860
Yeah.

166
00:07:55,860 --> 00:07:58,680
So, so it's sort of open and flexible at the moment.

167
00:07:58,960 --> 00:08:02,440
You might, you might want to put your, you might want to put your circuit breakers in

168
00:08:02,440 --> 00:08:07,800
some Kubernetes thing, or you might want to put it over here in, in your spring thing,

169
00:08:07,800 --> 00:08:11,740
or it, you know, no one's quite sure, you know, that it's, it seems

170
00:08:11,740 --> 00:08:17,440
like I haven't done the exercise, but there are some obvious sort of like this belongs

171
00:08:17,440 --> 00:08:21,760
in the system or the platform versus this belongs in the application code that you can

172
00:08:21,760 --> 00:08:22,580
start to draw out.

173
00:08:22,720 --> 00:08:27,600
But as always, it's fun to find those things on the, on the edge, on the margins.

174
00:08:28,420 --> 00:08:32,200
Or where it blurs, you know, where the distinction isn't clear cut, you know, or it isn't obvious.

175
00:08:32,380 --> 00:08:33,520
Should it be here or there?

176
00:08:34,020 --> 00:08:34,200
Yeah.

177
00:08:34,200 --> 00:08:38,320
I mean, you and I've talked about this before, but the, the one answer that I can give to

178
00:08:38,320 --> 00:08:40,080
almost every question is it depends.

179
00:08:40,760 --> 00:08:44,420
And I think that's, what's challenging, you know, especially when I think about this from

180
00:08:44,420 --> 00:08:48,780
an architectural standpoint as an architect, you know, the friend of mine likes to say

181
00:08:48,780 --> 00:08:51,880
that, that architecting or being an architect, everyone would phrase it.

182
00:08:51,940 --> 00:08:57,420
It's the stuff you can't Google, you know, cause by the time the questions get to that

183
00:08:57,420 --> 00:09:03,440
sort of architect area, there isn't an obvious answer or else already would have been answered.

184
00:09:03,760 --> 00:09:04,120
Right.

185
00:09:04,260 --> 00:09:08,080
You know, so if this was just an easy design decision, well, there's no reason to involve

186
00:09:08,080 --> 00:09:08,600
architect.

187
00:09:08,980 --> 00:09:13,140
If it was already solvable again, no reason to involve architects.

188
00:09:13,140 --> 00:09:17,960
So by definition, these are harder questions to answer and we got to kind of grind through

189
00:09:17,960 --> 00:09:20,100
the possibilities and hopefully we're making good decisions.

190
00:09:20,280 --> 00:09:23,180
You know, I mean, we'll know in a year or two, I guess, and we'll see what happens.

191
00:09:23,480 --> 00:09:28,060
So maybe architects do things that haven't been turned into frameworks yet.

192
00:09:28,900 --> 00:09:29,260
Yeah.

193
00:09:29,340 --> 00:09:30,760
That's another way of thinking about it.

194
00:09:31,160 --> 00:09:33,100
A couple of friends of mine are...

195
00:09:33,100 --> 00:09:35,600
It's parts of programming that hasn't been automated yet.

196
00:09:35,900 --> 00:09:36,420
That's the...

197
00:09:36,420 --> 00:09:36,580
Yeah.

198
00:09:36,700 --> 00:09:40,100
Well, it's like what I said, my friend Neil likes to call it the things that you can't

199
00:09:40,100 --> 00:09:40,360
Google.

200
00:09:40,700 --> 00:09:42,180
And there's a lot to be said for that.

201
00:09:42,300 --> 00:09:44,340
You know, it's the hard parts in a lot of ways.

202
00:09:44,580 --> 00:09:44,920
Yes.

203
00:09:44,960 --> 00:09:46,900
That's a constantly evolving thing.

204
00:09:47,000 --> 00:09:50,200
You know, there was a time before Nygaard coined the whole circuit breaker thing.

205
00:09:50,240 --> 00:09:51,680
We didn't, you know, have a circuit breaker.

206
00:09:51,680 --> 00:09:53,620
You know, now everyone's like, well, of course we need a circuit breaker.

207
00:09:54,440 --> 00:09:56,720
So it's fascinating how that stuff changes.

208
00:09:57,020 --> 00:09:57,120
Yeah.

209
00:09:57,160 --> 00:09:59,420
You know, I hadn't looked at the circuit breaker thing in a while.

210
00:09:59,520 --> 00:10:06,000
And I think that, I think one of the fun things about it is, is the idea that a piece

211
00:10:06,000 --> 00:10:11,500
of code should know when it's in a good state or not, which is like, it's simple, a simple

212
00:10:11,500 --> 00:10:18,320
idea, but I don't think that's necessarily something that is part of how most programmers think

213
00:10:18,320 --> 00:10:23,220
about writing their code that like, like it should be like self, your, your chunk of code

214
00:10:23,220 --> 00:10:27,180
should be self-aware of itself and like, know if it's good or not.

215
00:10:27,360 --> 00:10:30,800
It's, it's more like if an error occurs, just like freak out.

216
00:10:30,860 --> 00:10:32,760
That tends to be the, uh, the mode.

217
00:10:32,760 --> 00:10:37,400
Like just, it's sort of like the, uh, the, the, like, you know, the seven-year-old mode

218
00:10:37,400 --> 00:10:41,000
of operating if, if, if everything's fine, you just operate.

219
00:10:41,140 --> 00:10:46,400
If anything goes wrong, just sit down and cry and yell really loud.

220
00:10:46,400 --> 00:10:51,360
And then that's basically code in a nutshell, Coté, as usual, you've, you've captured and

221
00:10:51,360 --> 00:10:56,860
given us a vision that instead, instead of what the parents of the world would like, which

222
00:10:56,860 --> 00:11:02,380
is like, if you haven't found the TV remote yet, use your words, you need to keep looking

223
00:11:02,380 --> 00:11:08,080
because sitting here and crying that you haven't found it is not going to cause the TV remote

224
00:11:08,080 --> 00:11:08,880
to be found.

225
00:11:09,200 --> 00:11:09,380
You must.

226
00:11:09,420 --> 00:11:10,700
Is that a universal thing?

227
00:11:10,700 --> 00:11:15,520
Because, because I've got a 13 year old and I cannot tell you how many times my, like he'll

228
00:11:15,520 --> 00:11:16,720
ask, where is something?

229
00:11:17,240 --> 00:11:19,680
And I, or my wife will basically say, well, where did you look?

230
00:11:19,740 --> 00:11:20,760
You know, he said, I looked everywhere.

231
00:11:20,760 --> 00:11:23,040
And then we'll literally walk to right where it is.

232
00:11:23,040 --> 00:11:25,020
Like you mean this, this right here, that's on the table.

233
00:11:25,020 --> 00:11:26,120
That's in plain sight.

234
00:11:27,400 --> 00:11:29,180
I guess that's, that's kids.

235
00:11:29,520 --> 00:11:29,640
Yeah.

236
00:11:29,760 --> 00:11:32,460
No, I think it, I think it is universal and it is universe.

237
00:11:32,600 --> 00:11:35,120
The universal reply to that is universally unhelpful.

238
00:11:35,180 --> 00:11:36,900
Like I did, I did this the other night.

239
00:11:36,920 --> 00:11:38,400
I need to figure out how to share pictures here.

240
00:11:38,400 --> 00:11:43,580
Cause I could show these pictures, but like, I, uh, uh, I'd asked my son to find a towel

241
00:11:43,580 --> 00:11:44,560
for whatever reasons.

242
00:11:44,900 --> 00:11:48,400
And then, and then my wife was putting him to bed and I went downstairs to close some doors

243
00:11:48,400 --> 00:11:49,880
and I saw a towel on the floor.

244
00:11:49,920 --> 00:11:50,800
That was his towel.

245
00:11:51,160 --> 00:11:53,280
And he had told me he had looked in that exact spot.

246
00:11:53,280 --> 00:11:59,820
So I took a picture of it and then I went upstairs and I showed it to him and, and the, the pedantic

247
00:11:59,820 --> 00:12:04,860
educational lesson that my son learned from this zero, just that dad's right.

248
00:12:05,220 --> 00:12:07,080
Like there was no dad will get the towel.

249
00:12:07,080 --> 00:12:11,380
If I miss it, it felt like a real enterprise architect moment where I was sort of absolutely

250
00:12:11,380 --> 00:12:16,180
sort of absolutely showing someone that something was done, uh, in, in a way that I thought

251
00:12:16,180 --> 00:12:20,240
was, uh, insufficient or not good.

252
00:12:20,700 --> 00:12:22,540
I had a very similar experience last night.

253
00:12:22,540 --> 00:12:27,540
I was doing laundry and I asked my son specifically, please get me all of your soccer stuff.

254
00:12:28,360 --> 00:12:31,500
And so he brings up his laundry and he says, yeah, I put that on top.

255
00:12:31,540 --> 00:12:33,540
And I'm looking, I'm like, well, where's, where's your socks?

256
00:12:33,620 --> 00:12:35,060
Where's your, you know, your compression shorts.

257
00:12:35,620 --> 00:12:37,540
Oh, those are, those are still downstairs.

258
00:12:38,020 --> 00:12:43,460
And I'm like, but did, did you catch the part where I specifically said not, not like five

259
00:12:43,460 --> 00:12:47,900
hours ago, not three days ago, but like literally like 10 minutes ago, please go do this.

260
00:12:47,900 --> 00:12:49,380
And then, you know, it's, it's joy.

261
00:12:49,540 --> 00:12:52,800
Although I will say this much, my wife and I went for a bike ride yesterday morning and

262
00:12:52,800 --> 00:12:56,800
we were, we were, we planned on starting our sheets before we left, but we forgot.

263
00:12:57,040 --> 00:13:00,020
But my wife left our son a note saying, Hey, we're out on a bike ride.

264
00:13:00,420 --> 00:13:03,320
Please take the sheets out of the washing machine and put them in the dryer.

265
00:13:03,680 --> 00:13:07,380
He did that, but of course the sheets hadn't actually been washed.

266
00:13:07,620 --> 00:13:09,960
And so I asked him, did you notice the sheets weren't wet?

267
00:13:10,000 --> 00:13:11,700
And he said, oh, no, no, I didn't.

268
00:13:11,880 --> 00:13:13,620
So I don't know.

269
00:13:13,880 --> 00:13:15,000
My wife would call that a boy look.

270
00:13:15,720 --> 00:13:20,800
So, so I think this is, this is a good way to, to kind of, to kind of mesh these two worlds

271
00:13:20,800 --> 00:13:21,440
together, right?

272
00:13:21,440 --> 00:13:24,260
Cause what we're talking about here is governance, right?

273
00:13:24,620 --> 00:13:24,800
Yes.

274
00:13:25,000 --> 00:13:26,220
Governance and guidance.

275
00:13:26,220 --> 00:13:31,860
Now I once, I once heard from a enterprise architect that they wanted to move from policing

276
00:13:31,860 --> 00:13:39,020
to partnering now, Ooh, I like that in the area of parenting, I don't know, like it's only

277
00:13:39,020 --> 00:13:42,500
every now and then where you're thought you're, you're set, you're supposed to think of partnering

278
00:13:42,500 --> 00:13:46,220
with your children often, you know, that kind of comes about and then everyone realizes like,

279
00:13:46,300 --> 00:13:48,780
no, they need to be parented, not partnered.

280
00:13:48,900 --> 00:13:49,060
Right.

281
00:13:49,220 --> 00:13:49,460
Right.

282
00:13:49,760 --> 00:13:54,140
Now there's another concept I want to throw into the, the, the table smoothie here.

283
00:13:54,140 --> 00:13:57,480
And that is this, this concept called like servant leadership.

284
00:13:57,820 --> 00:13:58,260
Right.

285
00:13:58,720 --> 00:14:03,920
And, and I, I, I think there's a little bit of a whiff in your book, if that's a word

286
00:14:03,920 --> 00:14:10,420
that still is okay to use of like servant architecture ship, you know, like be where like, you're

287
00:14:10,420 --> 00:14:15,180
like, you know, if I can read a little bit, I'm trying, I'm trying to be like cool podcast

288
00:14:15,180 --> 00:14:17,860
interviewers and read passages that people have written to them.

289
00:14:17,940 --> 00:14:19,140
So this is the second time I've done it.

290
00:14:19,160 --> 00:14:20,000
We'll see how it goes.

291
00:14:20,460 --> 00:14:26,220
But somehow somewhere on page 50, you're like, you, you want to provide adequate guidance

292
00:14:26,220 --> 00:14:29,540
to your teams to help them make the right technology choices.

293
00:14:29,840 --> 00:14:32,080
And I love this decision trees are invaluable.

294
00:14:32,080 --> 00:14:34,660
Now decision trees are one of these things.

295
00:14:34,660 --> 00:14:39,900
And, and you go on to talk about how the, the genius of a decision tree is it limits options,

296
00:14:39,900 --> 00:14:40,480
right?

297
00:14:40,520 --> 00:14:44,500
Which I think that's a good genius counter move is to realize if someone has given you a

298
00:14:44,500 --> 00:14:49,660
set of decisions, decision one, decision two, or decision three, you should choose decision

299
00:14:49,660 --> 00:14:50,740
five, right?

300
00:14:50,760 --> 00:14:53,980
You should always just like go outside of what they've laid out for you.

301
00:14:54,000 --> 00:15:00,140
But anyways, this made me start thinking like of that policing partnering thing where I think

302
00:15:00,140 --> 00:15:10,380
what we'd sort of like from enterprise architects nowadays is for them to be helpful rather than

303
00:15:10,380 --> 00:15:18,060
well, to, to show up and offer their help rather than show up and say, this is how you must

304
00:15:18,060 --> 00:15:24,000
do it right instead of, instead of drawing the lines of where you have to operate and how

305
00:15:24,000 --> 00:15:25,840
the tools you need to use the governance.

306
00:15:26,840 --> 00:15:27,440
I don't know.

307
00:15:27,500 --> 00:15:31,540
Is there this notion now that you're sort of there to facilitate the teams doing the right

308
00:15:31,540 --> 00:15:32,180
thing instead?

309
00:15:33,520 --> 00:15:40,520
So, I mean, to me, this is just a reality that as an architect these days, you're spread so

310
00:15:40,520 --> 00:15:40,960
thin.

311
00:15:41,340 --> 00:15:44,620
There's no possible way you can be involved in every single decision.

312
00:15:44,940 --> 00:15:45,660
It's just impossible.

313
00:15:45,800 --> 00:15:49,520
And, and to be clear, I, I, as an architect, I don't want to be the single point of failure.

314
00:15:49,520 --> 00:15:52,840
I don't want to be this, this bottleneck on a team's progress.

315
00:15:53,040 --> 00:15:55,440
You know, that's, that's not good either.

316
00:15:55,700 --> 00:16:00,960
The challenge of course, is how do we create that environment within which our teams can

317
00:16:00,960 --> 00:16:03,920
thrive and make, you know, again, these good decisions.

318
00:16:03,920 --> 00:16:07,840
You know, you want to make the right decision, the easy decision, you know, give them that

319
00:16:07,840 --> 00:16:08,200
guidance.

320
00:16:08,380 --> 00:16:13,660
And so the decision trees for me actually grew out of my, my previous job, previous company.

321
00:16:13,980 --> 00:16:15,900
I was sort of like cloud architect guy.

322
00:16:16,400 --> 00:16:21,200
And as we were bringing in all these new technologies, as we're evolving to the cloud, you know, one

323
00:16:21,200 --> 00:16:24,720
of our senior architects came to me and said, you know, Nate, we're bringing in all this new

324
00:16:24,720 --> 00:16:25,520
tech, which is great.

325
00:16:25,600 --> 00:16:26,020
We need it.

326
00:16:26,080 --> 00:16:26,560
That's awesome.

327
00:16:26,700 --> 00:16:32,740
But we really need to give teams help figuring out which of these three options should I use?

328
00:16:32,900 --> 00:16:34,100
You know, they're all three will work.

329
00:16:34,300 --> 00:16:36,660
Which one is the right one for me in this situation?

330
00:16:37,160 --> 00:16:42,680
You know, and we recognize that those first six to 10 apps that are going to go through your

331
00:16:42,680 --> 00:16:45,840
cloud migration, they're going to have a lot of attention.

332
00:16:46,080 --> 00:16:49,140
You're going to have, you know, architects are going to be hovering around it.

333
00:16:49,180 --> 00:16:50,760
You're going to put your senior team on it.

334
00:16:50,760 --> 00:16:52,120
You're going to put your best developers on.

335
00:16:52,160 --> 00:16:56,740
It's got a lot of management attention, but then you got to open up the floodgates to the

336
00:16:56,740 --> 00:16:59,060
whole universe of your development core.

337
00:16:59,540 --> 00:17:03,680
And they're not going to have that same level of handholding, that same level of, let's

338
00:17:03,680 --> 00:17:06,140
make sure we've got our, you know, we've got our business partners involved.

339
00:17:06,240 --> 00:17:07,600
We've got our technical partners involved.

340
00:17:07,920 --> 00:17:11,120
So what do you do to make sure that they don't, you know, take the circular saw and slice

341
00:17:11,120 --> 00:17:11,880
off their hand?

342
00:17:11,880 --> 00:17:16,080
And we try to give them as much guidance as humanly possible so that they can try to navigate

343
00:17:16,080 --> 00:17:16,760
these waters.

344
00:17:17,200 --> 00:17:20,520
Now, the other part of this that I think it's lost sometimes is it's an efficiency thing.

345
00:17:21,240 --> 00:17:25,200
You know, so if I'm starting on a project and I have the universe of options in front of

346
00:17:25,200 --> 00:17:27,580
me, well, now analysis paralysis kicks in.

347
00:17:27,660 --> 00:17:29,420
I'm beach balling because I'm like, oh, I could do this.

348
00:17:29,460 --> 00:17:29,840
I could do that.

349
00:17:29,860 --> 00:17:30,260
I could do this.

350
00:17:30,320 --> 00:17:31,500
Like, I don't know what to do.

351
00:17:31,840 --> 00:17:37,180
So you give people some guidelines, guideposts, North Star, whatever you want to call it

352
00:17:37,180 --> 00:17:40,420
so that they can go, all right, well, we got one of these and one of these.

353
00:17:40,500 --> 00:17:44,760
So now I don't have to worry about spending tons and tons of mental energy figuring out

354
00:17:44,760 --> 00:17:47,680
which of 17 different databases I should use.

355
00:17:47,820 --> 00:17:48,920
It's going to be this one.

356
00:17:49,080 --> 00:17:49,520
Okay, cool.

357
00:17:49,580 --> 00:17:52,020
Now I can move to solving business problems.

358
00:17:52,020 --> 00:17:55,420
The things that our business partners want us to worry about.

359
00:17:55,800 --> 00:17:58,940
You know, they don't really care about whether we use this database or that database.

360
00:17:59,120 --> 00:18:00,460
You know, they just want stuff to work.

361
00:18:00,840 --> 00:18:04,280
So let's try to, you know, reduce mental energy to that.

362
00:18:04,760 --> 00:18:09,820
It's, to a certain extent, it's that notion of, well, I just wear the same thing every day

363
00:18:09,820 --> 00:18:11,120
because I don't have to think about what I'm wearing.

364
00:18:11,240 --> 00:18:14,560
You know, it's that Steve Jobsian, I just wear a black turtleneck kind of a thing.

365
00:18:14,800 --> 00:18:17,620
You have a limited amount of decision energy.

366
00:18:18,240 --> 00:18:19,960
You know, we all know how that feels at the end of the day.

367
00:18:20,000 --> 00:18:21,020
You're like, what should we have for dinner?

368
00:18:21,060 --> 00:18:22,240
It's like, I don't know.

369
00:18:22,280 --> 00:18:23,300
I'm out of, I'm out of energy.

370
00:18:23,380 --> 00:18:23,760
I don't care.

371
00:18:23,920 --> 00:18:26,100
You know, just order pizza or whatever and be done with it.

372
00:18:26,260 --> 00:18:31,200
So, so to me, I think it's an efficiency thing as well to help our teams free up that energy

373
00:18:31,200 --> 00:18:34,540
to focus on things that, that are frankly more important, you know, and a lot of this,

374
00:18:34,640 --> 00:18:40,580
we can sort of put it into a set of, well, if this, then that kind of conversations.

375
00:18:40,580 --> 00:18:44,720
So then this touches on another thing, which I thought was interesting that you bring up

376
00:18:44,720 --> 00:18:49,180
in the book, which is like the, uh, uh, the dream of polygot programming.

377
00:18:49,180 --> 00:18:56,200
And I think, I think you, you link to some, uh, uh, 2006 little snippet on this about how

378
00:18:56,200 --> 00:18:56,940
that would be great.

379
00:18:57,180 --> 00:18:57,540
Right.

380
00:18:57,660 --> 00:19:02,580
And, you know, I, I think one of the other things they tell the little programmers is,

381
00:19:02,580 --> 00:19:03,280
uh, you know.

382
00:19:03,280 --> 00:19:04,240
You were so young then.

383
00:19:04,420 --> 00:19:04,700
Yeah.

384
00:19:04,920 --> 00:19:08,460
One of the things they always tell them is use the right tool for the, for the job.

385
00:19:08,700 --> 00:19:08,940
Right.

386
00:19:09,060 --> 00:19:09,460
Absolutely.

387
00:19:09,660 --> 00:19:14,660
Which, which I think, you know, maybe this is a discussion we should bracket, but I think

388
00:19:14,660 --> 00:19:20,880
that is usually false, but in, in, in a very pick option five kind of way where like, you

389
00:19:20,880 --> 00:19:24,480
know, the, it's more about the choice than of course you should use the right thing for

390
00:19:24,480 --> 00:19:30,920
the, uh, the job, but sometimes it's better to choose the longterm, more efficient and sustainable

391
00:19:30,920 --> 00:19:32,740
thing, even if it's not great.

392
00:19:32,740 --> 00:19:33,080
Right.

393
00:19:33,080 --> 00:19:39,980
Like, you know, if we were, uh, if it was going way back, if it was like 2000, if it

394
00:19:39,980 --> 00:19:45,840
was 1999 and I was suggesting using like XML for configuration on windows instead of an

395
00:19:45,840 --> 00:19:52,100
I and I file, like even if XML was far superior, cause I could use like XPath and XSLTs to

396
00:19:52,100 --> 00:19:56,780
transform it between a Linux box and, uh, whatever, like it would just, you just use an I and I

397
00:19:56,780 --> 00:19:58,680
file on windows that that would anyways.

398
00:19:59,720 --> 00:20:05,560
Uh, but that's an example of like, you know, I was drawing out how an architecture draws

399
00:20:05,560 --> 00:20:11,020
these, an architect draws these fences and I, and the polyglot one is, is a interesting thought

400
00:20:11,020 --> 00:20:17,880
exercise, polyglot being that like, we can use whatever language is, makes sense, or we would

401
00:20:17,880 --> 00:20:24,660
like to, uh, for this instance, instead of just always having it be in Java or C sharp or

402
00:20:24,660 --> 00:20:25,660
Perl or whatever.

403
00:20:26,140 --> 00:20:36,260
And so like, is it feasible to have like, let's say three programming languages on a project

404
00:20:36,260 --> 00:20:37,000
long-term?

405
00:20:37,000 --> 00:20:42,160
Like, it seems like, it seems like you're going to have JavaScript.

406
00:20:43,400 --> 00:20:44,380
So you got that.

407
00:20:44,800 --> 00:20:49,280
If you're going to have a web UI and then you're going to have some primary programming language.

408
00:20:49,840 --> 00:20:57,080
And like, it seems like maybe on one project, it's a good idea just to have one programming

409
00:20:57,080 --> 00:20:59,000
language, like long-term.

410
00:20:59,560 --> 00:21:00,680
I don't know.

411
00:21:00,880 --> 00:21:02,560
How has that evolved over time?

412
00:21:02,980 --> 00:21:08,780
No, I would agree with you there that, that in general, a given project, no, I mean, there's

413
00:21:08,780 --> 00:21:14,200
always exceptions, but a given project is going to have one primary server side language, whatever

414
00:21:14,200 --> 00:21:19,880
you've chosen, whether that's Java or JavaScript or C sharp or closure, whatever it makes you

415
00:21:19,880 --> 00:21:20,660
happy, whatever it works.

416
00:21:21,020 --> 00:21:27,820
There might be certain extenuating circumstances where, well, we do 90% of our coding in Java,

417
00:21:27,940 --> 00:21:32,740
but we have this small subset of problems that really has to be done in something else.

418
00:21:32,740 --> 00:21:33,360
Oh, right.

419
00:21:33,580 --> 00:21:35,260
And maybe like a parser or something.

420
00:21:35,600 --> 00:21:37,300
And so you've got some weird parser language.

421
00:21:37,740 --> 00:21:37,820
Yeah.

422
00:21:37,880 --> 00:21:38,120
Yeah.

423
00:21:38,180 --> 00:21:42,580
Or if we're doing data science-y stuff, you know, that tends to not be, you know, one

424
00:21:42,580 --> 00:21:46,560
of the quote unquote mainstream-y languages, you know, and that's perfectly reasonable.

425
00:21:46,760 --> 00:21:52,560
You know, now this again is where there needs to be guidance from architecture, you know, to

426
00:21:52,560 --> 00:21:54,700
say, this is when this is appropriate.

427
00:21:54,840 --> 00:21:56,240
This is when this isn't appropriate.

428
00:21:56,240 --> 00:22:00,920
And I think it's perfectly reasonable to sort of have a stance as an organization.

429
00:22:01,460 --> 00:22:03,360
These are our three primary languages.

430
00:22:04,220 --> 00:22:06,620
Choose one and prosper.

431
00:22:07,020 --> 00:22:11,500
Now, if you really want something outside of those three, you can come talk to us.

432
00:22:11,520 --> 00:22:14,320
And if you have a compelling case, we'll consider it.

433
00:22:14,360 --> 00:22:19,360
But in general, these are our primary languages, you know, and that's where we want you to sort

434
00:22:19,360 --> 00:22:19,720
of stay.

435
00:22:20,180 --> 00:22:25,480
Now, within an organization of any size, of course, you're going to have multiple primary languages.

436
00:22:25,480 --> 00:22:27,980
I just, I can't envision a world where that's not the case.

437
00:22:27,980 --> 00:22:35,680
And, you know, even if you are primarily a Java shop, you will at some point acquire

438
00:22:35,680 --> 00:22:41,080
a company that uses JavaScript or C-sharp or something, or you will be acquired by a company

439
00:22:41,080 --> 00:22:41,760
that uses something else.

440
00:22:42,220 --> 00:22:44,500
You know, so there's this idea that we're going to be one and only one.

441
00:22:44,640 --> 00:22:47,240
I just, I don't think that's practical today.

442
00:22:47,940 --> 00:22:52,120
You know, prove me wrong, I guess, but that's certainly been my experience that they're

443
00:22:52,120 --> 00:22:55,460
at a certain size, you're definitely going to have more than one answer.

444
00:22:55,480 --> 00:22:57,140
to what it's all about.

445
00:22:57,140 --> 00:22:57,160
Yeah.

446
00:22:57,160 --> 00:23:02,020
And it definitely seems like within a portfolio or an organization, a group.

447
00:23:02,440 --> 00:23:06,640
Well, I don't know, I shouldn't, I'll state the statement in the form of a question, as

448
00:23:06,640 --> 00:23:06,920
it were.

449
00:23:07,140 --> 00:23:11,440
But like, so, so like on one application, you want to have some kind of like primary language

450
00:23:11,440 --> 00:23:12,380
stuff, probably.

451
00:23:12,760 --> 00:23:12,880
Yeah.

452
00:23:12,880 --> 00:23:21,660
And then let's say you've got like a portfolio of like 500 applications now putting aside

453
00:23:21,660 --> 00:23:26,000
like what ends up happening and accretion and all that, like kind of what's the ideal

454
00:23:26,000 --> 00:23:27,340
state you want to shoot for?

455
00:23:27,540 --> 00:23:30,620
Are you just like use whatever language makes sense for a project?

456
00:23:30,620 --> 00:23:36,500
Or would you rather have just like one, a fewer amount of languages that you're using?

457
00:23:37,720 --> 00:23:42,160
Personally, I'm going to lean towards fewer because the more choices you have, the more

458
00:23:42,160 --> 00:23:47,180
ways of doing things there are, the harder it is to support, the more paths you have to

459
00:23:47,180 --> 00:23:50,220
production, the more variability you add into the equation.

460
00:23:50,720 --> 00:23:56,780
And the hard part here, I think, is finding where is that Goldilocks number of options?

461
00:23:57,360 --> 00:23:58,180
Is it three?

462
00:23:58,360 --> 00:23:59,200
Is it five?

463
00:23:59,320 --> 00:24:00,340
It's not unlimited.

464
00:24:01,260 --> 00:24:07,760
And what I do think is so interesting, fascinating, painful about sort of this microservice, highly

465
00:24:07,760 --> 00:24:15,280
distributed application environment, it does enable us to potentially have 15 different

466
00:24:15,280 --> 00:24:15,840
stacks.

467
00:24:16,240 --> 00:24:18,060
That doesn't mean it's a good idea.

468
00:24:18,860 --> 00:24:21,900
You know, and so again, we have to worry about analysis paralysis.

469
00:24:22,240 --> 00:24:26,380
But the bigger concern I have here is can you stay current on all of those stacks?

470
00:24:27,000 --> 00:24:31,520
Do you have a way of getting all of that to production in a way that's repeatable and safe?

471
00:24:31,660 --> 00:24:34,000
How many different libraries do you need for that?

472
00:24:34,140 --> 00:24:36,520
How many monitoring solutions do you need for that?

473
00:24:36,980 --> 00:24:40,860
You know, what happens when you need to move people around your organization?

474
00:24:41,060 --> 00:24:43,140
How do you hire for something like that?

475
00:24:43,240 --> 00:24:46,060
Well, part of your company uses this, part of your company uses that, part of your company

476
00:24:46,060 --> 00:24:47,200
uses something no one's ever heard of.

477
00:24:47,820 --> 00:24:52,900
You know, and what's fascinating to me is I think almost every company has the Galapagos

478
00:24:52,900 --> 00:24:53,860
Island project.

479
00:24:54,820 --> 00:24:59,640
And usually what happens is some influential engineer finally convinces their management,

480
00:24:59,840 --> 00:25:04,980
please let me build this thing in esoteric technology stack, whatever that happens to be for that

481
00:25:04,980 --> 00:25:05,540
organization.

482
00:25:05,740 --> 00:25:07,940
And they build it and it's super cool and interesting.

483
00:25:08,380 --> 00:25:09,840
And then that person leaves.

484
00:25:10,600 --> 00:25:15,800
And now it's like, oh, nobody knows how to support the Galapagos Island project because

485
00:25:15,800 --> 00:25:19,860
that was just influential engineer and maybe two or three other people.

486
00:25:20,040 --> 00:25:21,360
And what do we do now?

487
00:25:21,380 --> 00:25:24,600
And it's like rock, paper, scissors to see who has to go into that code base.

488
00:25:25,040 --> 00:25:29,480
And so that, I think, is the other part we have to be very cognizant of as an organization

489
00:25:29,480 --> 00:25:32,820
that we want to avoid that wherever humanly possible.

490
00:25:33,460 --> 00:25:36,420
You know, you don't want to have that, especially if it's a key, important application and outside,

491
00:25:36,580 --> 00:25:40,540
oh, geez, you know, like 70% of our revenue runs through this thing that nobody really

492
00:25:40,540 --> 00:25:41,260
understands.

493
00:25:41,600 --> 00:25:43,960
Although, I don't know, maybe that's software in a nutshell right there.

494
00:25:44,380 --> 00:25:48,300
Well, you know, you raise up another interesting quote there.

495
00:25:48,580 --> 00:25:53,020
Like, so, you know, when you're talking with architects here and there, like, how do they

496
00:25:53,020 --> 00:25:59,820
run their, their, like, councils of governance nowadays, right?

497
00:25:59,860 --> 00:26:03,100
Like, like in the sense of some decision.

498
00:26:03,100 --> 00:26:04,100
Like, this review board.

499
00:26:04,700 --> 00:26:05,180
Yeah.

500
00:26:05,320 --> 00:26:11,960
Like, some decision was made that we're going to use these two programming languages, right?

501
00:26:12,020 --> 00:26:15,180
Because we don't want to, we're anti-Galapagos or whatever.

502
00:26:15,400 --> 00:26:18,760
That's, we're anti-archipelago to.

503
00:26:18,920 --> 00:26:19,360
Is that better?

504
00:26:19,500 --> 00:26:20,220
Is that, okay.

505
00:26:20,340 --> 00:26:25,300
Yeah, and, and, you know, it's just sort of like, I would assume part of what you want

506
00:26:25,300 --> 00:26:32,100
your architects to do, your enterprise architects, is to put, put safety measures in place that

507
00:26:32,100 --> 00:26:35,740
help, like, de-risk your future and so forth and so on.

508
00:26:35,820 --> 00:26:40,660
So, someone would think, like, we should have a limited number of programming languages.

509
00:26:40,660 --> 00:26:45,640
So, I assume that means, like, they need to schedule a meeting and then they got to go

510
00:26:45,640 --> 00:26:47,700
to a meeting and someone has to cover that.

511
00:26:48,100 --> 00:26:53,280
And then there's a discussion on it and then they, like, decide on it and then they, you

512
00:26:53,280 --> 00:26:56,060
know, update, like, a SharePoint site or something.

513
00:26:56,200 --> 00:26:59,060
But, like, I mean, I'm making a jokey example of that.

514
00:26:59,200 --> 00:27:00,180
But, like, do you-

515
00:27:00,180 --> 00:27:00,840
You're not wrong.

516
00:27:01,220 --> 00:27:04,020
Like, how do you encounter that people, like-

517
00:27:04,020 --> 00:27:04,280
Sure.

518
00:27:04,600 --> 00:27:11,120
Do the, the, the act of governance, the motions of it that result in things happening outside

519
00:27:11,120 --> 00:27:12,020
of a whiteboard?

520
00:27:12,720 --> 00:27:18,040
So, I, I think, I mean, I, I want to believe we've gotten better at this because the traditional

521
00:27:18,040 --> 00:27:21,420
approach to governance was ineffectual and painful.

522
00:27:21,420 --> 00:27:26,440
You know, I think back in my career, how many of these, and there's various words that come

523
00:27:26,440 --> 00:27:30,940
in front of review board that I've seen, you know, the architecture review board, the change

524
00:27:30,940 --> 00:27:33,160
review board, the change review board, review board.

525
00:27:33,340 --> 00:27:34,440
I mean, just everything, right?

526
00:27:34,780 --> 00:27:35,220
Mysterious.

527
00:27:36,220 --> 00:27:37,320
Mysterious review board.

528
00:27:37,580 --> 00:27:41,080
And, and the thing that always stood out to me as I went through these processes is

529
00:27:41,080 --> 00:27:46,600
it would force me as the tech lead, the architect, to put in a lot of effort producing some kind

530
00:27:46,600 --> 00:27:47,340
of documentation.

531
00:27:48,280 --> 00:27:51,600
You know, there was always a template that had a bunch of stuff in it that made no sense.

532
00:27:51,680 --> 00:27:52,860
You weren't really sure how to do it.

533
00:27:52,900 --> 00:27:57,560
It didn't really apply, you know, but you had to put this together in various chapters and

534
00:27:57,560 --> 00:27:58,680
pages and documents.

535
00:27:59,340 --> 00:28:02,660
And then you'd have to submit that sometime weeks before your meeting.

536
00:28:02,840 --> 00:28:05,140
And, you know, it's all this pain of scheduling a meeting and get to the meeting.

537
00:28:05,240 --> 00:28:08,780
And then basically you'd read this documentation out loud to people who should have already read

538
00:28:08,780 --> 00:28:09,280
the documentation.

539
00:28:09,280 --> 00:28:13,460
And, and then seven people would ask the same question one right after each other because

540
00:28:13,460 --> 00:28:14,840
they weren't listening or paying attention.

541
00:28:14,960 --> 00:28:16,080
It was just like, what's the point of this?

542
00:28:16,320 --> 00:28:19,580
You don't know enough about my project to stop it or not.

543
00:28:19,660 --> 00:28:21,040
It's just a rubber stamp.

544
00:28:22,040 --> 00:28:26,280
What has ultimately happened, I think, in a lot of organizations is they've sort of distributed

545
00:28:26,280 --> 00:28:27,000
that better.

546
00:28:27,660 --> 00:28:30,660
And so I think about like open source software, right?

547
00:28:30,680 --> 00:28:35,460
You know, I worked at one company where we had a fairly stringent open source sort of

548
00:28:35,460 --> 00:28:36,580
acceptance process.

549
00:28:36,880 --> 00:28:39,200
You know, you had to go through a bunch of paperwork and get on.

550
00:28:39,280 --> 00:28:39,960
Meeting and all this.

551
00:28:40,300 --> 00:28:44,780
And we eventually migrated that to, hey, listen, we've got an internal repository.

552
00:28:45,460 --> 00:28:49,600
That repository is going to be configured that as long as it's a benign license.

553
00:28:49,600 --> 00:28:52,400
So it's something that the lawyers have said we don't have a problem with.

554
00:28:52,400 --> 00:28:55,120
And there's no known security vulnerabilities.

555
00:28:55,820 --> 00:28:56,760
Go for it.

556
00:28:56,880 --> 00:29:00,540
You know, we're going to distribute that decision making out to the teams because the teams know

557
00:29:00,540 --> 00:29:04,760
best, or we hope they know best, what they need for their situation.

558
00:29:05,280 --> 00:29:10,580
Now, hopefully, they've got good senior leadership in place from a technical standpoint that they're

559
00:29:10,580 --> 00:29:14,300
not just randomly grabbing stuff and stitching it together, that they're putting some thought

560
00:29:14,300 --> 00:29:14,780
into it.

561
00:29:15,220 --> 00:29:18,880
You know, but at a certain stage, to bring in our parenting metaphor again, it's kind of

562
00:29:18,880 --> 00:29:20,000
the same as a parent.

563
00:29:20,100 --> 00:29:23,380
You got to sort of like trust that your kid's going to do the right thing most of the time,

564
00:29:23,540 --> 00:29:25,280
and if not, well, learning opportunity.

565
00:29:25,900 --> 00:29:31,000
You know, but this idea of trying to have it all being centralized just doesn't work today if we're

566
00:29:31,000 --> 00:29:34,600
trying to be responsive to changes in the marketplace, changes to our business.

567
00:29:35,160 --> 00:29:40,120
You know, how can I wait three months to go in front of a group of people who don't have the

568
00:29:40,120 --> 00:29:43,380
context when it's like, I need to make a decision by Thursday.

569
00:29:43,620 --> 00:29:50,260
Because if we can't hit by Thursday, the opportunity's lost, you know, and that's just a, I think,

570
00:29:50,300 --> 00:29:53,020
a reaction to the fact that things are moving more rapidly today.

571
00:29:53,200 --> 00:29:57,860
And, you know, you can't afford to sit around and wait and twiddle our thumbs while a group

572
00:29:57,860 --> 00:30:02,440
of people who just don't have any context now are going to make potentially an arbitrary

573
00:30:02,440 --> 00:30:02,960
decision.

574
00:30:03,460 --> 00:30:03,940
Yeah, yeah.

575
00:30:04,040 --> 00:30:10,460
You know, on my Software Defined Talk podcast, I interviewed Yana Werner, who works at Tesco

576
00:30:10,460 --> 00:30:13,460
Bank, and she wrote this paper with Barry O'Reilly.

577
00:30:13,700 --> 00:30:17,320
And this was the first time I read some text to someone when I was interviewing her.

578
00:30:17,320 --> 00:30:23,800
But she had this great passage that basically to reduce it was that your, or I should say

579
00:30:23,800 --> 00:30:29,860
they, that your cycle time, like, you know, your release time is determined by your meeting

580
00:30:29,860 --> 00:30:31,160
cadence time, right?

581
00:30:31,280 --> 00:30:37,180
So like the meeting cadence that the managers go through to approve things, basically, whatever,

582
00:30:37,400 --> 00:30:41,780
that's the, that's the primary thing that like drives how fast you can do something or how

583
00:30:41,780 --> 00:30:42,820
slow you can do something.

584
00:30:43,080 --> 00:30:43,160
Sure.

585
00:30:43,620 --> 00:30:49,980
And so just as you were saying, right, like if you, if there is a, a cab, that's a change

586
00:30:49,980 --> 00:30:50,540
advisory.

587
00:30:51,140 --> 00:30:52,780
That's another thing.

588
00:30:52,860 --> 00:30:56,260
But, you know, if it's on a 30 day cycle, then you're going to be in a 30 day cycle.

589
00:30:56,260 --> 00:31:02,400
And I don't think that that's like a, it's sort of like maybe a cousin or a sibling of the

590
00:31:02,400 --> 00:31:03,600
old Conway thing, right?

591
00:31:03,600 --> 00:31:07,680
Like at some point it was established that we're going to do this every 30 days because

592
00:31:07,680 --> 00:31:08,980
that's when it needs to happen.

593
00:31:09,140 --> 00:31:13,780
But then as the years go by, it's more that like, we're going to do things every 30 days

594
00:31:13,780 --> 00:31:15,280
because that's when the meetings happen.

595
00:31:15,280 --> 00:31:15,720
Right.

596
00:31:15,760 --> 00:31:18,120
Which is a subtle, like a change between them.

597
00:31:18,120 --> 00:31:22,680
But yeah, I mean, that seems to be one of the primary problems with, with doing enterprise

598
00:31:22,680 --> 00:31:28,280
architecture now is finding out how to, I don't know, not get in the way and yet, and

599
00:31:28,280 --> 00:31:30,000
yet still, still do your job.

600
00:31:30,000 --> 00:31:30,320
Right.

601
00:31:30,620 --> 00:31:30,980
Right.

602
00:31:31,200 --> 00:31:31,320
Right.

603
00:31:31,320 --> 00:31:35,400
Like still bring the, uh, the value that you do, which is a thrilling.

604
00:31:35,960 --> 00:31:39,920
You're hinting at what I've said is like the most dangerous phrase you can say in an organization

605
00:31:39,920 --> 00:31:41,500
is that's how we've always done it.

606
00:31:41,720 --> 00:31:44,960
You know, and we all fall into that trap where it's like, well, but we've always done it

607
00:31:44,960 --> 00:31:45,360
that way.

608
00:31:45,360 --> 00:31:48,120
It's like, but why do you have to do it that way?

609
00:31:48,140 --> 00:31:49,360
Is, is that a requirement?

610
00:31:49,360 --> 00:31:54,800
Is that just an artifact of what just so turns out the first Thursday of the month was when

611
00:31:54,800 --> 00:31:57,620
somebody scheduled it five years ago and so that's now the cadence we're on?

612
00:31:57,680 --> 00:31:58,060
Like why?

613
00:31:58,200 --> 00:31:58,680
I don't know.

614
00:31:58,700 --> 00:32:01,420
Maybe they just, that was the time they had free on their calendar.

615
00:32:01,660 --> 00:32:03,820
It doesn't mean it's the right way to do it.

616
00:32:03,960 --> 00:32:09,780
And this is where, again, if we sort of harness that sort of agile idea of let's review, is

617
00:32:09,780 --> 00:32:10,600
it working or not?

618
00:32:10,640 --> 00:32:12,660
And if it's working, great, let's do more of it.

619
00:32:12,740 --> 00:32:13,520
Oh, it's not working?

620
00:32:14,040 --> 00:32:14,360
Great.

621
00:32:14,440 --> 00:32:16,960
Let's change it and try to figure out how we can make things better.

622
00:32:16,960 --> 00:32:20,080
Instead of just like continually pounding our head against the wall and saying, well, there's

623
00:32:20,080 --> 00:32:21,160
nothing we can do about this.

624
00:32:21,640 --> 00:32:24,780
Actually there is, you're, you're, you're in control of yourself.

625
00:32:24,780 --> 00:32:30,040
So if it's not working, change it and try something different.

626
00:32:30,200 --> 00:32:32,200
What's the worst thing that could possibly happen?

627
00:32:32,800 --> 00:32:36,900
You know, I, I will say though, a lot of organizations is certainly organizations I've been a part

628
00:32:36,900 --> 00:32:42,140
of, they're, they're much happier failing conventionally than potentially succeeding

629
00:32:42,140 --> 00:32:42,720
radically.

630
00:32:43,400 --> 00:32:48,420
Because if I fail the way everyone else has failed, well, you know, better luck next time.

631
00:32:48,420 --> 00:32:49,320
You know, what are you going to do?

632
00:32:49,400 --> 00:32:50,520
That's what happens to projects.

633
00:32:50,720 --> 00:32:54,460
If you succeed radically, people are like, whoa, how'd you do that?

634
00:32:54,460 --> 00:32:57,520
But of course, if you fail radically, well, why didn't you just do it the way everyone

635
00:32:57,520 --> 00:32:58,300
else is doing it?

636
00:32:59,140 --> 00:32:59,500
Yeah.

637
00:32:59,720 --> 00:33:02,980
Because it would have failed just like those other projects failed, but well, you get fired

638
00:33:02,980 --> 00:33:06,380
because, you know, you failed radically instead of failing conventionally.

639
00:33:06,760 --> 00:33:07,120
Yes.

640
00:33:07,780 --> 00:33:09,920
Failing in exciting, helpful new ways.

641
00:33:10,860 --> 00:33:11,020
Yeah.

642
00:33:11,140 --> 00:33:12,680
You know, and again, that's how we learn though.

643
00:33:12,800 --> 00:33:17,800
And so that's the challenge there is, is being in an environment that can actually accept

644
00:33:17,800 --> 00:33:19,100
that and learn from that.

645
00:33:19,180 --> 00:33:19,980
That's the hard part.

646
00:33:20,260 --> 00:33:20,520
Yeah.

647
00:33:20,600 --> 00:33:20,840
Yeah.

648
00:33:21,160 --> 00:33:21,480
Yeah.

649
00:33:21,480 --> 00:33:25,620
It seems like that's, that's something, uh, you would expect to see from, from architects

650
00:33:25,620 --> 00:33:29,520
going forward is like, they're the, uh, the, the net, the maker of nets.

651
00:33:29,640 --> 00:33:34,720
I was going to say net weaver, but that might like give people some like SOA problems and

652
00:33:34,720 --> 00:33:38,860
memories, but, but, you know, they should be the ones who are kind of like making, uh,

653
00:33:38,980 --> 00:33:43,200
experimentation and moving that fast safe, not preventing it from happening.

654
00:33:43,200 --> 00:33:48,260
So the last, the last things I wanted to ask about, uh, or the last thing is our, is our

655
00:33:48,260 --> 00:33:49,820
old friend, the monolith.

656
00:33:50,340 --> 00:33:56,920
Now I I'm starting to build up long-term over the decades, this category of technology discussion

657
00:33:56,920 --> 00:34:03,400
in my head, which is like, which is like, I think it happens in three acts.

658
00:34:03,500 --> 00:34:06,340
There's like this, this new thing is awesome and cool.

659
00:34:06,500 --> 00:34:10,060
It's kind of like you were saying, uh, earlier that I've mentioned this, it's awesome and

660
00:34:10,060 --> 00:34:14,620
cool and, and we should totally do it and everyone should run off and do it.

661
00:34:14,680 --> 00:34:19,860
And then, and then there's, there's this, this, uh, this drawback where it's like, whoa, maybe

662
00:34:19,860 --> 00:34:21,500
everyone should not go off and do it.

663
00:34:21,500 --> 00:34:21,760
Right.

664
00:34:21,780 --> 00:34:25,680
Like everyone should be using it, but no one should know about it.

665
00:34:25,880 --> 00:34:30,440
This is, we'll call this the word we like to use nowadays is it should be boring, right?

666
00:34:30,440 --> 00:34:31,740
Like it should be ubiquitous.

667
00:34:32,100 --> 00:34:35,140
It should be used everywhere, but no one should be using it directly.

668
00:34:35,140 --> 00:34:38,140
Kind of like indoor plumbing, indoor plumbing is boring, right?

669
00:34:38,160 --> 00:34:42,820
Like no one, unless you're a professional, don't mess with indoor plumbing, just benefit

670
00:34:42,820 --> 00:34:44,160
from interfacing with it.

671
00:34:44,400 --> 00:34:44,540
Right.

672
00:34:44,700 --> 00:34:44,900
Yep.

673
00:34:45,160 --> 00:34:46,920
So we want things to be boring.

674
00:34:47,540 --> 00:34:52,120
And then we get to this third thing where there it's, we've kind of whipsawed too far

675
00:34:52,120 --> 00:34:53,380
into don't worry about it.

676
00:34:53,440 --> 00:34:55,960
And it's just like, I don't know, use whatever's right.

677
00:34:56,400 --> 00:34:56,620
Right.

678
00:34:56,660 --> 00:34:59,580
Like you super useful advice.

679
00:34:59,660 --> 00:35:00,720
Just do the right thing.

680
00:35:00,800 --> 00:35:01,900
Use what's appropriate.

681
00:35:01,900 --> 00:35:06,760
And, and I, and when I was reading through your book, I was almost, I was reminded of

682
00:35:06,760 --> 00:35:10,000
like the monolith is almost in this area where.

683
00:35:10,580 --> 00:35:15,420
So, so I forget when microservices came about, it was around the time when I joined Pivotal

684
00:35:15,420 --> 00:35:17,580
in like 2014 or 2015, right?

685
00:35:17,600 --> 00:35:21,860
That was when there was, that was in Martin Fowler had that picture of you must be tall

686
00:35:21,860 --> 00:35:25,660
to ride this ride, which like, I think it was still probably in every single presentation

687
00:35:25,660 --> 00:35:26,680
about microservices.

688
00:35:26,680 --> 00:35:27,020
Right.

689
00:35:27,060 --> 00:35:32,020
And it really struck me at the time that any microservices talk you would go see in 2015,

690
00:35:32,160 --> 00:35:37,080
2016, the first thing they would tell you is very much so like Kubernetes is that you should

691
00:35:37,080 --> 00:35:38,360
probably not be doing this.

692
00:35:38,740 --> 00:35:39,180
Right.

693
00:35:39,540 --> 00:35:41,760
Please don't leave for the next 45 minutes.

694
00:35:41,980 --> 00:35:42,300
Right.

695
00:35:42,360 --> 00:35:44,960
It's just like, I don't, it was absurd.

696
00:35:46,700 --> 00:35:51,100
And then, and then slowly things come in and there was, there was many sort of long things

697
00:35:51,100 --> 00:35:52,300
of like monoliths are great.

698
00:35:52,400 --> 00:35:54,600
If you need to use them, you should probably start with that.

699
00:35:55,060 --> 00:36:02,920
And so, so I ask you, my coworker, Nate, like, come on, shouldn't people just not do monoliths?

700
00:36:02,920 --> 00:36:07,340
I mean, I feel, I feel like, I feel like there's this layup that always happens.

701
00:36:07,340 --> 00:36:08,520
Like monoliths are great.

702
00:36:08,680 --> 00:36:09,680
You should stick with those.

703
00:36:10,020 --> 00:36:12,240
And we're never going to talk about them again.

704
00:36:12,340 --> 00:36:18,420
It's like, and to put it another way, I was thinking like, I have not seen any good or

705
00:36:18,420 --> 00:36:23,420
interesting or any presentations about successful patterns for monoliths.

706
00:36:23,640 --> 00:36:25,360
Like no one covers that anymore.

707
00:36:25,560 --> 00:36:28,020
There's no new monolith frameworks.

708
00:36:28,400 --> 00:36:32,260
There's no like, here's how to like SRE or monolith.

709
00:36:32,260 --> 00:36:35,420
It's all, the only thing people talk about is microservices.

710
00:36:35,660 --> 00:36:40,760
And so the sense that I get is that maybe we're just trying to be too nice and we should

711
00:36:40,760 --> 00:36:45,940
just be like, don't do monoliths, but like, I don't want to monolith shame you.

712
00:36:46,340 --> 00:36:48,660
Like, I don't, I don't know what's going on there.

713
00:36:49,780 --> 00:36:52,000
Well, maybe it's, it's to back to your plumbing thing.

714
00:36:52,040 --> 00:36:53,640
We don't talk about it in our plumbing anymore either.

715
00:36:53,680 --> 00:36:57,300
We talk about home automation because home automation is the cool new hotness.

716
00:36:57,300 --> 00:37:00,640
And I want to be able to like clap and then my lights turn on and I want to say

717
00:37:00,640 --> 00:37:03,260
a movie and my toilet flushes.

718
00:37:03,320 --> 00:37:03,460
Yeah.

719
00:37:03,680 --> 00:37:09,260
Although I guess with, with the, the toilet paper as currency that we seem to do living,

720
00:37:09,360 --> 00:37:12,920
I don't, is, is toilet paper hard to get in, in your side of the planet?

721
00:37:13,220 --> 00:37:13,520
Pretty straightforward.

722
00:37:13,680 --> 00:37:16,300
I think it's finally got to the point now in the States where it's all sort of balanced

723
00:37:16,300 --> 00:37:17,120
itself out again.

724
00:37:17,640 --> 00:37:21,580
But, you know, for a while there, like bidet sales were through the roof because can't

725
00:37:21,580 --> 00:37:22,160
control the paper.

726
00:37:22,320 --> 00:37:23,640
Let's put it in a bidet now.

727
00:37:23,740 --> 00:37:27,020
So maybe, maybe internal plumbing got really exciting there for a brief period of time.

728
00:37:27,700 --> 00:37:34,080
So to your point, I do think that we don't talk about the monolith because it's, it's not

729
00:37:34,080 --> 00:37:38,080
exciting and new and people don't want to talk about stuff that, well, we've been doing

730
00:37:38,080 --> 00:37:40,260
that for 20 years, 30 years forever.

731
00:37:40,260 --> 00:37:44,440
I mean, it, it is ironic to me that probably the most common pattern to see in architecture

732
00:37:44,440 --> 00:37:45,580
is the big ball of mud.

733
00:37:46,000 --> 00:37:48,340
And yet that is the one we're all like, please don't do this.

734
00:37:48,380 --> 00:37:49,720
And yet we just keep doing it.

735
00:37:49,780 --> 00:37:53,400
So I'm not quite sure how to feel about that as someone who tries to teach people how to

736
00:37:53,400 --> 00:37:54,060
do this the right way.

737
00:37:54,840 --> 00:38:00,400
But I think it's important to understand that, that our applications exist on a continuum

738
00:38:00,400 --> 00:38:05,260
of modularity kind of on one axis and like deployability on another axis.

739
00:38:05,260 --> 00:38:08,440
And, you know, this is something that Spencer Gibb and I were talking about and he really

740
00:38:08,440 --> 00:38:12,040
kind of gave me this sort of vision that I then turned into this kind of slide that I

741
00:38:12,040 --> 00:38:13,020
like to show about this.

742
00:38:13,120 --> 00:38:18,660
But so the modular or the monolith kind of lives in that it's not modular and it's not

743
00:38:18,660 --> 00:38:21,580
very deployable because it's just a big blob that you have to stick out together.

744
00:38:21,820 --> 00:38:23,940
And obviously we'd like it to be more modular.

745
00:38:24,040 --> 00:38:24,940
That gives us some wins.

746
00:38:25,980 --> 00:38:30,640
And what ends up happening is a lot of people, they don't build modular monoliths.

747
00:38:30,640 --> 00:38:34,880
They build like they try to build this big ball of mud that they put out on multiple

748
00:38:34,880 --> 00:38:39,480
servers that distributed big ball of mud, which is probably the worst of all worlds.

749
00:38:40,380 --> 00:38:45,640
And so as we're trying to get to that magical upper right nirvana of microservices that are

750
00:38:45,640 --> 00:38:50,380
deployable and modular and I can easily swap things in and out, we tend to maybe make some

751
00:38:50,380 --> 00:38:52,280
mistakes along the way of getting there.

752
00:38:52,580 --> 00:38:55,900
So that's kind of that argument of if you go from the monolith to the modular monolith,

753
00:38:55,900 --> 00:39:01,740
if then from there you now understand where are those seams in your application, what makes

754
00:39:01,740 --> 00:39:03,180
sense as a microservice.

755
00:39:04,200 --> 00:39:06,040
So I think that's part of the challenge.

756
00:39:07,140 --> 00:39:12,480
But I feel like so many of these things, it's us learning where the edges of the map actually

757
00:39:12,480 --> 00:39:16,320
are and what benefits from that distributability.

758
00:39:16,720 --> 00:39:20,860
Not everything needs to scale to infinity and beyond.

759
00:39:20,860 --> 00:39:24,840
Not everything is changing every few minutes, every few days.

760
00:39:25,260 --> 00:39:31,180
You know, there's parts of your system that are stable and you know, this is how much compute

761
00:39:31,180 --> 00:39:32,360
I need to run this.

762
00:39:32,720 --> 00:39:34,880
I don't have to worry about it spiking up.

763
00:39:35,020 --> 00:39:37,240
You know, I think about I worked on a system for a long time.

764
00:39:37,720 --> 00:39:43,360
My user population was 150 people, 200 people, something like that.

765
00:39:43,600 --> 00:39:46,400
I never had to worry about thousands of concurrent users.

766
00:39:46,400 --> 00:39:51,440
You know, so that had a very different scaling, so to speak, than if you're Dick's Sporting

767
00:39:51,440 --> 00:39:55,180
Goods or something and you potentially have hundreds of thousands, millions of people hammering

768
00:39:55,180 --> 00:39:57,620
your site the day after Thanksgiving here in the U.S.

769
00:39:58,120 --> 00:40:02,300
You know, so it's just a different set of concerns that you have to sort of apply.

770
00:40:02,460 --> 00:40:07,200
And again, that's where I think having that more mature vision of this instead of saying,

771
00:40:07,300 --> 00:40:12,360
I need to do this because I want to put it on my resume or it's the new hotness or I saw

772
00:40:12,360 --> 00:40:15,820
something on Twitter, okay, does it give you value?

773
00:40:16,220 --> 00:40:21,280
Do you have the same sort of context and constraints and forces acting on your application?

774
00:40:21,460 --> 00:40:23,460
Then great, you should probably use those tools.

775
00:40:23,580 --> 00:40:28,160
If not, it's probably just adding accidental complexity to your world and that's not a win

776
00:40:28,160 --> 00:40:28,940
for any of us.

777
00:40:29,240 --> 00:40:31,840
What we do is hard enough as it is.

778
00:40:32,320 --> 00:40:37,760
We don't need to make it harder just so we can say, hey, I did a microserver serverless

779
00:40:37,760 --> 00:40:38,660
functions with Kafka.

780
00:40:39,040 --> 00:40:39,780
Like, cool.

781
00:40:40,560 --> 00:40:42,020
Did it actually work?

782
00:40:42,120 --> 00:40:43,500
Did it help your customers?

783
00:40:43,700 --> 00:40:46,600
Did it increase whatever things you care about?

784
00:40:46,720 --> 00:40:48,620
You know, revenue, signups, whatever.

785
00:40:49,420 --> 00:40:52,740
You know, that's where I think we need to, again, just sort of have that slightly more

786
00:40:52,740 --> 00:40:58,580
adult view of these things and not get so caught up in kind of the buzz and the new hotness

787
00:40:58,580 --> 00:40:59,100
and the hype.

788
00:40:59,500 --> 00:41:00,420
But, you know, that's...

789
00:41:00,420 --> 00:41:02,620
You got to start off with some...

790
00:41:02,620 --> 00:41:05,480
I don't know if this is the technical term, but some needs analysis.

791
00:41:06,140 --> 00:41:12,740
What is it you need from there to make sure that you're using the right tool for the job?

792
00:41:13,300 --> 00:41:18,760
I keep wanting to say the right tool for the right job, which adds a subtle other layer

793
00:41:18,760 --> 00:41:20,300
of analysis to it.

794
00:41:20,400 --> 00:41:22,280
Like, how does we determine the right job?

795
00:41:22,640 --> 00:41:24,360
But, you know...

796
00:41:24,360 --> 00:41:24,840
Yeah, that's it.

797
00:41:25,000 --> 00:41:31,420
I like that quadrant you could make there, the modularity versus deployability.

798
00:41:31,900 --> 00:41:35,280
Those are fun things to think about.

799
00:41:35,380 --> 00:41:35,660
All right.

800
00:41:35,960 --> 00:41:38,640
So, where can people find this book?

801
00:41:39,560 --> 00:41:40,720
You can get it from us.

802
00:41:40,780 --> 00:41:41,760
It's on our website.

803
00:41:42,180 --> 00:41:45,460
You know, I don't have the link right at the top of my head, but I'm betting you can probably

804
00:41:45,460 --> 00:41:46,980
add that into the show notes.

805
00:41:47,040 --> 00:41:47,400
Yeah, sure.

806
00:41:48,200 --> 00:41:49,600
If you go to...

807
00:41:49,600 --> 00:41:54,020
I don't know where I can put it on Twitch because I'm in my 40s.

808
00:41:54,500 --> 00:42:00,940
But if you go to Tansu.vmware.com slash podcast, you can find the show notes where I'll put

809
00:42:00,940 --> 00:42:03,160
this in the Tansu Talk podcast episode.

810
00:42:03,340 --> 00:42:07,920
But also, if you just search for responsible microservices, I'm sure you'll find it and you

811
00:42:07,920 --> 00:42:08,300
can...

812
00:42:08,300 --> 00:42:09,800
It'll show up on our site somewhere.

813
00:42:09,800 --> 00:42:12,000
Well, where are you in Twitter?

814
00:42:12,520 --> 00:42:12,920
Just...

815
00:42:12,920 --> 00:42:13,660
You can tell people...

816
00:42:13,660 --> 00:42:17,120
Oh, N-T-S-C-H-U-T-T-A.

817
00:42:17,280 --> 00:42:22,560
I mostly tweet about travel issues, which don't happen anymore, which means I try to OH things

818
00:42:22,560 --> 00:42:23,520
that my family says.

819
00:42:23,820 --> 00:42:24,480
Oh, yes.

820
00:42:24,480 --> 00:42:26,820
Now it's traveling from the office to the bathroom.

821
00:42:27,020 --> 00:42:27,260
Right.

822
00:42:27,380 --> 00:42:27,720
Right.

823
00:42:27,880 --> 00:42:31,300
Well, and the challenge is like my wife is normally right across my shoulder and I had

824
00:42:31,300 --> 00:42:35,140
to tell her, hey, sorry, I have a chat with Coté this morning, so I need you to not be

825
00:42:35,140 --> 00:42:35,480
in here.

826
00:42:35,780 --> 00:42:36,000
Oh.

827
00:42:36,300 --> 00:42:37,780
We'll have her on next time.

828
00:42:38,620 --> 00:42:38,980
Absolutely.

829
00:42:39,140 --> 00:42:40,140
I don't have an indoor voice.

830
00:42:40,600 --> 00:42:42,820
And so she has told me repeatedly that I can't...

831
00:42:43,500 --> 00:42:46,540
Like if I have a meeting and she has a meeting, like one of us has to move.

832
00:42:46,940 --> 00:42:51,380
Because I was doing a call or something and she was having a team meeting and someone said,

833
00:42:51,440 --> 00:42:53,360
hey, Christine, I think your TV's on.

834
00:42:53,520 --> 00:42:55,540
And she's like, no, no, that's just my husband.

835
00:42:56,480 --> 00:42:57,980
So I don't know.

836
00:42:58,040 --> 00:43:02,140
I, I sound fine to me, but she says I'm shouting into my mind.

837
00:43:02,180 --> 00:43:02,740
I don't know.

838
00:43:03,520 --> 00:43:04,580
It's hard to say.

839
00:43:05,200 --> 00:43:06,060
Well, it's hard to say.

840
00:43:06,180 --> 00:43:06,680
I'm glad y'all.

841
00:43:06,680 --> 00:43:07,900
A lot of together time.

842
00:43:08,240 --> 00:43:09,400
A lot of together time.

843
00:43:10,340 --> 00:43:10,700
Yeah.

844
00:43:11,040 --> 00:43:11,400
Yeah.

845
00:43:11,400 --> 00:43:15,240
I wasn't, I wasn't paying close, close enough attention to my decorum.

846
00:43:15,300 --> 00:43:19,940
And the other day I, I was dropping off my son for a play date and their parents asked

847
00:43:19,940 --> 00:43:22,040
me like, oh, so you don't have to travel that any much more.

848
00:43:22,100 --> 00:43:24,200
How, how are you, how is that going for you?

849
00:43:24,220 --> 00:43:27,700
And I said, uh, I kind of like it.

850
00:43:27,840 --> 00:43:31,280
And they, uh, they laughed because you know, you're supposed to.

851
00:43:31,280 --> 00:43:33,220
It's a mixed, it's a mixed thing, right?

852
00:43:33,420 --> 00:43:35,460
You're only, you're only supposed to say it's great.

853
00:43:35,720 --> 00:43:36,840
I get to spend a lot of time.

854
00:43:36,920 --> 00:43:39,500
You can't, you can't admit that, uh, you only kind of like it.

855
00:43:39,660 --> 00:43:41,520
Well, there's pluses and minuses to say the least.

856
00:43:41,600 --> 00:43:45,160
I like the fact that I've gotten to ride my bike a lot more this year than I normally do.

857
00:43:45,220 --> 00:43:46,860
I've played a lot more golf than I normally do.

858
00:43:47,140 --> 00:43:51,640
I do like waking up in my own bed to be clear, but you know, I mean, there, there is some

859
00:43:51,640 --> 00:43:53,820
benefit in being gone for a little bit of time.

860
00:43:53,820 --> 00:43:56,060
You know, there's that what absence makes the heart grow fonder.

861
00:43:56,600 --> 00:44:00,920
And, you know, I, I, I, I guess I didn't look real close at your travel schedule for

862
00:44:00,920 --> 00:44:04,460
the year, but I know I had a lot of interesting trips that were lined up and, you know, it's

863
00:44:04,460 --> 00:44:07,360
kind of a bummer when you're like, oh yeah, my family was going to come with me

864
00:44:07,360 --> 00:44:11,220
for like this two week stretch in Europe and that didn't happen, you know?

865
00:44:11,220 --> 00:44:12,660
So it's, it's, it's unfortunate.

866
00:44:12,800 --> 00:44:17,020
I do think we might try some kind of a road trip thing and we're kind of kicking that around

867
00:44:17,020 --> 00:44:20,240
to see if, if this might be an opportunity to take advantage of the fact that we're all

868
00:44:20,240 --> 00:44:21,320
kind of virtual right now.

869
00:44:21,340 --> 00:44:21,920
You gotta do that.

870
00:44:21,940 --> 00:44:22,240
I don't know.

871
00:44:22,460 --> 00:44:23,000
That's nice.

872
00:44:23,080 --> 00:44:23,660
We'll see what happens.

873
00:44:23,680 --> 00:44:24,400
It's good to get out.

874
00:44:24,860 --> 00:44:25,100
All right.

875
00:44:25,120 --> 00:44:27,380
Well, speaking of getting out, we should get out.

876
00:44:27,480 --> 00:44:27,900
It's time.

877
00:44:28,180 --> 00:44:28,520
All right.

878
00:44:28,600 --> 00:44:30,680
Well, it's been a pleasure talking to you as always, my friend.

879
00:44:30,840 --> 00:44:31,860
Yeah, that sounds good.

880
00:44:31,860 --> 00:44:36,200
Well, uh, as mentioned, if you're listening to the podcast version of this, you can go to,

881
00:44:36,200 --> 00:44:40,380
uh, tonsu.vmware.com slash podcast to find the show notes.

882
00:44:40,720 --> 00:44:46,240
You can get that free book, Responsible Microservices, which, uh, sounds very adult.

883
00:44:46,800 --> 00:44:50,220
Uh, you know, hopefully there's one that's irresponsible microservices.

884
00:44:50,440 --> 00:44:51,740
Maybe that could be a lightning talk.

885
00:44:51,860 --> 00:44:52,640
Uh, right.

886
00:44:52,720 --> 00:44:53,020
Yeah.

887
00:44:53,020 --> 00:44:53,520
I like that.

888
00:44:53,600 --> 00:44:54,120
I like that.

889
00:44:54,320 --> 00:44:54,620
Yeah.

890
00:44:54,700 --> 00:45:00,440
And, uh, also if you're, uh, if you're seeing this in YouTube or elsewhere, you know, we broadcast

891
00:45:00,440 --> 00:45:06,360
these as much as I can, uh, and with many, many other things, uh, on our, uh, our, our Twitch

892
00:45:06,360 --> 00:45:06,760
stream.

893
00:45:06,760 --> 00:45:12,040
So if you go to twitch.tv slash VMware Tonsu, if you're not on there right now, you should

894
00:45:12,040 --> 00:45:15,960
just subscribe to that and, uh, you'll get notified when we're streaming things.

895
00:45:15,960 --> 00:45:17,100
We do stuff every Tuesday.

896
00:45:17,500 --> 00:45:21,180
I think Wednesday, uh, I try to do them on Mondays when we record here.

897
00:45:21,260 --> 00:45:24,780
Other times we've got lots of content for you while you're around.

898
00:45:24,780 --> 00:45:25,480
Rumor has it.

899
00:45:25,600 --> 00:45:27,320
I'm going to have a show here soon.

900
00:45:27,380 --> 00:45:27,860
Oh, that's right.

901
00:45:28,260 --> 00:45:28,620
Yeah.

902
00:45:28,860 --> 00:45:30,360
The between chair and keyboard.

903
00:45:30,580 --> 00:45:32,000
It's just a matter of time here.

904
00:45:32,040 --> 00:45:34,420
I've got a whole bunch of people more or less lined up.

905
00:45:34,540 --> 00:45:39,060
Now I just need to figure out when I can slot myself into our very busy Twitch stream.

906
00:45:39,160 --> 00:45:42,020
What I can claim is my time on our Twitch stream.

907
00:45:42,020 --> 00:45:45,200
And then that'll kind of end up in one of these similar kind of channels.

908
00:45:45,200 --> 00:45:50,020
So I'm going to try to take an opportunity to get to know some of our friends and even

909
00:45:50,020 --> 00:45:51,180
more of our industry.

910
00:45:51,800 --> 00:45:56,260
And I, you know, you're making me, you're making me realize I'm kind of set up to be the,

911
00:45:56,260 --> 00:45:59,760
uh, the art bell of, of the VMware Tonsu thing.

912
00:45:59,760 --> 00:46:04,440
Cause I'm, I, since I'm in Europe, I can start really early, even before, you know,

913
00:46:04,440 --> 00:46:05,860
around midnight, 1am.

914
00:46:06,140 --> 00:46:11,220
And so if there's anyone out there who has any, uh, odd, you, have you encountered some

915
00:46:11,220 --> 00:46:16,680
code that people tell you is not real, some sort of organizational mechanisms that seem

916
00:46:16,680 --> 00:46:19,680
like some sort of conspiracy that the government is trying to hide.

917
00:46:20,060 --> 00:46:23,320
Maybe you can call in for, uh, you know, Tonsu coast to coast.

918
00:46:23,800 --> 00:46:24,500
And we'll talk about it.

919
00:46:24,500 --> 00:46:24,880
I like that.

920
00:46:24,960 --> 00:46:26,500
The, uh, the deserts of Amsterdam.

921
00:46:27,200 --> 00:46:28,340
Tonsu after hours.

922
00:46:28,560 --> 00:46:29,540
Yeah, there we go.

923
00:46:29,760 --> 00:46:32,200
Which, you know, for me, it'll be like normal hours, but that's fine.

924
00:46:32,200 --> 00:46:32,400
Right.

925
00:46:32,420 --> 00:46:32,620
Right.

926
00:46:32,620 --> 00:46:33,580
It's nine o'clock in the morning.

927
00:46:33,940 --> 00:46:34,400
Time zones.

928
00:46:34,460 --> 00:46:35,200
How do they work?

929
00:46:35,260 --> 00:46:35,700
That would be great.

930
00:46:35,700 --> 00:46:40,220
I need to use my time zone power to talk to, uh, the, the, the kooks in the cloud native

931
00:46:40,220 --> 00:46:40,640
world.

932
00:46:40,900 --> 00:46:41,120
Totally.

933
00:46:41,120 --> 00:46:41,920
Stay up late at night.

934
00:46:42,420 --> 00:46:42,700
And, uh.

935
00:46:42,840 --> 00:46:44,340
Cloud native conspiracy theories.

936
00:46:44,640 --> 00:46:44,860
Yeah.

937
00:46:45,060 --> 00:46:46,440
Cloud native kooks.

938
00:46:46,940 --> 00:46:47,860
We should have that.

939
00:46:47,940 --> 00:46:48,120
All right.

940
00:46:48,160 --> 00:46:50,420
Well, with that, we'll see everyone next time.

941
00:46:50,680 --> 00:46:51,100
Bye-bye.
