1
00:00:00,150 --> 00:00:03,300
Matt: This is born out of our frustrations with it's

2
00:00:03,310 --> 00:00:06,540
so hard to do anything for the first time on AWS.

3
00:00:11,780 --> 00:00:14,640
Corey: Welcome to Screaming in the Cloud, I'm Corey Quinn.

4
00:00:14,859 --> 00:00:19,450
My returning guest today is Matt Coulter, who is a Senior Portfolio

5
00:00:19,450 --> 00:00:23,509
Architect at Liberty Mutual, but oh so much more than that.

6
00:00:23,880 --> 00:00:26,589
It's been about the Sunday since we've spoken, Matt.

7
00:00:26,610 --> 00:00:27,369
What have you been up to?

8
00:00:27,500 --> 00:00:30,060
Matt: Yeah, it's probably been about a year since we talked

9
00:00:30,060 --> 00:00:33,780
on this and I've been continuing a lot of my community work.

10
00:00:33,880 --> 00:00:36,270
I took a bit of a step back for a while, but starting to build

11
00:00:36,309 --> 00:00:39,589
up again with a lot of the external work for patterns and things.

12
00:00:40,129 --> 00:00:44,699
Corey: This episode's been sponsored by our friends at Panoptica, part of Cisco.

13
00:00:44,959 --> 00:00:48,720
This is one of those real rarities where it's a security product that

14
00:00:48,720 --> 00:00:54,330
you can get started with for free But also scale to enterprise grade.

15
00:00:54,819 --> 00:00:55,480
Take a look.

16
00:00:55,800 --> 00:00:59,110
In fact, if you sign up for an enterprise account, they'll even throw you

17
00:00:59,110 --> 00:01:04,110
one of the limited, heavily discounted AWS skill builder licenses they got.

18
00:01:04,269 --> 00:01:06,600
Because believe it or not, unlike so many

19
00:01:06,600 --> 00:01:10,059
companies out there, they do understand AWS.

20
00:01:10,425 --> 00:01:12,935
To learn more, please visit panoptica.

21
00:01:12,985 --> 00:01:15,745
app slash last week in AWS.

22
00:01:15,955 --> 00:01:17,625
That's panoptica.

23
00:01:17,625 --> 00:01:20,735
app slash last week in AWS.

24
00:01:21,464 --> 00:01:23,935
The community work you do has always been interesting

25
00:01:23,945 --> 00:01:27,394
and hard to classify, if that makes any sense.

26
00:01:27,775 --> 00:01:30,605
Maybe I'm oversensitive to that particular challenge, given I deal with

27
00:01:30,605 --> 00:01:34,195
some of it myself, but you do a fair bit of, you do a fair number of things.

28
00:01:34,195 --> 00:01:37,425
You're a You are a serverless hero, to my understanding.

29
00:01:37,435 --> 00:01:38,485
You're a hero of some sort.

30
00:01:38,565 --> 00:01:39,665
Is it DevTools hero?

31
00:01:39,805 --> 00:01:41,315
I can't, I can't keep it straight anymore.

32
00:01:41,555 --> 00:01:43,315
Matt: I live somewhere in between DevTools and

33
00:01:43,315 --> 00:01:46,105
serverless, so both groups claim me, so it's all right.

34
00:01:46,455 --> 00:01:50,955
Corey: You're also a conference organizer for the CD, the first Belfast AWS

35
00:01:50,995 --> 00:01:53,575
Community Day is coming up, and I'm sure we'll talk about that in a bit.

36
00:01:53,625 --> 00:01:55,405
You've done a lot of CDK stuff.

37
00:01:55,715 --> 00:02:00,685
Uh, with the CDK Community Day, the CDK Patterns site, that has been doing

38
00:02:00,685 --> 00:02:04,475
a lot of interesting things as far as not making me reinvent the wheel

39
00:02:04,485 --> 00:02:08,505
when I want to do something involving AWS, which is deeply appreciated.

40
00:02:09,164 --> 00:02:10,674
Where do you start and where do you stop?

41
00:02:10,804 --> 00:02:13,294
Matt: The funny thing for me is, so, I always try to start

42
00:02:13,294 --> 00:02:16,415
with external, which is why a lot of it is the community stuff

43
00:02:16,415 --> 00:02:20,440
that people see, because For me, if, if I personally struggle

44
00:02:20,440 --> 00:02:22,760
with something, I'm like, all right, let's get this out there.

45
00:02:22,760 --> 00:02:23,910
So the next person doesn't.

46
00:02:24,060 --> 00:02:27,299
And a lot of it started with like the CDK work.

47
00:02:27,300 --> 00:02:30,790
A lot of it started bigger than it probably should have because whenever

48
00:02:30,790 --> 00:02:33,780
I started doing the external community work, it was over the pandemic.

49
00:02:33,910 --> 00:02:38,090
So everything, you know, Sort of had a lens on it that amplified things.

50
00:02:38,470 --> 00:02:42,280
So instead of starting local and going global, I pretty much started global,

51
00:02:42,290 --> 00:02:46,170
created a conference that thousands of people have watched, and then went,

52
00:02:46,310 --> 00:02:49,699
I don't like the fact that I haven't done as much locally as what I could

53
00:02:49,699 --> 00:02:53,090
have done given I had all these eyes on what I was creating, which is

54
00:02:53,090 --> 00:02:57,779
why I started coming back to Belfast and started up the user group here.

55
00:02:58,010 --> 00:03:01,080
We've started doing regular meetings as opposed to, it was

56
00:03:01,120 --> 00:03:03,990
pretty sporadic in the past how the local community could meet.

57
00:03:04,080 --> 00:03:06,070
And then the community actually approached

58
00:03:06,070 --> 00:03:08,749
us and said, can you run a community day?

59
00:03:08,890 --> 00:03:10,480
And that's where we're like, yes, let's go.

60
00:03:10,510 --> 00:03:11,549
That's the whole point of this.

61
00:03:11,720 --> 00:03:13,379
It's let's get people excited.

62
00:03:13,590 --> 00:03:15,919
Let's try and help other people and let's grow together.

63
00:03:16,109 --> 00:03:19,119
Corey: Running an in person conference is a heavy lift.

64
00:03:19,119 --> 00:03:21,209
I've been in the periphery of a few of them myself.

65
00:03:21,229 --> 00:03:23,749
There's a reason I don't do that as a primary rule.

66
00:03:24,059 --> 00:03:28,480
And online events, are in many ways easier, depending

67
00:03:28,480 --> 00:03:31,960
upon how you want to view your definition of online event.

68
00:03:32,150 --> 00:03:34,890
I mean, at some level, it's, I'm doing a live stream, come and watch.

69
00:03:35,370 --> 00:03:37,429
Most go a little bit further beyond that.

70
00:03:37,440 --> 00:03:39,740
There's often a, there's interaction and the rest.

71
00:03:39,880 --> 00:03:42,439
I'm curious, what you've noticed is the key differences between

72
00:03:42,459 --> 00:03:45,240
building events in person versus the virtual side of it.

73
00:03:45,390 --> 00:03:48,290
Matt: For sure, I definitely think virtual is easier

74
00:03:48,290 --> 00:03:51,369
in many ways because For instance, with CDK Day, the

75
00:03:51,369 --> 00:03:54,109
organizing team was quite literally across the globe.

76
00:03:54,500 --> 00:03:56,630
We had most continents represented with the

77
00:03:56,630 --> 00:03:58,459
group that were just excited to come together.

78
00:03:58,649 --> 00:04:00,899
Corey: So someone has a terrible time, uh, as far as the

79
00:04:00,910 --> 00:04:02,839
time zone goes, as far as when the call is going to be.

80
00:04:02,989 --> 00:04:03,540
Matt: Exactly.

81
00:04:03,599 --> 00:04:06,940
We had to rotate at all times to hopefully get most of the group.

82
00:04:07,110 --> 00:04:08,269
It was the same with speakers.

83
00:04:08,269 --> 00:04:10,329
We always had people asking us, could we run

84
00:04:10,459 --> 00:04:12,019
the event on the other side of the globe?

85
00:04:12,029 --> 00:04:15,045
Because You know, like the main struggle with virtual

86
00:04:15,045 --> 00:04:18,465
is time zones for both organizers and speakers.

87
00:04:18,575 --> 00:04:21,904
Whenever you start going to in person, you still have all the challenges

88
00:04:21,904 --> 00:04:24,915
you had with remote in that you need to make sure you get diverse

89
00:04:24,925 --> 00:04:28,145
speakers coming in, you need to make sure the event actually stands

90
00:04:28,145 --> 00:04:30,990
for what it's meant to stand for and doesn't, you know, like, Sell

91
00:04:30,990 --> 00:04:34,720
out immediately in terms of pushing one product or one point of view.

92
00:04:34,720 --> 00:04:35,660
It needs to be balanced.

93
00:04:35,820 --> 00:04:40,720
So that all still exists when you go in person, but then you also deal with it

94
00:04:40,720 --> 00:04:44,930
is quite literally the world around you and the sense of stuff already exists.

95
00:04:45,170 --> 00:04:49,320
People are already used to on a Monday at 2pm, I go here.

96
00:04:49,680 --> 00:04:53,590
So if you're now sent, please come here instead of going in your original route.

97
00:04:53,915 --> 00:04:56,445
It's very different to just say click this link and join us

98
00:04:56,455 --> 00:04:59,255
whenever you're listening in the car on the way home, for instance.

99
00:04:59,405 --> 00:05:02,465
Corey: Browser tabs are a lot cheaper than tickets to an event.

100
00:05:02,545 --> 00:05:06,005
Matt: Yeah, and it's, it's, people really need to believe in the event

101
00:05:06,005 --> 00:05:10,035
that you're hosting to give away their time to physically be present.

102
00:05:10,174 --> 00:05:14,275
And it's, it, I've discovered that that combined with it just costs,

103
00:05:14,365 --> 00:05:18,000
it does cost more money to run it locally, even though We, we've had

104
00:05:18,000 --> 00:05:21,290
an amazing support from the, the companies and communities around here

105
00:05:21,290 --> 00:05:24,719
where we're running this thing on a shoestring budget, but it's a case

106
00:05:24,719 --> 00:05:29,399
of like, virtually you can just stand up StreamYard and away you go.

107
00:05:29,460 --> 00:05:30,960
You've pretty much got a conference.

108
00:05:31,119 --> 00:05:32,789
Corey: You have to worry about things like venue space

109
00:05:32,789 --> 00:05:35,739
and even getting coffee is a logistical challenge.

110
00:05:35,760 --> 00:05:39,090
It's, I've often said that it's with AWS, it's amazing they can even wind up

111
00:05:39,090 --> 00:05:42,480
getting coffee for reInvent, let alone the orchestration of what that entire

112
00:05:42,480 --> 00:05:46,599
event must be to, to get across the line of its current production value.

113
00:05:46,750 --> 00:05:49,900
Forgive my ignorance on this, but do you find that there's enough

114
00:05:49,970 --> 00:05:54,330
of a community in the Belfast area to put together a conference?

115
00:05:54,330 --> 00:05:55,520
I mean, how large are you folks?

116
00:05:55,650 --> 00:05:58,419
This is also my American ethnocentrism speaking here, where it's like,

117
00:05:58,420 --> 00:06:01,149
Wow, I figure that all the people who care about this are in Seattle

118
00:06:01,149 --> 00:06:04,879
and San Francisco, and then a smattering of other places that I can't

119
00:06:04,879 --> 00:06:07,650
find on a map because we haven't been at war with those places lately.

120
00:06:07,730 --> 00:06:09,620
That's how we as Americans learn geography.

121
00:06:09,745 --> 00:06:11,974
How sizable is the, is the community out there?

122
00:06:12,075 --> 00:06:12,315
Matt: Yeah.

123
00:06:12,315 --> 00:06:15,094
So it's, it's actually, I'm quite passionate about this one

124
00:06:15,094 --> 00:06:17,865
because everybody thinks of Ireland and they go straight to Dublin

125
00:06:18,194 --> 00:06:22,205
and think because like Microsoft's down there and AWS is down

126
00:06:22,205 --> 00:06:25,564
there that that must be the big tech hub for Ireland as a whole.

127
00:06:25,664 --> 00:06:30,775
But Belfast is very, very dense in terms of tech companies in the city center.

128
00:06:30,905 --> 00:06:33,445
And they're, they're not just pure tech companies.

129
00:06:33,445 --> 00:06:34,015
You know what I mean?

130
00:06:34,075 --> 00:06:35,565
People that just build tech for tech.

131
00:06:35,865 --> 00:06:38,155
We're talking about the tech hub of like insurance

132
00:06:38,155 --> 00:06:40,545
companies, finance companies, those kind of things.

133
00:06:40,685 --> 00:06:44,505
So whenever we started running these events, we've, uh, without

134
00:06:44,515 --> 00:06:47,344
very much effort in terms of marketing, the numbers have been

135
00:06:47,435 --> 00:06:50,684
50, 60, 70 people turning up to just the regular user group.

136
00:06:50,825 --> 00:06:54,375
And given that that's been growing every time we run it, we're pretty sure

137
00:06:54,385 --> 00:06:57,545
we'll easily get over a hundred pretty soon, just in the regular user groups.

138
00:06:57,885 --> 00:07:01,165
So it's, it's sizable and it's a voice that hasn't really been

139
00:07:01,165 --> 00:07:04,425
represented on a global stage because I don't hear my accent very often.

140
00:07:04,625 --> 00:07:06,935
So it's, it's a motivation for me to try and get

141
00:07:07,155 --> 00:07:09,335
more people in America to know the name Belfast.

142
00:07:09,494 --> 00:07:13,065
Corey: Do you find that there's a particular sway that the community

143
00:07:13,074 --> 00:07:16,704
goes in when you, when you talk in Belfast versus globally?

144
00:07:16,715 --> 00:07:19,975
And, and what I mean by that is I used to live in Los Angeles, but

145
00:07:19,975 --> 00:07:23,515
I was doing a consulting project in Iowa every week for a while.

146
00:07:23,915 --> 00:07:27,775
And when I went to user group meetings in Los Angeles, we talked about things

147
00:07:27,775 --> 00:07:31,445
like how to, in this era, 2010 or so, it was about speeding automation.

148
00:07:31,695 --> 00:07:35,475
And when I went to Linux user group meetings out in Iowa

149
00:07:35,485 --> 00:07:38,145
instead, they were talking about how do you sneak Linux

150
00:07:38,145 --> 00:07:41,344
into your primarily Windows work environment, which was a

151
00:07:41,555 --> 00:07:44,115
bit of a different flavor and a somewhat extreme example.

152
00:07:44,474 --> 00:07:48,414
But do you find that there are smaller or more common areas

153
00:07:48,414 --> 00:07:51,265
of focus in a local user group as opposed to a global one?

154
00:07:51,395 --> 00:07:51,965
Matt: For sure.

155
00:07:51,965 --> 00:07:54,944
I mean, locally, the big thing people are known for

156
00:07:54,944 --> 00:07:58,344
here is the serverless community is very strong here.

157
00:07:58,364 --> 00:08:01,594
But even outside of that, the thing that Belfast is known for is

158
00:08:01,724 --> 00:08:04,864
engineers and people in the software development industry as a whole.

159
00:08:05,405 --> 00:08:08,145
can churn well architected solutions out quickly.

160
00:08:08,325 --> 00:08:11,575
So the focus here is really on, okay, this is great.

161
00:08:11,575 --> 00:08:12,205
What did you build?

162
00:08:12,205 --> 00:08:13,265
But what was the impact?

163
00:08:13,265 --> 00:08:15,185
And then what can I take away from that?

164
00:08:15,215 --> 00:08:18,075
So people are very willing to pivot as opposed to

165
00:08:18,075 --> 00:08:20,515
jump in and be like, this is my technology till I die.

166
00:08:20,705 --> 00:08:22,885
So you get these fascinating stories of these big

167
00:08:22,895 --> 00:08:25,795
companies out there that someone from Belfast was almost

168
00:08:25,795 --> 00:08:28,745
dropped in and they saved them and then just left again.

169
00:08:28,945 --> 00:08:31,135
And that's, that's really what the story is of this city.

170
00:08:31,335 --> 00:08:34,695
Corey: I saw a great tweet this morning where someone was talking

171
00:08:34,695 --> 00:08:38,975
about how Docker is dead and Kubernetes is dead and serverless is dead.

172
00:08:38,985 --> 00:08:42,225
If, of course, by dead you mean it is now established, stable, and there are

173
00:08:42,225 --> 00:08:46,375
defined processes around it, rather than figuring out everything as we go.

174
00:08:46,794 --> 00:08:50,785
And that resonated in a bunch of ways, just from the idea

175
00:08:50,785 --> 00:08:53,995
that now it's not about the technology anymore, so much

176
00:08:53,995 --> 00:08:56,755
as it is about what the technology empowers folks to do.

177
00:08:56,915 --> 00:09:00,894
Matt: It's funny because whenever Whenever the term serverless is dead,

178
00:09:00,944 --> 00:09:04,224
got out there, a lot of people had this real visceral reaction to it,

179
00:09:04,224 --> 00:09:07,795
where it was like, if it's said on social media, it makes it true, almost.

180
00:09:07,805 --> 00:09:09,474
And there's always something behind it.

181
00:09:09,564 --> 00:09:10,194
Corey: Yeah.

182
00:09:10,204 --> 00:09:11,915
Matt: Whenever, whenever it goes that deep.

183
00:09:12,014 --> 00:09:15,124
But I think the interesting thing about it is, The

184
00:09:15,124 --> 00:09:18,174
marketing has shifted and that's where people are saying

185
00:09:18,314 --> 00:09:20,834
that, oh, I feel like it's not what I signed up for.

186
00:09:20,944 --> 00:09:24,474
But it has matured to the point that now it's, it's not the

187
00:09:24,474 --> 00:09:27,574
risk it once was to say, let's build a serverless architecture.

188
00:09:27,944 --> 00:09:31,844
It meets most needs, but at the same time, the complexity has grown.

189
00:09:32,209 --> 00:09:34,510
That it's not just, well, it just works.

190
00:09:34,810 --> 00:09:37,300
It's somewhere in the middle and it's the same with the likes of Kubernetes.

191
00:09:37,579 --> 00:09:40,380
Whenever it started out, people said, Oh, it's so complicated.

192
00:09:40,380 --> 00:09:41,280
I can't go near it.

193
00:09:41,579 --> 00:09:44,479
Whereas it's almost simplified over the years to the point

194
00:09:44,489 --> 00:09:47,319
that people are like, it's almost easier to run on Kubernetes.

195
00:09:47,319 --> 00:09:51,079
So it's technology just doing what technology does and rapidly

196
00:09:51,079 --> 00:09:54,634
evolving to meet the user needs, which Complicates and simplifies

197
00:09:54,664 --> 00:09:57,044
things in different ways depending on what the users want.

198
00:09:57,204 --> 00:09:59,734
Corey: There's something to be said for being able to

199
00:09:59,734 --> 00:10:02,324
interoperate with other technology stacks as they grow.

200
00:10:02,464 --> 00:10:05,574
My take on serverless is dead, is somewhat controversial,

201
00:10:05,574 --> 00:10:07,944
and I assure you I'm not trying to bring toxicity to this.

202
00:10:08,034 --> 00:10:10,014
But I am curious to get your take on it.

203
00:10:10,074 --> 00:10:14,164
Where I have been increasingly disheartened over the years as AWS

204
00:10:14,164 --> 00:10:17,300
has started referring to things as serverless that Don't align

205
00:10:17,300 --> 00:10:20,650
with my, or some other folks perspective on what serverless is.

206
00:10:20,859 --> 00:10:24,069
Because originally when it was launched, a fundamental aspect to it was that

207
00:10:24,069 --> 00:10:28,039
when you're not using it, it scales to zero, so you only pay for what you use.

208
00:10:28,490 --> 00:10:33,050
A growing number of services that are badged serverless, uh, Redshift, Aurora,

209
00:10:33,050 --> 00:10:36,550
and a few others, don't scale down to zero, they scale down to a minimum

210
00:10:36,550 --> 00:10:41,140
number of units that still cost tens of dollars per month per instance.

211
00:10:41,355 --> 00:10:45,235
And that's always irked me because it breaks a pattern I love with serverless.

212
00:10:45,295 --> 00:10:46,665
Take something like DynamoDB.

213
00:10:46,865 --> 00:10:50,305
Every feature branch for every developer can have its own infrastructure

214
00:10:50,305 --> 00:10:53,584
because there's no real cost associated with it beyond just storage.

215
00:10:53,754 --> 00:10:56,085
That's been, I guess, the thing that's been irking me.

216
00:10:56,175 --> 00:10:57,575
I'm curious to get your take on it.

217
00:10:57,654 --> 00:10:59,745
I'm sure there's nuance and aspects I'm missing.

218
00:10:59,890 --> 00:11:02,210
Matt: I do agree with you in the sense of like, that's what

219
00:11:02,210 --> 00:11:06,100
I love about Lambda and Dynamo and SQS and API Gateway, even

220
00:11:06,100 --> 00:11:08,750
though API Gateway, I've complained about it a lot because it's

221
00:11:08,750 --> 00:11:12,150
the most complicated way to just add a URL to a Lambda function.

222
00:11:12,560 --> 00:11:16,829
But the whole premise, I can stand it up on my personal account and

223
00:11:17,160 --> 00:11:20,010
The cost will be one cent, you know, like it's not going to be a lot.

224
00:11:20,060 --> 00:11:21,800
And then I delete it all and it's gone.

225
00:11:21,960 --> 00:11:25,500
Whereas if I tried to do anything with the traditional tech, you're going to

226
00:11:25,500 --> 00:11:27,769
need to add a credit card to that and you're going to need to worry about it.

227
00:11:27,970 --> 00:11:32,830
And yeah, the big premise of things scaling down to zero is, is huge.

228
00:11:32,910 --> 00:11:36,640
My, my thing is serverless was scales to zero, but also it was meant to

229
00:11:36,650 --> 00:11:40,380
be the undifferentiated heavy lifting gets put on the cloud provider.

230
00:11:40,540 --> 00:11:41,370
So I love it.

231
00:11:42,020 --> 00:11:44,470
Turned off, but also we had that before with things like

232
00:11:44,470 --> 00:11:47,630
Heroku and these various platforms that you could just put a

233
00:11:47,630 --> 00:11:50,619
container in and they would just auto scale up and down to zero.

234
00:11:50,780 --> 00:11:52,710
Corey: And terrible VPS providers before that.

235
00:11:52,730 --> 00:11:54,469
Oops, the service just turned itself off.

236
00:11:54,480 --> 00:11:55,370
We don't know why.

237
00:11:55,390 --> 00:11:56,090
Neither do they.

238
00:11:56,090 --> 00:11:57,870
Apparently we'll come back in six hours.

239
00:11:58,350 --> 00:11:59,089
Matt: Yeah, exactly.

240
00:11:59,090 --> 00:12:03,130
Like, so the scaling to zero is awesome for people to experiment

241
00:12:03,160 --> 00:12:06,430
with, but there's a certain point where if you're building for a

242
00:12:06,430 --> 00:12:09,805
company, the scale of liberty, the savings, are less than you'd

243
00:12:09,805 --> 00:12:12,265
think it would be on a production app by the time you add in all the

244
00:12:12,265 --> 00:12:15,235
configurations that we need in order to meet all of the compliance.

245
00:12:15,375 --> 00:12:19,584
Um, so, but where it still hits us is that, like I said, the

246
00:12:19,585 --> 00:12:22,024
undifferentiated heavy lifting is still on the developer.

247
00:12:22,024 --> 00:12:26,055
So now that they've added things like container images to Lambda, all

248
00:12:26,055 --> 00:12:28,635
of a sudden it has all the dependency issues that it would have had

249
00:12:28,635 --> 00:12:31,844
if I deployed it to a container platform, whereas Lambda was meant to

250
00:12:31,844 --> 00:12:34,765
handle all the things for me because out of the box, I was only going

251
00:12:34,765 --> 00:12:37,625
to send it the class file that it was going to have the logic in.

252
00:12:37,869 --> 00:12:39,640
And it was meant to be like 12 lines of code.

253
00:12:39,810 --> 00:12:42,969
So the, the underlying way that we develop with serverless has

254
00:12:42,969 --> 00:12:47,040
shifted, which has meant that the piece I loved is kind of niche now.

255
00:12:47,270 --> 00:12:51,749
And I think it's okay, but it definitely has made it harder for people to

256
00:12:51,749 --> 00:12:55,465
get started because Like you said, shoot a scale to zero, it should be cheap,

257
00:12:55,535 --> 00:12:58,704
and it should be minimum amount of lines of code to get people in the door.

258
00:12:58,925 --> 00:13:01,434
Corey: I think that people adopting serverless on

259
00:13:01,435 --> 00:13:04,095
a cost basis is a bit of a post hoc justification.

260
00:13:04,265 --> 00:13:06,574
People, in my experience, tend to adopt things because of

261
00:13:06,574 --> 00:13:08,785
the capability story, especially when it comes to cloud.

262
00:13:08,985 --> 00:13:12,174
Now, yes, pricing means some things are complete non starter.

263
00:13:12,174 --> 00:13:13,814
Oh, I took one look at the pricing page.

264
00:13:13,814 --> 00:13:15,935
We'll just close that browser tab and never go back

265
00:13:15,935 --> 00:13:17,905
there because I don't have that kind of scratch.

266
00:13:18,194 --> 00:13:22,305
But there are, there are other stories where It leads to a cost savings,

267
00:13:22,324 --> 00:13:26,514
but that's not the reason that people build processing queues with Lambda.

268
00:13:26,555 --> 00:13:29,874
It's because the capability story is there, the lack of maintenance

269
00:13:29,874 --> 00:13:32,964
overhead is significant, and you're effectively letting the

270
00:13:32,964 --> 00:13:36,214
cloud do the undifferentiated heavy lifting, and you can stop

271
00:13:36,214 --> 00:13:40,124
solving global problems locally in somewhat significant ways.

272
00:13:40,264 --> 00:13:43,134
That's something that I think is what led to a lot of the excitement.

273
00:13:43,469 --> 00:13:44,589
around serverless.

274
00:13:44,599 --> 00:13:47,270
The fact that it was less expensive was just a nice cherry on top.

275
00:13:47,420 --> 00:13:49,949
Matt: I would argue most developers didn't know the cost

276
00:13:49,949 --> 00:13:52,279
of what they were deploying before serverless came along.

277
00:13:52,550 --> 00:13:54,640
They just used the best developer experience.

278
00:13:54,760 --> 00:13:56,550
Corey: Well, now that we're using serverless, I would say that almost

279
00:13:56,560 --> 00:13:59,709
no one understands the cost of what they're deploying in an absolute

280
00:13:59,709 --> 00:14:02,359
sense, unless they've really done a great job of instrumentation,

281
00:14:02,369 --> 00:14:05,959
which I am as guilty as anyone else in not really having that.

282
00:14:06,245 --> 00:14:08,165
across the board as well as I would like.

283
00:14:08,454 --> 00:14:09,645
In theory, it's great.

284
00:14:09,645 --> 00:14:13,074
You can, you can figure out the cost per request or per thousand requests.

285
00:14:13,225 --> 00:14:17,395
In practice, I find that's one of those aspirational items on the to do list.

286
00:14:17,515 --> 00:14:18,045
Matt: For sure.

287
00:14:18,045 --> 00:14:21,954
It's the most difficult skill in AWS to be able to know the costs.

288
00:14:21,965 --> 00:14:27,064
So your job, I have so much respect for it because, uh, it's, it's an art form.

289
00:14:27,235 --> 00:14:29,314
Corey: Yeah, it is not what I ever expected

290
00:14:29,375 --> 00:14:31,225
to find myself doing, but there was a need.

291
00:14:31,225 --> 00:14:32,425
I figured, I'll fill this for a couple of

292
00:14:32,425 --> 00:14:34,235
years until the problem goes away and it.

293
00:14:34,574 --> 00:14:36,465
Somehow, only ever got bigger and bigger and bigger.

294
00:14:36,465 --> 00:14:39,125
There was no magic solution here waiting around for folk.

295
00:14:39,215 --> 00:14:40,485
Matt: Crazy, they were just waiting for you.

296
00:14:40,655 --> 00:14:41,135
Corey: Exactly.

297
00:14:41,265 --> 00:14:43,435
You also have something else coming out in the somewhat

298
00:14:43,444 --> 00:14:45,715
near future, if we're allowed to talk about it.

299
00:14:45,864 --> 00:14:48,265
Matt: Yes, we can, we can definitely talk about it here first.

300
00:14:48,385 --> 00:14:49,545
Corey: By all means, tell the story.

301
00:14:49,545 --> 00:14:51,354
I dare not tell your story for you.

302
00:14:51,444 --> 00:14:53,395
Matt: Yeah, so it's something that Christy Peralta

303
00:14:53,395 --> 00:14:55,314
and I have actually been working on together.

304
00:14:55,314 --> 00:14:57,525
So Christy is another hero.

305
00:14:57,859 --> 00:15:02,770
in the AWS community, and we've been working on a product called TeachMeAWS.

306
00:15:02,900 --> 00:15:06,119
This is born out of our frustrations with, it's

307
00:15:06,130 --> 00:15:09,380
so hard to do anything for the first time on AWS.

308
00:15:09,840 --> 00:15:13,180
And by that, I don't even mean, like I do mean, but I don't

309
00:15:13,199 --> 00:15:15,759
just mean the first person in the door whenever you're

310
00:15:15,760 --> 00:15:18,530
like, I want to learn AWS, I've never touched it before.

311
00:15:18,720 --> 00:15:21,630
I mean, I haven't gone back to EventBridge in six months.

312
00:15:21,900 --> 00:15:22,850
What does it do now?

313
00:15:23,020 --> 00:15:26,350
It is very hard to catch up the second that you stop, and that's

314
00:15:26,350 --> 00:15:29,920
why we are trying to launch a product that should make it really

315
00:15:29,920 --> 00:15:32,749
easy for you to be able to go in and understand exactly what

316
00:15:32,750 --> 00:15:36,359
capabilities are there, which ones realistically you shouldn't be

317
00:15:36,359 --> 00:15:39,549
using at this point in time unless there is a niche use case for it.

318
00:15:39,920 --> 00:15:43,460
As well as provide you with the code CDK pattern style that you

319
00:15:43,460 --> 00:15:46,370
can actually just get up and running with those features so that

320
00:15:46,460 --> 00:15:49,919
ideally you don't need to go anywhere else than go to TeachMeAWS

321
00:15:49,920 --> 00:15:53,320
and you can catch up with every piece of it and get going.

322
00:15:53,899 --> 00:15:55,770
Corey: Few things are better for your career and your

323
00:15:55,779 --> 00:15:59,260
company than achieving more expertise in the cloud.

324
00:15:59,410 --> 00:16:04,030
Security improves, compensation goes up, employee retention skyrockets.

325
00:16:04,280 --> 00:16:07,520
Panoptica, a cloud security platform from Cisco,

326
00:16:07,550 --> 00:16:11,030
has created an academy of free courses just for you.

327
00:16:11,449 --> 00:16:12,959
Head on over to academy.

328
00:16:13,310 --> 00:16:14,470
panoptica.

329
00:16:14,520 --> 00:16:16,230
app to get started.

330
00:16:16,630 --> 00:16:20,249
One thing I notice about most things that teach people how AWS works is

331
00:16:20,249 --> 00:16:25,430
they have an either explicit or implicit drive towards the certifications.

332
00:16:25,870 --> 00:16:29,060
As in, okay, effectively they wind up in

333
00:16:29,060 --> 00:16:31,130
the fullness of time teaching to the test.

334
00:16:31,270 --> 00:16:34,789
What you're describing does not sound like it's headed in that direction.

335
00:16:34,910 --> 00:16:37,780
Matt: No, and full disclosure in the interest of the

336
00:16:37,780 --> 00:16:40,409
podcast, I'm not even AWS certified at this point.

337
00:16:40,560 --> 00:16:41,650
Corey: At this moment, neither am I.

338
00:16:42,919 --> 00:16:47,270
Matt: Because as far as I'm concerned, certificates are great, but in terms

339
00:16:47,270 --> 00:16:51,180
of whenever you're on a dev team and someone just says, okay, we need to build

340
00:16:51,180 --> 00:16:54,400
this feature, the certificate doesn't necessarily help you in that moment.

341
00:16:54,430 --> 00:16:58,075
Whereas If you have a tool that can turn around and say,

342
00:16:58,155 --> 00:17:01,345
okay, you're trying to build some kind of event driven flow.

343
00:17:01,405 --> 00:17:02,185
Let's talk about it.

344
00:17:02,185 --> 00:17:03,155
These are your options.

345
00:17:03,444 --> 00:17:06,545
All of a sudden you've now gone into direct problem solving and

346
00:17:06,545 --> 00:17:10,284
meeting the needs of the user instead of, well, the certificate

347
00:17:10,285 --> 00:17:13,694
wants me to know that SQS has this feature and blah, blah, blah.

348
00:17:13,815 --> 00:17:15,974
You know, it's one is very textbook.

349
00:17:15,974 --> 00:17:17,885
I need to know this knowledge and the other one is I have a

350
00:17:17,885 --> 00:17:21,085
job to do and I need to get in and quickly solve this thing.

351
00:17:21,325 --> 00:17:25,800
Corey: There's a, Definite strong sense of how to frame this.

352
00:17:26,110 --> 00:17:29,640
Uh, at least for me, that, I guess, aversion towards certifications.

353
00:17:29,680 --> 00:17:32,860
I've seen it in other people and I've noticed it in myself, and I only recently

354
00:17:32,860 --> 00:17:35,690
picked up the vocabulary to explain what it is that rankles me about it.

355
00:17:35,900 --> 00:17:40,705
And it's that they tend to Bias for process rather than results.

356
00:17:40,995 --> 00:17:44,245
And in some cases, yes, that's terrific, and for some folks, that's

357
00:17:44,274 --> 00:17:46,715
awesome, but that's always been nails on a chalkboard for me.

358
00:17:46,715 --> 00:17:49,354
It's why I don't do well in academia, it's why I don't do well in

359
00:17:49,354 --> 00:17:51,864
large companies, it's why the military is certainly not for me.

360
00:17:52,274 --> 00:17:57,195
And certifications have always felt like They teach certifications

361
00:17:57,195 --> 00:18:00,495
from the vendor perspective and the world a vendor imagines.

362
00:18:00,885 --> 00:18:03,655
And trivia is not really the best way I've found

363
00:18:03,665 --> 00:18:06,275
to assess someone's ability to get things done.

364
00:18:06,415 --> 00:18:08,725
So it's always been strange to me, but I don't want to be too

365
00:18:08,725 --> 00:18:11,834
negative about them because some people find that resonates with them.

366
00:18:11,894 --> 00:18:15,995
And especially early career, it acts as a differentiator and unlocks value.

367
00:18:16,175 --> 00:18:18,825
I'm not dunking on people who go for certifications.

368
00:18:18,845 --> 00:18:19,715
Truly, I'm not.

369
00:18:20,105 --> 00:18:20,855
But they're not for me.

370
00:18:20,965 --> 00:18:23,465
Matt: It's interesting because like you said, people work in different

371
00:18:23,465 --> 00:18:28,725
ways and I find that my particular skill set is I can amass a large amount

372
00:18:28,725 --> 00:18:32,184
of information really quickly to solve a problem and then it's gone.

373
00:18:32,395 --> 00:18:36,664
So the idea of keeping all the certificates up to date is a

374
00:18:36,665 --> 00:18:39,375
nightmare for me because that would just be constantly me trying

375
00:18:39,375 --> 00:18:42,615
to absorb all this information, do the exam and then forget it all.

376
00:18:42,705 --> 00:18:44,725
But it does make me really good at solving

377
00:18:44,725 --> 00:18:46,995
problems and architecting and doing my day job.

378
00:18:47,165 --> 00:18:48,995
But for other people who have that.

379
00:18:49,310 --> 00:18:52,260
More process driven flow, like you say, the certificates

380
00:18:52,260 --> 00:18:54,060
are brilliant for keeping that information up to date.

381
00:18:54,060 --> 00:18:55,919
It's just some people work in different ways.

382
00:18:56,110 --> 00:19:00,040
Corey: I've found that as I look at the way that I learn things, I,

383
00:19:00,649 --> 00:19:04,120
the curriculum, a standard classroom instruction do not work for me.

384
00:19:04,449 --> 00:19:06,419
What does is you have a problem to solve,

385
00:19:06,790 --> 00:19:10,489
go solve it, have fun, and that's awesome.

386
00:19:10,760 --> 00:19:14,679
if there's a problem that I can, that I can throw myself out in the right way.

387
00:19:14,800 --> 00:19:18,530
Whereas with, with a lot of the way that these things work,

388
00:19:18,530 --> 00:19:20,350
it's like, Oh, here's how to learn how to do this thing.

389
00:19:20,350 --> 00:19:21,980
And I won't remember that eight months from now

390
00:19:21,980 --> 00:19:23,730
when I need to actually do that thing for real.

391
00:19:23,730 --> 00:19:25,159
I'm going back to look it up.

392
00:19:25,319 --> 00:19:29,449
How do you, how are you approaching this from the teach me AWS side?

393
00:19:29,470 --> 00:19:30,370
Is it videos?

394
00:19:30,389 --> 00:19:31,760
Is it blog posts?

395
00:19:31,780 --> 00:19:32,830
Is it something else?

396
00:19:32,950 --> 00:19:33,190
Matt: Yeah.

397
00:19:33,190 --> 00:19:36,710
So it's, it's a little bit different in the sense of, um,

398
00:19:36,720 --> 00:19:39,244
so we want to have a couple of different angles to it.

399
00:19:39,514 --> 00:19:42,844
The first one we almost described as, I think this translates

400
00:19:42,844 --> 00:19:47,314
to America and no one's a big UK thing, but whenever you buy a

401
00:19:47,314 --> 00:19:50,185
car, you used to buy the Haynes manual, which you opened it up

402
00:19:50,185 --> 00:19:53,044
and it told you everything about the gearbox, the Haynes manual.

403
00:19:53,185 --> 00:19:54,344
Corey: Haynes manual or Chilton guide,

404
00:19:54,344 --> 00:19:56,114
depends on what religion you have, but yeah.

405
00:19:56,124 --> 00:19:56,464
Matt: Yeah.

406
00:19:56,604 --> 00:20:00,205
So that's, we need that for every piece of AWS that you can go

407
00:20:00,205 --> 00:20:03,254
in and you can just like look up EventBridge and be like, Oh.

408
00:20:03,600 --> 00:20:07,080
Okay, I see this particular flag I can set or this particular property.

409
00:20:07,360 --> 00:20:09,889
I see that, for instance, there's a difference between the EventBridge

410
00:20:09,899 --> 00:20:13,529
scheduler and scheduling an event on EventBridge, not the same thing.

411
00:20:14,010 --> 00:20:18,239
Um, so like there's that kind of people who just want to jump into an answer.

412
00:20:18,590 --> 00:20:20,929
There's the videos that you're talking about where somebody

413
00:20:20,929 --> 00:20:23,520
goes through and breaks it down in a more visual form.

414
00:20:23,790 --> 00:20:27,629
But then also there needs to be exercises almost with guardrails

415
00:20:27,629 --> 00:20:31,199
around it that say, Okay, we're going to deploy something for real

416
00:20:31,360 --> 00:20:34,739
and we're going to make sure you do it in a way that it is for real.

417
00:20:34,739 --> 00:20:37,370
It's not a case of, let's click a few buttons, you've got

418
00:20:37,370 --> 00:20:39,699
something deployed, but if you put this into production,

419
00:20:39,959 --> 00:20:42,629
let's be honest, it's going to be a tier one breach tomorrow.

420
00:20:42,759 --> 00:20:47,179
So it's, it's sort of combining jumping quickly, learn things with maybe a bit

421
00:20:47,179 --> 00:20:51,989
of, uh, you could follow the, the video feed channels to be like, okay, we just

422
00:20:51,989 --> 00:20:56,169
like the vibe with, I want to do practical exercises and learn on these things.

423
00:20:56,329 --> 00:20:58,049
And it should all be done in a way that it's.

424
00:20:58,275 --> 00:21:03,205
Uh, Tool Agnostic, because I always felt that CDK Patterns Downfall was that CDK

425
00:21:03,205 --> 00:21:06,665
was in the name, so it made it really hard to pivot to help other communities.

426
00:21:06,845 --> 00:21:09,985
So therefore this will support, you know, like CloudFormation if

427
00:21:09,985 --> 00:21:14,644
you want to do it, obviously CDK, SAM, whatever else makes sense in

428
00:21:14,644 --> 00:21:17,715
different programming languages to try and make it one place that you

429
00:21:17,715 --> 00:21:21,649
can really come back and Build that habit of going through different

430
00:21:21,649 --> 00:21:24,790
exercises, different days, or dip in and out to solve a problem.

431
00:21:24,950 --> 00:21:27,220
Corey: Not being prescriptive around tooling is a big part of it.

432
00:21:27,349 --> 00:21:31,649
I always liked uh, Ian McKay's Console Recorder 2 extension.

433
00:21:32,015 --> 00:21:34,595
Because what that did was it watched whatever API calls you

434
00:21:34,595 --> 00:21:37,865
made in the console and then spit out uh, CloudFormation if

435
00:21:37,865 --> 00:21:41,245
you wanted it, or Terraform, or Troposphere from back in the

436
00:21:41,245 --> 00:21:45,365
day, or here's how to do it with cURL requests, or the AWS CLI.

437
00:21:45,365 --> 00:21:46,665
It's amazing stuff.

438
00:21:46,745 --> 00:21:49,275
It's not prescriptive about how to do this in

439
00:21:49,285 --> 00:21:52,195
any particular language or tooling framework.

440
00:21:52,375 --> 00:21:54,445
That, I think meeting people where they are,

441
00:21:54,515 --> 00:21:57,225
people are in a lot of places, Toward this.

442
00:21:57,405 --> 00:22:00,135
I like your approach better than most that I see

443
00:22:00,135 --> 00:22:01,725
this sounds like something I would actually use.

444
00:22:02,695 --> 00:22:05,395
Matt: The other thing we want to do is So the funny thing is, I am a

445
00:22:05,395 --> 00:22:09,315
TypeScript developer at heart, and Christie's a Python developer at heart.

446
00:22:09,525 --> 00:22:12,725
So therefore, we're going to try and bake the best practices of the languages.

447
00:22:12,725 --> 00:22:13,795
We know best into it.

448
00:22:13,955 --> 00:22:16,495
And I mean, We've got Come from an enterprise,

449
00:22:16,515 --> 00:22:19,185
so Java, I have a very heavy Java knowledge set.

450
00:22:19,475 --> 00:22:21,665
So we'll obviously try and support those developers

451
00:22:21,665 --> 00:22:23,915
who've been long neglected in this space.

452
00:22:24,075 --> 00:22:25,455
Corey: Yeah, my first outing with the CDK was

453
00:22:25,455 --> 00:22:27,565
with Python when it was not very well baked.

454
00:22:27,575 --> 00:22:30,075
So I picked up enough TypeScript to learn how to stumble

455
00:22:30,075 --> 00:22:32,285
through that, and I finally got it, and that was great.

456
00:22:32,425 --> 00:22:35,420
But yeah, Learning a new language to understand

457
00:22:35,560 --> 00:22:37,480
some sort of tooling has always been strange for me.

458
00:22:37,490 --> 00:22:39,630
That's my challenge, historically, that I've always

459
00:22:39,630 --> 00:22:42,800
run into whenever I have to deal with the nonsense of a

460
00:22:42,800 --> 00:22:45,510
different tooling that requires its own specific language.

461
00:22:45,540 --> 00:22:48,380
Uh, I want to cache to Kubernetes demanding YAML

462
00:22:48,380 --> 00:22:49,970
knowledge, but that's neither here nor there.

463
00:22:49,970 --> 00:22:52,570
But, but Terraforms, uh, HashiCorp's, uh, custom

464
00:22:52,570 --> 00:22:55,510
DSL, Chef had the same problem once upon a time.

465
00:22:55,510 --> 00:22:58,740
It's, I like being able to not have to pick up an

466
00:22:58,740 --> 00:23:02,060
entire new syntax and understanding of the universe.

467
00:23:02,270 --> 00:23:02,780
to use a tool.

468
00:23:02,890 --> 00:23:06,210
Matt: The one gap that I still see out there that um, there's

469
00:23:06,460 --> 00:23:09,990
big opportunities for is the day two experience of all this stuff

470
00:23:10,020 --> 00:23:13,260
because day one it's awesome whenever you can use your same tools.

471
00:23:13,550 --> 00:23:18,430
But I remember, I don't know, 18 months ago, I talked to a lad from

472
00:23:18,590 --> 00:23:23,690
Wing, formerly AWS, who built the CDK, and uh, he was telling me

473
00:23:23,700 --> 00:23:27,200
that from his perspective, when you said the syntax, he reminded me.

474
00:23:27,420 --> 00:23:30,950
The reason why he created a new programming language in wing is because

475
00:23:30,950 --> 00:23:34,460
he wanted to build a new experience on top of the cloud and have this

476
00:23:34,460 --> 00:23:37,550
almost, he called it, he's probably changed his term since then, I

477
00:23:37,550 --> 00:23:40,330
should really check what the new marketing is, but this, uh, like

478
00:23:40,330 --> 00:23:44,120
fighter jet cockpit for, um, developers where they don't even need

479
00:23:44,140 --> 00:23:46,670
to leave it, you know, they understand everything that's going on.

480
00:23:46,890 --> 00:23:51,480
And I do still think there's a real gap today in that even if I can

481
00:23:51,610 --> 00:23:55,850
hold your hand to get you to deploy a solution on AWS, because the whole

482
00:23:55,850 --> 00:24:00,275
platform is 5, 000 individual pieces that you can stitch together yourself.

483
00:24:00,415 --> 00:24:04,045
It is very hard for people on day two to understand if they weren't there.

484
00:24:04,315 --> 00:24:05,665
Number one, what you deployed.

485
00:24:05,815 --> 00:24:07,905
Number two, how well architected it is.

486
00:24:07,905 --> 00:24:10,225
And number three, you know, are there any kind

487
00:24:10,225 --> 00:24:12,675
of logs, dashboards, metrics, what's going on?

488
00:24:12,675 --> 00:24:15,435
How do I even diagnose where the errors are in this thing?

489
00:24:15,605 --> 00:24:17,335
And that's day one.

490
00:24:17,335 --> 00:24:20,465
We want to solve the idea of, okay, let's use

491
00:24:20,465 --> 00:24:22,725
a piece of AWS, but the longer term vision.

492
00:24:23,055 --> 00:24:27,715
I do think that the day two experience is where people have picked up on the

493
00:24:27,715 --> 00:24:31,655
patterns and then stopped and been like, we got people to production day one.

494
00:24:31,725 --> 00:24:32,815
That's good enough for us.

495
00:24:32,815 --> 00:24:34,325
And that's where we need to solve next.

496
00:24:34,495 --> 00:24:37,905
Corey: I've encountered myself the pattern where I'll set something up

497
00:24:37,915 --> 00:24:41,345
with serverless or the serverless framework historically or the CDK.

498
00:24:42,210 --> 00:24:44,560
And then it just sort of works as its own little microservice.

499
00:24:44,570 --> 00:24:47,140
I don't have to touch that thing again for years at a time.

500
00:24:47,350 --> 00:24:48,660
And then I go back to do that.

501
00:24:48,660 --> 00:24:51,470
It turns into a half day project every time I do because,

502
00:24:51,500 --> 00:24:54,450
oh, there's several major language versions behind now and I

503
00:24:54,460 --> 00:24:57,260
have to wind up doing a bunch of updates to the code base and

504
00:24:57,440 --> 00:25:00,140
dependency hell where things start breaking left and right.

505
00:25:00,690 --> 00:25:04,000
It feels like it's almost like even to change a single string in

506
00:25:04,000 --> 00:25:06,750
this thing, I have to rebuild a tool chain in order to get there.

507
00:25:06,880 --> 00:25:08,270
That's always been challenging.

508
00:25:08,360 --> 00:25:10,580
I'm starting to think that the right answer here is.

509
00:25:10,865 --> 00:25:14,215
to have a CICD build automatically on a

510
00:25:14,225 --> 00:25:16,525
scheduled basis, weekly or monthly or something.

511
00:25:16,715 --> 00:25:19,645
And then when it breaks, you go in and you fix it iteratively, rather

512
00:25:19,645 --> 00:25:22,545
than having to go and spend half a day on it every time it breaks.

513
00:25:22,675 --> 00:25:24,525
But then again, you still want, then you end up spending a lot of

514
00:25:24,525 --> 00:25:27,565
time throughout the year on things that don't need to be touched.

515
00:25:27,565 --> 00:25:29,195
And I can see both sides of it.

516
00:25:29,325 --> 00:25:30,195
It's still frustrating.

517
00:25:30,345 --> 00:25:33,675
Matt: It's hard because, um, I've, I've talked about in the past where

518
00:25:33,675 --> 00:25:37,205
I would love a way almost that you can tag out of using a tool like CDK.

519
00:25:37,605 --> 00:25:41,085
Because I know you can't straight export to CloudFormation, but

520
00:25:41,185 --> 00:25:44,365
it's, whenever I say tag out, I want a way to tag back in again.

521
00:25:44,525 --> 00:25:47,325
Because I see these tools as a developer accelerator, when

522
00:25:47,325 --> 00:25:50,525
they're in the mindset to do some kind of large change.

523
00:25:50,625 --> 00:25:53,965
Like you just said, when the thing is stable and you're not making many changes,

524
00:25:54,085 --> 00:25:57,855
it's more effort than it's worth to keep all the dependencies up to date.

525
00:25:57,955 --> 00:26:01,615
And you can, like you just said, like, Automate it where you do your regular

526
00:26:01,615 --> 00:26:05,375
builds and things, but it is a constant reminder in the back of your head.

527
00:26:05,555 --> 00:26:09,265
So if you could tag out to something else, serverless, that you don't

528
00:26:09,265 --> 00:26:12,115
need to worry about the burden of it, and then whenever you want

529
00:26:12,115 --> 00:26:14,855
to come back to do your development work, all of a sudden you can

530
00:26:14,855 --> 00:26:17,959
spin it up again in Python or TypeScript or whatever, do your code.

531
00:26:18,210 --> 00:26:19,610
Check it back in again and then not worry

532
00:26:19,610 --> 00:26:21,410
about maintaining it until the next time.

533
00:26:21,580 --> 00:26:23,510
I think that's what everybody wants, it's just no one's

534
00:26:23,540 --> 00:26:26,070
worked out how to do it from a technical perspective yet.

535
00:26:26,230 --> 00:26:28,780
Corey: Oh yeah, especially since I found that a great way to, to

536
00:26:28,810 --> 00:26:31,950
relax some of the lambda constraints was to run docker containers.

537
00:26:32,080 --> 00:26:35,100
Where you can specify exact libraries, versions of it and the rest.

538
00:26:35,390 --> 00:26:35,800
Awesome!

539
00:26:35,995 --> 00:26:37,895
But then it's just this opaque thing.

540
00:26:37,905 --> 00:26:41,445
You can't really edit the one line string you need to change in there.

541
00:26:41,445 --> 00:26:44,445
And, oh great, now we're trying to remember how this whole codebase works.

542
00:26:44,445 --> 00:26:46,785
Because it turns out I'm bad at documenting even for myself.

543
00:26:47,455 --> 00:26:49,235
Matt: Sometimes you think the whole thing was working

544
00:26:49,235 --> 00:26:52,885
and then, like today, I find out that, uh, my SQS queue

545
00:26:52,895 --> 00:26:54,975
was sending a bunch of things to the dead letter queue.

546
00:26:55,095 --> 00:26:59,155
Because of one configuration in SQS that you have to

547
00:26:59,155 --> 00:27:01,275
tell it that you've throttled the lambda function down.

548
00:27:01,275 --> 00:27:04,925
And if you don't set that flag, all your Events just go straight to

549
00:27:04,925 --> 00:27:07,945
the dead letter queue and you, you know, like it's stuff like that,

550
00:27:07,985 --> 00:27:10,815
that if you make a tweak, you've come back six months later and you

551
00:27:10,815 --> 00:27:14,045
forget that you'd even set up a dead letter queue on that to check it.

552
00:27:14,165 --> 00:27:17,595
So it's, it's definitely like a day two is a big deal

553
00:27:17,595 --> 00:27:19,725
and I'm surprised more people aren't focused on it.

554
00:27:19,905 --> 00:27:21,515
Corey: I am as well, to be perfectly honest with you.

555
00:27:21,625 --> 00:27:25,925
There's a, there's a strong sense that in what I'm seeing that

556
00:27:26,220 --> 00:27:28,160
People are just trying to get the thing out the door today to

557
00:27:28,160 --> 00:27:30,870
make it work and not operationalizing it, not thinking about,

558
00:27:31,170 --> 00:27:33,550
Okay, it's great now that it works, but when it suddenly stops

559
00:27:33,550 --> 00:27:37,280
working for a variety of reasons, what is that going to look like?

560
00:27:37,280 --> 00:27:41,060
It's, it's the idea, it's the difference between a mad science experiment, or

561
00:27:41,100 --> 00:27:45,000
as I think of it, a shitposting app that I build for funsies, and something

562
00:27:45,000 --> 00:27:47,960
that actually has to bear production workloads at serious companies.

563
00:27:48,210 --> 00:27:52,560
And that, I think, is, it's a bit of a strange, I guess, metamorphosis,

564
00:27:52,560 --> 00:27:55,290
because me building something ludicrous and putting it on the internet

565
00:27:55,290 --> 00:27:58,850
is amusing for everyone, no one really cares, and now here's how I'm

566
00:27:58,850 --> 00:28:01,550
going to make this something that multiple people can collaborate on,

567
00:28:01,550 --> 00:28:04,950
and here's how we're going to do GitFlow with this, and, and go down

568
00:28:04,950 --> 00:28:08,020
that process, because no one cares, that is, that is not interesting to

569
00:28:08,020 --> 00:28:11,400
most people, and even the constraints are artificial when I impose it

570
00:28:11,400 --> 00:28:15,070
on something like that, so it's, it's not a, even a realistic example.

571
00:28:15,285 --> 00:28:17,115
of what it is that I'd be talking about.

572
00:28:17,275 --> 00:28:21,185
Matt: I know we haven't mentioned the buzzword of GNAI, but even the, the

573
00:28:21,185 --> 00:28:24,515
tools that are out there that help you generate the code as you go, I mean,

574
00:28:24,515 --> 00:28:28,215
they're only making all of this worse from that perspective of it helps you

575
00:28:28,215 --> 00:28:31,575
get something working really quickly, but I would not put that in production

576
00:28:31,575 --> 00:28:34,345
without somebody who knows what they're doing, taking a look at it first.

577
00:28:34,495 --> 00:28:37,835
And, you know, like, so day one's getting a bit sketchier.

578
00:28:38,175 --> 00:28:40,025
at the same time as day two isn't solved.

579
00:28:40,235 --> 00:28:42,405
Corey: Peer review is wildly important.

580
00:28:42,585 --> 00:28:45,515
Just, it's not, doesn't matter how good you are, it's having

581
00:28:45,515 --> 00:28:48,515
someone who isn't you reviewing some of this stuff before it

582
00:28:48,515 --> 00:28:51,445
sees the light of day is massively helpful just because we're

583
00:28:51,445 --> 00:28:54,015
all too close to the problems we are currently solving ourselves.

584
00:28:54,145 --> 00:28:56,295
Matt: It's, it's incredible with a lot of this stuff

585
00:28:56,305 --> 00:28:58,905
that whenever, whenever I go to, you know, build

586
00:28:58,905 --> 00:29:02,215
something, the typing is the shortest part of the process.

587
00:29:02,365 --> 00:29:04,905
The longest part of the process is sitting down.

588
00:29:05,215 --> 00:29:09,235
Understanding what the root cause of the problem is, and then, you know,

589
00:29:09,235 --> 00:29:12,345
like, working out what the well architected thing is to do before you type.

590
00:29:12,505 --> 00:29:15,785
And a lot of that, I was thinking about, that has changed massively

591
00:29:15,785 --> 00:29:19,085
since I started my career to now, because, I mean, whenever,

592
00:29:19,115 --> 00:29:22,305
before I even worked for my current employer back, back, back in

593
00:29:22,305 --> 00:29:25,205
the day, I worked for people who didn't even use version control.

594
00:29:25,235 --> 00:29:29,130
You just, uploaded the files to the file server and kept going.

595
00:29:29,280 --> 00:29:33,210
And from there to where we are today, you used to do code reviews in front

596
00:29:33,220 --> 00:29:37,760
of 20, 30 people in a room where you'd call everybody in, you'd go line

597
00:29:37,760 --> 00:29:42,520
by line through, you know, enterprise Java and people would be like, Oh, I

598
00:29:42,530 --> 00:29:46,740
don't think you should use string builder there or very specific concerns.

599
00:29:46,890 --> 00:29:48,740
And then you've come to where we are today with

600
00:29:48,810 --> 00:29:51,370
pull requests and automated CICD pipelines.

601
00:29:51,540 --> 00:29:55,835
And I just think as much as I do believe in trunk based development.

602
00:29:55,945 --> 00:29:58,125
Whenever you're trying to learn and get from the team

603
00:29:58,125 --> 00:30:01,065
around you, pull requests are very underutilized for

604
00:30:01,115 --> 00:30:03,465
knowledge exchanges, given how averse we are to talking.

605
00:30:03,865 --> 00:30:07,695
Corey: That seems to be a sincere problem across the board, and

606
00:30:07,695 --> 00:30:10,625
also something you seem to be particularly passionate about.

607
00:30:10,715 --> 00:30:14,375
Like, I am curious, between TeachMeAWS, your variety of

608
00:30:14,375 --> 00:30:18,595
different roles in the sense of what you do in the community,

609
00:30:18,595 --> 00:30:21,160
what What's the common thread that ties it all together?

610
00:30:21,310 --> 00:30:25,600
I find there's usually something in there that is, that is hiding out

611
00:30:25,770 --> 00:30:29,500
as far as like the actual narrative thread that ties things together.

612
00:30:29,620 --> 00:30:31,800
Is there one for you or are you just sort of all across the board?

613
00:30:31,910 --> 00:30:35,500
Matt: Yeah, I mean, the, the narrative thread for me was, believe it

614
00:30:35,500 --> 00:30:38,930
or not, I've been in multiple roles in the industry at this point.

615
00:30:38,950 --> 00:30:42,010
I mean, I've literally done nearly every role

616
00:30:42,010 --> 00:30:46,489
there is in terms of, uh, I've done UI, UX, QA.

617
00:30:46,710 --> 00:30:51,360
UAT, development, architecture, product, like, I'm

618
00:30:51,370 --> 00:30:54,500
forgetting 50 60 roles of built machine learning models.

619
00:30:54,650 --> 00:30:55,800
I've, I've done a lot.

620
00:30:55,950 --> 00:30:59,880
And the common thread I saw across it all was, doesn't matter

621
00:31:00,200 --> 00:31:04,840
how much work I personally put in, because no matter how much I

622
00:31:04,870 --> 00:31:06,960
output, it's always going to be less than what the team can do.

623
00:31:07,610 --> 00:31:11,210
And even if, by some sheer miracle, I could personally

624
00:31:11,210 --> 00:31:14,160
deliver more than a team of six, that, that team won't be

625
00:31:14,160 --> 00:31:16,850
able to maintain it or add a single feature to it tomorrow.

626
00:31:17,050 --> 00:31:21,230
So, if you start focusing on the people around you, and then the

627
00:31:21,230 --> 00:31:24,680
people around them, and the people around them, and trying to remove

628
00:31:24,710 --> 00:31:28,890
barriers, lift people up, educate, educate, and train, almost.

629
00:31:29,085 --> 00:31:31,745
Remove those stigmas around certain technologies and certain,

630
00:31:31,795 --> 00:31:34,775
because people, for whatever reason, we all get in our own groove

631
00:31:34,815 --> 00:31:37,215
and we don't want to look outside of what we're used to looking at.

632
00:31:37,365 --> 00:31:39,455
If you can get people to even 1.

633
00:31:39,495 --> 00:31:43,075
01, what they were before you started, and you scale that to

634
00:31:43,105 --> 00:31:46,645
100 people, it's probably more than you at your maximum output.

635
00:31:46,805 --> 00:31:50,350
And I've, I've seen that even from I mean, a team perspective,

636
00:31:50,350 --> 00:31:53,980
a company perspective, but a country perspective in that I would

637
00:31:53,980 --> 00:31:57,750
just, like I said, I mean, I don't talk about it very much, but as

638
00:31:57,830 --> 00:32:01,470
someone who does come from Belfast that had a lot of problems in the

639
00:32:01,470 --> 00:32:05,300
past, a very divisive community, for me, it's really awesome to see

640
00:32:05,300 --> 00:32:08,300
people working together, not looking backwards, looking forwards.

641
00:32:08,640 --> 00:32:12,350
And actually setting the vision of we can do better, we

642
00:32:12,350 --> 00:32:14,770
can push forward, and we can build on each other's stuff.

643
00:32:14,940 --> 00:32:16,920
Corey: I think that that's one of those very valuable

644
00:32:17,080 --> 00:32:20,210
things that, like, we keep forgetting the human too easily.

645
00:32:20,210 --> 00:32:23,970
Even, it's one of those areas where I find, as much as I,

646
00:32:24,050 --> 00:32:26,980
as I care about this stuff and want to, I still find myself

647
00:32:27,170 --> 00:32:29,910
taking shortcuts mentally and forgetting that there are people

648
00:32:29,910 --> 00:32:32,170
behind a lot of the things that I'm talking about sometimes.

649
00:32:32,350 --> 00:32:34,050
I think that, you know, That's one of the reasons I

650
00:32:34,050 --> 00:32:35,900
love community, is it sort of forces you to do that.

651
00:32:35,910 --> 00:32:36,870
It's the reason I love conferences.

652
00:32:36,870 --> 00:32:39,640
It forces you to talk to a human being on the other side of the aisle.

653
00:32:39,760 --> 00:32:43,040
It's a valuable thing, and I think we need a lot more of that than we get.

654
00:32:43,160 --> 00:32:45,030
I just wish it weren't so annoying to put on physical

655
00:32:45,030 --> 00:32:46,860
conferences, otherwise I think we'd see more of them.

656
00:32:46,940 --> 00:32:50,780
Matt: Yeah, but the one amazing thing about it is seeing the people

657
00:32:50,780 --> 00:32:53,780
who have spoken up, or in some way been involved in something like

658
00:32:53,780 --> 00:32:57,210
CDK Day, And where they were when I met them and where they are now.

659
00:32:57,210 --> 00:33:00,390
I mean, half of them are heroes, community

660
00:33:00,390 --> 00:33:02,440
builders doing amazing things around the world.

661
00:33:02,620 --> 00:33:04,820
And I'm like, I knew you a couple of years ago.

662
00:33:04,960 --> 00:33:07,320
And so you do get like the way you're doing this podcast.

663
00:33:07,630 --> 00:33:10,710
It must be amazing to get to see people's stories evolve over time.

664
00:33:10,850 --> 00:33:14,370
And I do think that makes up for the annoyance of running the thing eventually.

665
00:33:14,645 --> 00:33:15,295
Corey: Oh, absolutely.

666
00:33:15,735 --> 00:33:16,225
There are counterexamples.

667
00:33:16,225 --> 00:33:18,115
I gave a talk at community day early on.

668
00:33:18,115 --> 00:33:21,605
I think I gave that one dressed in a full cultist's robe because I was, I called

669
00:33:21,605 --> 00:33:25,015
the CDK a ridiculous cult once and then I understood it and used it a lot.

670
00:33:25,025 --> 00:33:26,375
Now I'm a member of the cult.

671
00:33:26,395 --> 00:33:29,505
Please join my cult with me and I thought that was a great approach.

672
00:33:29,565 --> 00:33:33,055
Hard to pull that off on a conference stage, easier in a video, but

673
00:33:33,055 --> 00:33:37,330
it's a But that's an example of being able to tell a story in an

674
00:33:37,330 --> 00:33:40,460
engaging way that's fun, taking advantage of the medium that it's in.

675
00:33:40,650 --> 00:33:41,900
I love the experience.

676
00:33:41,920 --> 00:33:44,500
It's a lot easier for me to give a talk on a

677
00:33:44,500 --> 00:33:47,260
camera than it is for me to hop a plane to Belfast.

678
00:33:47,410 --> 00:33:48,050
Matt: Yeah, for sure.

679
00:33:48,060 --> 00:33:49,940
And I remember whenever that talk came in,

680
00:33:50,150 --> 00:33:52,220
everyone was like, oh no, can we play this?

681
00:33:52,230 --> 00:33:53,870
And I was like, listen, I trust Corey.

682
00:33:53,870 --> 00:33:54,610
This will be funny.

683
00:33:54,660 --> 00:33:55,550
This is what it's all about.

684
00:33:55,890 --> 00:33:57,120
And it was worth it.

685
00:33:57,120 --> 00:33:57,860
It was so good.

686
00:33:58,035 --> 00:33:59,465
Corey: Oh, I have a standing policy, I think people

687
00:33:59,465 --> 00:34:01,695
don't understand necessarily, that I don't make people

688
00:34:01,695 --> 00:34:04,705
regret giving me a platform or inviting me to things.

689
00:34:04,875 --> 00:34:07,215
Like, yes, I will go and savage corporate keynotes that you're

690
00:34:07,215 --> 00:34:09,685
broadcast to the entire internet, but if you invite me to speak

691
00:34:09,685 --> 00:34:13,255
at your conference, I will not make you regret that by crapping

692
00:34:13,275 --> 00:34:15,735
all over the conference or your major sponsors or all the rest.

693
00:34:15,735 --> 00:34:18,275
It's, like, I'm not difficult to work with, and I

694
00:34:18,285 --> 00:34:21,035
sometimes get the sense that people are surprised by that.

695
00:34:21,165 --> 00:34:21,675
It worked out.

696
00:34:21,920 --> 00:34:22,550
Matt: Yeah, it worked out.

697
00:34:22,580 --> 00:34:23,240
I trusted you.

698
00:34:23,280 --> 00:34:23,970
I had faith.

699
00:34:24,120 --> 00:34:24,700
Corey: Well, thank you.

700
00:34:24,890 --> 00:34:26,890
If people want to learn more about all the things you're up to,

701
00:34:26,890 --> 00:34:29,570
where's the best place for them to go, or in this case, places?

702
00:34:29,710 --> 00:34:32,220
Matt: If you want to know what I'm up to, you can follow me still

703
00:34:32,220 --> 00:34:35,960
on Twitter, or as people are calling it X these days, NIDEVELOPER.

704
00:34:36,070 --> 00:34:38,780
So NIDEVELOPER is my Twitter handle.

705
00:34:38,870 --> 00:34:41,450
If you want to know about the user group, there's

706
00:34:41,510 --> 00:34:44,980
also BelfastUG is the Twitter handle on there.

707
00:34:45,070 --> 00:34:49,585
For the community day that we're running, It is awsbelfast.

708
00:34:49,585 --> 00:34:49,684
co.

709
00:34:49,685 --> 00:34:50,595
uk.

710
00:34:50,735 --> 00:34:51,635
That one's simple.

711
00:34:51,885 --> 00:34:58,195
Um, and for obviously the most important one for TeachMeAWS, it is teachmeaws.

712
00:34:58,225 --> 00:34:58,535
com.

713
00:34:58,845 --> 00:34:59,505
That one's easy.

714
00:34:59,665 --> 00:35:02,265
Corey: Links to all of that will be in the show notes, though with that many,

715
00:35:02,265 --> 00:35:05,595
you have to click to expand the show notes in most of the podcast players.

716
00:35:05,725 --> 00:35:09,055
Thank you so much for taking the time to speak with me about this.

717
00:35:09,055 --> 00:35:09,915
I really appreciate it.

718
00:35:10,405 --> 00:35:11,155
Matt: Thanks for inviting me.

719
00:35:11,255 --> 00:35:13,835
Corey: Matt Coulter, Senior Portfolio Architect

720
00:35:13,875 --> 00:35:16,725
at Liberty Mutual and oh so many more things.

721
00:35:17,105 --> 00:35:20,805
I'm Cloud Economist Corey Quinn, and this is Screaming in the Cloud.

722
00:35:21,065 --> 00:35:23,205
If you enjoyed this podcast, please leave a 5

723
00:35:23,215 --> 00:35:25,395
star review on your podcast platform of choice.

724
00:35:25,565 --> 00:35:28,735
Whereas if you hated this podcast, please leave a 5 star review on

725
00:35:28,735 --> 00:35:32,585
your podcast platform of choice, along with an insulting comment as

726
00:35:32,645 --> 00:35:36,335
well that I'll later read and dismiss as being not real serverless.