Welcome to the Chaos
July 4, 2024

Drinking from the AI Firehose at the DC AWS Summit

Drinking from the AI Firehose at the DC AWS Summit

Ned shares his AI-focused experience at the DC AWS Summit, discussing AWS's AI portfolio and GenAI tools, but remains skeptical.

Mainlining AI in Washington DC

Ned shares his experience attending the DC AWS Summit, which was heavily focused on AI. This gave him the opportunity to put cognitive behavioral therapy into practice and confront his aversion to AI by attending nothing but AI-centric sessions. In this episode, Ned tells what he learned about AWS's AI portfolio, noting its key products like Amazon Bedrock. He also discusses GenAI in DevOps, featuring tools like Q Developer, GitLab Duo, and AWS's hardware innovations. Despite all this, Ned remains skeptical about AI, likening its current state to the hype preceding the dot-com bubble, with the best applications seen in developer and ops productivity.

Links Referenced:

Transcript
1
00:00:00,410 --> 00:00:02,750
Ned: Other than your mic stand, everything else okay [laugh]

2
00:00:03,240 --> 00:00:03,660
?
Chris: Yeah.

3
00:00:03,960 --> 00:00:06,090
As usual, with the things that I observe, this is something

4
00:00:06,090 --> 00:00:08,550
that I figured out, like, years ago but never put a name on.

5
00:00:08,920 --> 00:00:09,700
Ned: Mmm, okay.

6
00:00:09,910 --> 00:00:11,659
Chris: So, let’s start with the obvious.

7
00:00:11,910 --> 00:00:13,379
Coke is clearly better than Pepsi.

8
00:00:13,900 --> 00:00:14,899
It’s not a conversation.

9
00:00:14,900 --> 00:00:16,070
Put your finger back down.

10
00:00:16,070 --> 00:00:16,580
Ned: [laugh] . Okay?

11
00:00:16,690 --> 00:00:16,990
Wha—

12
00:00:17,710 --> 00:00:17,879
Chris: No, no, no.

13
00:00:17,889 --> 00:00:18,930
Don’t you okay me.

14
00:00:18,970 --> 00:00:19,520
Ned: [sputters in the background]

15
00:00:19,520 --> 00:00:19,600
.
Chris: Hey.

16
00:00:19,680 --> 00:00:21,870
Ned: Diet Pepsi is better than Diet Coke.

17
00:00:22,140 --> 00:00:23,840
Chris: First of all, they’re both bad.

18
00:00:24,140 --> 00:00:24,510
Ned: Fair.

19
00:00:24,870 --> 00:00:29,050
Chris: The only decent diet soda on Earth is Diet Dr.

20
00:00:29,050 --> 00:00:29,420
Pepper.

21
00:00:29,660 --> 00:00:30,300
There I said it.

22
00:00:30,750 --> 00:00:33,610
Ned: Ohh, I agree that it’s good.

23
00:00:34,129 --> 00:00:35,889
Moving on, what was your actual point?

24
00:00:36,219 --> 00:00:37,160
Chris: I don’t remember.

25
00:00:38,450 --> 00:00:38,480
Ned: [laugh]

26
00:00:38,480 --> 00:00:39,810
.
Chris: The other thing about Diet Dr.

27
00:00:39,810 --> 00:00:41,360
Pepper is it’s got two-and-a-half times the

28
00:00:41,360 --> 00:00:43,460
caffeine, so this episode is going to go fast.

29
00:00:49,440 --> 00:00:49,470
Ned: [laugh]

30
00:00:53,269 --> 00:00:55,475
. Hello, alleged human, and welcome to the Chaos Lever podcast.

31
00:00:56,020 --> 00:00:58,529
My name is Ned and I’m definitely not a robot.

32
00:00:58,560 --> 00:01:01,290
I am a real human person who has feelings, dreams,

33
00:01:01,590 --> 00:01:06,160
and an ordinate desire to consume caffeine and sugar.

34
00:01:06,590 --> 00:01:07,700
Like, all the sugar.

35
00:01:07,950 --> 00:01:10,330
Give me all the sugars that you have.

36
00:01:10,330 --> 00:01:12,660
I will suck them out of your blood, thank you very much.

37
00:01:13,010 --> 00:01:16,590
With me is Chris, who is also full of delicious sugar.

38
00:01:16,590 --> 00:01:17,500
Hi, Chris.

39
00:01:17,880 --> 00:01:20,570
Chris: One has to assume that vampires have an opinion.

40
00:01:21,130 --> 00:01:23,590
Ned: An opinion on blood types?

41
00:01:23,770 --> 00:01:24,860
Blood sugar levels?

42
00:01:25,110 --> 00:01:25,550
Chris: Yeah.

43
00:01:25,570 --> 00:01:27,260
So, think about beef, right?

44
00:01:27,260 --> 00:01:31,150
We know there’s a difference between corn-fed and grain-fed, right?

45
00:01:31,940 --> 00:01:34,430
Ned: [laugh] . I believe you mean grass-fed, but moving on.

46
00:01:34,800 --> 00:01:35,940
Chris: Is grass not a grain?

47
00:01:36,230 --> 00:01:39,110
Ned: Oh, I thought you said brain-fed, and I

48
00:01:39,110 --> 00:01:42,069
was like, not aware of any cows eating brains.

49
00:01:42,099 --> 00:01:44,260
Isn’t that how we got the mad cow disease?

50
00:01:44,580 --> 00:01:45,230
Chris: Yes.

51
00:01:45,740 --> 00:01:46,359
Ned: It is.

52
00:01:46,869 --> 00:01:50,140
Okay, so yes, corn-fed versus grain-fed versus

53
00:01:50,140 --> 00:01:52,899
grass-fed, there is a definitive difference.

54
00:01:53,230 --> 00:01:53,530
Chris: Right.

55
00:01:53,600 --> 00:01:57,810
So, if you were eating either human flesh or drinking human

56
00:01:57,810 --> 00:02:01,949
blood—or both I’m not here to shame anyone’s kink—you’re going to

57
00:02:01,960 --> 00:02:05,489
be interested in that person’s, let’s call them the donor’s diet.

58
00:02:06,020 --> 00:02:06,729
Ned: Absolutely.

59
00:02:06,900 --> 00:02:10,930
Chris: That’s why—I’m almost positive this is correct—on the website for the Red

60
00:02:10,930 --> 00:02:14,220
Cross, they say you should do five or six shots of whiskey before you donate,

61
00:02:14,520 --> 00:02:17,137
so that, you know, when somebody gets your blood, it’s a little pick me up.

62
00:02:17,259 --> 00:02:19,510
Ned: [laugh] . Settle down.

63
00:02:20,440 --> 00:02:22,060
I was wondering where you’re going with that.

64
00:02:22,299 --> 00:02:23,900
And it turned out it wasn’t anywhere good.

65
00:02:24,289 --> 00:02:26,700
But hey, speaking of consuming entirely

66
00:02:26,700 --> 00:02:29,400
too much stuff, guess what I did this week?

67
00:02:29,940 --> 00:02:31,130
Chris: Went somewhere that wasn’t good?

68
00:02:31,900 --> 00:02:34,050
Ned: Oh, I went somewhere that was fine, but I consumed

69
00:02:34,059 --> 00:02:36,640
entirely too much of a thing, and that thing was AI.

70
00:02:39,000 --> 00:02:39,010
Wooo.

71
00:02:39,049 --> 00:02:39,349
Chris: Yay.

72
00:02:39,980 --> 00:02:40,090
Ned: Ugh.

73
00:02:40,820 --> 00:02:44,520
So, this past week, I attended the AWS Summit in our

74
00:02:44,520 --> 00:02:48,100
nation’s capitol, and home to a really good taco place.

75
00:02:48,490 --> 00:02:50,490
Seriously, it’s called Rebel Taco.

76
00:02:50,970 --> 00:02:53,389
It’s on the corner of 6th and K.

77
00:02:53,980 --> 00:02:56,930
It’s a less than five-minute walk from the Walter E.

78
00:02:56,940 --> 00:02:58,670
Washington Convention Center.

79
00:02:58,920 --> 00:03:03,460
So, if you happen to be at that convention center: Rebel Taco.

80
00:03:03,790 --> 00:03:06,040
Walk the, like, four blocks, it’s worth it.

81
00:03:06,730 --> 00:03:08,190
I got three different tacos.

82
00:03:08,200 --> 00:03:11,530
They were all delicious, especially the lamb birria.

83
00:03:11,530 --> 00:03:12,929
That was really good.

84
00:03:13,329 --> 00:03:18,390
And the margarita I got to go with my tacos was absolutely not fucking around.

85
00:03:18,740 --> 00:03:23,810
Ohh, somebody had a very heavy hand at Rebel Taco, and I didn’t mind one bit.

86
00:03:24,440 --> 00:03:27,180
Chris: Unrelated, I saw something interesting slash terrifying.

87
00:03:27,270 --> 00:03:27,690
Ned: Okay.

88
00:03:27,920 --> 00:03:31,099
Chris: The new summer drink is a pickled juice-based margarita.

89
00:03:31,660 --> 00:03:32,380
Ned: Thanks, I hate it.

90
00:03:33,370 --> 00:03:34,509
Chris: Anyway, enjoy your weekend.

91
00:03:35,170 --> 00:03:38,359
Ned: So, when I was 15—of course I have a story for

92
00:03:38,360 --> 00:03:41,490
this, right?—when I was 15, I worked at a pizzeria.

93
00:03:41,870 --> 00:03:44,230
And I also had acne because I was 15.

94
00:03:44,610 --> 00:03:44,880
Chris: Right.

95
00:03:44,910 --> 00:03:45,600
It’s like the rule.

96
00:03:46,030 --> 00:03:48,880
Ned: And working in a pizzeria was definitely not going to this.

97
00:03:48,880 --> 00:03:50,799
The amount of grease in the air—Anyway.

98
00:03:51,059 --> 00:03:58,600
So, the owner and proprietor of said pizzeria told me that a cure for

99
00:03:58,610 --> 00:04:03,720
acne—or at least a treatment was drinking pickle juice—and being as

100
00:04:03,720 --> 00:04:07,920
we were a pizzeria that made other things, we had giant pickle jars,

101
00:04:07,929 --> 00:04:10,890
so she just poured me some pickle juice, and she was like down it.

102
00:04:10,959 --> 00:04:12,090
This will help with your acne.

103
00:04:12,320 --> 00:04:12,870
It did not—

104
00:04:13,090 --> 00:04:13,835
Chris: No, no it wouldn’t.

105
00:04:13,835 --> 00:04:15,450
Ned: —but she got to watch me drink pickle

106
00:04:15,450 --> 00:04:18,230
juice, which I think is, like, 99% of it.

107
00:04:18,470 --> 00:04:18,860
Chris: Mm-hm.

108
00:04:18,990 --> 00:04:19,340
Ned: Yeah.

109
00:04:19,670 --> 00:04:22,370
Chris: That was a game of watch the 15-year-old do something dumb.

110
00:04:22,730 --> 00:04:23,059
Ned: Mm-hm.

111
00:04:23,559 --> 00:04:24,760
That seemed to happen a lot.

112
00:04:24,969 --> 00:04:24,999
Chris: [laugh]

113
00:04:25,299 --> 00:04:26,380
.
Ned: Sometimes unprompted.

114
00:04:26,719 --> 00:04:27,759
Often unprompted.

115
00:04:28,070 --> 00:04:29,370
Almost always unprompted.

116
00:04:29,549 --> 00:04:31,240
Chris: One day, you’ll stop playing that game.

117
00:04:31,460 --> 00:04:38,060
Ned: [laugh] . When I’m dead, Chris [laugh] . Anyway, so I will not

118
00:04:38,060 --> 00:04:42,159
be drinking this cocktail, but I will be talking about AI for a while.

119
00:04:42,889 --> 00:04:46,440
We’re going to be drinking from the AI firehose, which ironically, is an

120
00:04:46,449 --> 00:04:50,650
AWS service that didn’t come up in all of the presentations that I attended.

121
00:04:51,050 --> 00:04:55,000
For those not familiar with tacos, that’s when you take a corn tortilla,

122
00:04:55,380 --> 00:04:59,670
and you place some toppings inside the tortilla, and then you fold it up—

123
00:04:59,670 --> 00:05:00,023
Chris: [coughs significantly]

124
00:05:00,200 --> 00:05:03,509
Ned: And then—wait, okay, no, wait, we were talking

125
00:05:03,509 --> 00:05:06,259
about the AWS Summit, and not delicious food.

126
00:05:06,360 --> 00:05:07,740
Sorry, I got sidetracked.

127
00:05:07,750 --> 00:05:10,180
It is lunchtime, to be fair.

128
00:05:10,700 --> 00:05:14,710
So, let me talk about the amazing French toast that I had at the Delegate.

129
00:05:15,070 --> 00:05:18,329
It was a Challah-crusted French toast.

130
00:05:19,469 --> 00:05:19,489
Chris: [sigh]

131
00:05:19,489 --> 00:05:22,390
.
Ned: The crusting was cornflakes and—stop it, Chris.

132
00:05:22,390 --> 00:05:23,229
All right, fine.

133
00:05:23,240 --> 00:05:24,440
I’m not procrastinating.

134
00:05:24,440 --> 00:05:25,000
You are.

135
00:05:25,640 --> 00:05:29,040
For those not familiar with the AWS Summits, these

136
00:05:29,050 --> 00:05:33,000
are many events put on by AWS all around the globe.

137
00:05:33,340 --> 00:05:35,719
They’re typically one or two days, and it’s kind

138
00:05:35,719 --> 00:05:39,130
of—you can think of it as a speed-run of re:Invent.

139
00:05:39,469 --> 00:05:41,179
And you don’t have to go to Las Vegas.

140
00:05:41,420 --> 00:05:42,989
So, that’s a gigantic win.

141
00:05:43,560 --> 00:05:47,890
I’ve attended the NYC Summit three or four times, and really enjoyed it.

142
00:05:48,520 --> 00:05:51,860
In fact, it’s happening again in a few weeks, and I plan to go.

143
00:05:52,270 --> 00:05:55,710
But I also wanted to try out the DC Summit since I figured it

144
00:05:55,710 --> 00:05:59,379
would have a different focus and attract a slightly different

145
00:05:59,379 --> 00:06:03,659
crowd, by which I mean public sector, government, and military.

146
00:06:03,990 --> 00:06:07,260
It was interesting to see the different types of vendors this

147
00:06:07,260 --> 00:06:11,300
attracted at the Expo, and how the sessions focused on public

148
00:06:11,300 --> 00:06:15,149
sector, and intelligence applications instead of building the

149
00:06:15,150 --> 00:06:19,330
next Uber for Tacos, a company that I would absolutely invest in.

150
00:06:19,740 --> 00:06:19,980
Chris: Yeah.

151
00:06:20,320 --> 00:06:22,790
Let’s talk about that instead of AI.

152
00:06:23,610 --> 00:06:24,200
Ned: [laugh] . We probably could.

153
00:06:24,600 --> 00:06:25,030
But no.

154
00:06:25,280 --> 00:06:28,420
While I was browsing through the sessions, trying to plan

155
00:06:28,420 --> 00:06:31,690
out my schedule for the two days, I couldn’t help but notice

156
00:06:31,690 --> 00:06:34,539
how many of the sessions had AI somewhere in the title.

157
00:06:34,549 --> 00:06:38,200
I actually talked to an AWS person the following day, and they

158
00:06:38,210 --> 00:06:44,959
said that 55% of the titles of the sessions had AI in them.

159
00:06:45,440 --> 00:06:47,450
Even more of them were about AI, but that was

160
00:06:47,450 --> 00:06:49,500
just the ones that had it directly in the title.

161
00:06:50,059 --> 00:06:54,629
Chris: Considering there are 380-something services,

162
00:06:55,160 --> 00:06:58,940
there’s no possible way that 55% of the services need AI.

163
00:06:59,290 --> 00:07:00,190
Ned: [laugh] . No.

164
00:07:00,440 --> 00:07:01,120
Chris: Explain.

165
00:07:01,520 --> 00:07:05,690
Ned: [sigh] . Well, at first, I was just trying to avoid those sessions.

166
00:07:05,950 --> 00:07:11,360
So, I was trying to pick stuff like running EKS clusters, or

167
00:07:12,199 --> 00:07:15,810
AWS networking at the edge, or scaling storage best practices.

168
00:07:15,820 --> 00:07:20,990
You know, things that I think of as, quote, “Real topics.”

169
00:07:21,360 --> 00:07:23,030
Chris: Which, ironically, would include the

170
00:07:23,030 --> 00:07:25,520
responsible and practical use of Firehose.

171
00:07:25,820 --> 00:07:26,400
Ned: Indeed.

172
00:07:26,740 --> 00:07:27,810
Chris: See, I know things.

173
00:07:28,240 --> 00:07:28,889
Ned: I know you do.

174
00:07:29,549 --> 00:07:32,600
Once I finished trying to assemble this schedule, I

175
00:07:32,600 --> 00:07:36,229
looked at it and I realized it was kind of sad and boring.

176
00:07:36,380 --> 00:07:39,020
Like, say, your dad’s old record collection.

177
00:07:39,290 --> 00:07:40,870
Chris: There’s a lot of Boz Scaggs.

178
00:07:40,870 --> 00:07:44,780
Ned: It’s all stuff that’s been around for a decade or two, feels comfortable

179
00:07:44,780 --> 00:07:48,669
and safe, and it’s really just coasting along, playing the greatest hits.

180
00:07:49,060 --> 00:07:51,530
It’s the Eagles of sessions.

181
00:07:52,050 --> 00:07:54,480
So, I decided that I needed to shake things up a bit.

182
00:07:55,000 --> 00:07:57,119
Kids are talking about this new AI stuff.

183
00:07:57,510 --> 00:07:59,750
I don’t want to be the cranky old bastard in the back

184
00:07:59,750 --> 00:08:02,909
ranting about how no one makes good technology anymore.

185
00:08:03,410 --> 00:08:08,260
I need to keep my mind open and attend these weird AI sessions.

186
00:08:09,080 --> 00:08:13,770
Chris, are you familiar with Cognitive Behavioral Therapy: CBT?

187
00:08:14,110 --> 00:08:16,000
Chris: Yeah, that’s what CBT Nuggets is about, right?

188
00:08:16,460 --> 00:08:16,930
Ned: Is it?

189
00:08:17,300 --> 00:08:17,700
No.

190
00:08:17,710 --> 00:08:19,879
Is that really what CBT stands for?

191
00:08:20,389 --> 00:08:20,729
Chris: No.

192
00:08:21,009 --> 00:08:21,919
Ned: I don’t know, man.

193
00:08:21,950 --> 00:08:23,550
I never watched any of that crap.

194
00:08:23,550 --> 00:08:24,470
Chris: [laugh]

195
00:08:25,390 --> 00:08:28,110
.
Ned: [laugh] . It wasn’t crap, but I also didn’t watch it.

196
00:08:28,450 --> 00:08:29,409
Chris: I’m sending them an email.

197
00:08:29,410 --> 00:08:30,120
You’re in trouble.

198
00:08:30,670 --> 00:08:33,140
Ned: I didn’t know they were still going concern, to be honest.

199
00:08:33,679 --> 00:08:37,380
A core premise of CBT is to face your fears

200
00:08:37,530 --> 00:08:39,969
instead of avoiding them, so that’s what I did.

201
00:08:40,369 --> 00:08:44,720
Every single session I attended was AI-related.

202
00:08:44,850 --> 00:08:46,990
I think I went to about ten sessions.

203
00:08:47,350 --> 00:08:49,670
Every single one, AI-related.

204
00:08:50,110 --> 00:08:56,200
No running to the sweet and simple embrace of EC2 instances, or VPC design.

205
00:08:56,450 --> 00:08:59,850
It was going to be mainlining AI for two days.

206
00:08:59,859 --> 00:09:02,790
I have to say, I am glad I did it.

207
00:09:02,800 --> 00:09:07,979
And that’s what I want to share today: what I learned over the two days that

208
00:09:07,980 --> 00:09:12,590
I was there, how I’m feeling about AI now, and what the future looks like.

209
00:09:13,280 --> 00:09:13,990
So, let’s get into it.

210
00:09:14,370 --> 00:09:15,280
Chris: Okay.

211
00:09:16,059 --> 00:09:18,760
Ned: We’ll start with the keynote, which makes sense, right?

212
00:09:19,100 --> 00:09:21,290
Supposed to be the beginning or, you know, the

213
00:09:21,290 --> 00:09:25,780
main thrust and theme of a general conference.

214
00:09:26,300 --> 00:09:27,970
You can watch the keynote if you’d like.

215
00:09:27,980 --> 00:09:32,690
It was presented by Federal CTO at AWS, Dave Levy.

216
00:09:33,110 --> 00:09:35,689
No relation to Eugene Levy, unfortunately.

217
00:09:36,610 --> 00:09:38,160
Two quick things about the keynote.

218
00:09:38,390 --> 00:09:42,350
One, the keynote actually happened on day one at 11 a.m.

219
00:09:42,490 --> 00:09:45,020
after sessions had been going on for two hours.

220
00:09:45,349 --> 00:09:47,839
So, I had already attended a couple of sessions,

221
00:09:47,870 --> 00:09:49,780
but I’m going to start with the keynote anyway.

222
00:09:50,160 --> 00:09:52,519
And number two, there was blessedly only

223
00:09:52,520 --> 00:09:55,410
one keynote, as God and country intended.

224
00:09:55,670 --> 00:09:56,229
Chris: Wow.

225
00:09:56,560 --> 00:10:01,550
Ned: Yeah, thank you, sweet baby Jesus, and your tiny cherub hands, one keynote.

226
00:10:02,179 --> 00:10:07,270
From the very outset, Dave made the point that GenAI is changing the world.

227
00:10:07,580 --> 00:10:11,739
He made a reference to the tale of Rip Van Winkle, which is a story

228
00:10:11,779 --> 00:10:16,050
I barely remember, but if I’m recalling correctly, and he explained

229
00:10:16,050 --> 00:10:20,920
it properly, the core conceit is that Rip falls asleep for 20 years

230
00:10:21,309 --> 00:10:25,399
before the American Revolutionary War starts, and when he wakes

231
00:10:25,400 --> 00:10:29,699
up, the revolution is over and the world has changed drastically.

232
00:10:30,160 --> 00:10:30,920
I think that’s it.

233
00:10:31,250 --> 00:10:31,959
Don’t look it up.

234
00:10:32,550 --> 00:10:35,410
The obvious parallel here is that our world is going

235
00:10:35,410 --> 00:10:38,890
through a similar sea change, and the public sector

236
00:10:38,920 --> 00:10:42,570
can’t afford to sleep on it like Rip Van Winkle did.

237
00:10:43,170 --> 00:10:46,700
In fact, he kept using the word revolution

238
00:10:47,230 --> 00:10:50,310
several times to describe what AI is doing.

239
00:10:50,790 --> 00:10:55,150
And the word revolution does feel, like, a little bit loaded, especially

240
00:10:55,150 --> 00:11:00,010
given the political climate, and the seven or eight protesters who

241
00:11:00,020 --> 00:11:04,520
stood up in the middle of his talk, and yelled stuff about Gaza, Israel,

242
00:11:04,520 --> 00:11:07,770
and how evil Amazon is, and questioned how he could sleep at night.

243
00:11:08,230 --> 00:11:11,420
So, I don’t know, maybe find a word that’s a little less evocative.

244
00:11:11,810 --> 00:11:12,280
Maybe?

245
00:11:12,640 --> 00:11:12,860
I don’t know.

246
00:11:13,430 --> 00:11:15,189
Anyhow, it has nothing to do with AI.

247
00:11:15,559 --> 00:11:16,790
Just word choices.

248
00:11:17,309 --> 00:11:19,829
His main point is that GenAI is going to change

249
00:11:19,830 --> 00:11:24,170
the world, that GenAI requires the cloud to work.

250
00:11:24,400 --> 00:11:27,830
And he quoted a study commissioned by AWS that claims

251
00:11:27,840 --> 00:11:32,030
that cloud is 4.1 times more efficient than on-prem AI.

252
00:11:33,030 --> 00:11:38,949
And that AWS has the tools you need to take your AI experiments to production.

253
00:11:39,509 --> 00:11:42,179
Not sure how much weight I put behind a study commissioned by

254
00:11:42,219 --> 00:11:46,960
AWS that finds out, shockingly, cloud is better than on-prem.

255
00:11:47,560 --> 00:11:50,530
But, I mean, what else do you expect Dave to say?

256
00:11:51,150 --> 00:11:52,480
Chris: I have thoughts, but we can—

257
00:11:52,929 --> 00:11:54,210
Ned: Feel free to share.

258
00:11:54,630 --> 00:11:58,110
Chris: Anytime you see a study like this, what do they mean by on-prem?

259
00:11:58,420 --> 00:11:58,760
Ned: Yeah.

260
00:11:58,809 --> 00:11:59,560
Chris: Who set it up?

261
00:11:59,760 --> 00:12:02,640
How much money and time and expertise did they invest in it?

262
00:12:02,910 --> 00:12:04,200
What models are they using?

263
00:12:04,710 --> 00:12:05,060
Et cetera… et cetera… et cetera.

264
00:12:05,060 --> 00:12:05,120
Ned: What

265
00:12:08,110 --> 00:12:09,480
does it mean to be more efficient?

266
00:12:09,880 --> 00:12:11,459
How do you measure that efficiency?

267
00:12:11,559 --> 00:12:12,920
Like, so many questions.

268
00:12:13,420 --> 00:12:14,859
I didn’t want to get bogged down in it.

269
00:12:15,089 --> 00:12:17,380
I will try to find the study if I can.

270
00:12:17,980 --> 00:12:21,880
We will get into AWS’s AI stack in a little bit,

271
00:12:21,880 --> 00:12:24,010
but I do want to mention a couple other things.

272
00:12:24,820 --> 00:12:27,900
First, Dave said something about how AWS

273
00:12:27,969 --> 00:12:31,500
isn’t here to build the best AI applications.

274
00:12:31,889 --> 00:12:33,590
That’s what they expect you to do.

275
00:12:34,109 --> 00:12:39,359
They’re just providing the raw materials, which inadvertently is a dig at

276
00:12:39,360 --> 00:12:45,189
their own Amazon Q product, which ostensibly is a really good AI application.

277
00:12:45,719 --> 00:12:45,899
Whoops.

278
00:12:46,469 --> 00:12:49,390
Chris: Which also should be what AWS does.

279
00:12:49,679 --> 00:12:50,230
Ned: You would think.

280
00:12:50,610 --> 00:12:52,299
Chris: Just provide the raw materials.

281
00:12:52,730 --> 00:12:53,349
Ned: And that’s good.

282
00:12:53,350 --> 00:12:54,760
I actually liked that part of it.

283
00:12:54,770 --> 00:12:56,910
Like, yeah, you give me the raw materials.

284
00:12:56,920 --> 00:12:59,910
That’s what AWS has specialized in for years is giving

285
00:12:59,910 --> 00:13:05,130
developers, here’s a big old Lego set or an erector

286
00:13:05,139 --> 00:13:07,480
set, or whatever you want to call it; build your thing.

287
00:13:08,000 --> 00:13:11,650
You also made an offhand comment about data sovereignty issues,

288
00:13:11,969 --> 00:13:15,500
which I think was a subtle dig at Microsoft’s latest stumble

289
00:13:15,510 --> 00:13:20,740
with handling GDPR and the Scotland police force, I think?

290
00:13:21,550 --> 00:13:25,459
Dave had two guests with him on stage, one at a time.

291
00:13:25,639 --> 00:13:29,539
The first one was the director of AI for the CIA,

292
00:13:29,900 --> 00:13:32,900
and the second was the head of AI for the army.

293
00:13:33,570 --> 00:13:37,829
And both chats turned into weird recruitment pitches for

294
00:13:37,830 --> 00:13:41,680
the CIA and the army, along with a plea from the army

295
00:13:41,680 --> 00:13:45,269
guy for input on their AI layered defense framework.

296
00:13:45,929 --> 00:13:49,490
What was strangely absent from both conversations was any

297
00:13:49,490 --> 00:13:54,380
mention of how the CIA or the army are using AWS for anything.

298
00:13:54,720 --> 00:13:55,439
Chris: That’s classified.

299
00:13:56,179 --> 00:13:56,800
Ned: I guess?

300
00:13:57,240 --> 00:14:02,209
But also, like, you would think if you have guests up on stage at an AWS

301
00:14:02,690 --> 00:14:07,160
event, they’re going to at least mention how they’re using AWS in some way.

302
00:14:07,750 --> 00:14:09,160
Chris: I mean, counterpoint.

303
00:14:09,240 --> 00:14:13,790
This was hosted in DC, so it could very well have been, somebody

304
00:14:13,790 --> 00:14:17,599
called AWS and explained to them that these are going to be the guests.

305
00:14:18,130 --> 00:14:18,510
Ned: Mmm.

306
00:14:19,000 --> 00:14:19,449
Could be.

307
00:14:19,460 --> 00:14:23,279
I mean, the CIA probably has the leverage to do that.

308
00:14:24,020 --> 00:14:27,700
So, since they didn’t say what AWS is doing

309
00:14:27,700 --> 00:14:31,630
with AI, let’s talk about AWS’s AI portfolio.

310
00:14:32,440 --> 00:14:36,670
It’s kind of an open secret—not even a secret—it’s just known that

311
00:14:36,679 --> 00:14:40,650
Microsoft has a first-mover advantage when it comes to AI products.

312
00:14:40,910 --> 00:14:43,360
They partnered closely with OpenAI.

313
00:14:43,630 --> 00:14:47,030
They rolled out Copilot long before AWS had

314
00:14:47,030 --> 00:14:50,889
CodeWhisperer and GitLab had their product called Duo.

315
00:14:51,559 --> 00:14:55,469
Amazon and Google both looked to be caught flat-footed when

316
00:14:55,469 --> 00:14:59,589
it came to AI, and they are both furiously trying to catch up.

317
00:15:00,320 --> 00:15:04,890
That being said, a first-mover can have a big advantage,

318
00:15:05,080 --> 00:15:08,419
but it also means that you’re likely to fuck up a lot.

319
00:15:09,059 --> 00:15:12,280
You’re the one blazing the trail, you’re not following some

320
00:15:12,280 --> 00:15:15,800
well-trodden path, so the chances of making a logistical

321
00:15:15,809 --> 00:15:19,850
or tactical error are high, even if your strategy is sound.

322
00:15:20,830 --> 00:15:24,720
Sometimes being a fast-follower can actually work in your favor because

323
00:15:24,720 --> 00:15:29,610
you can see what the first-mover stumbled over and adjust accordingly.

324
00:15:29,660 --> 00:15:33,270
And I kind of get the feeling when watching AWS talk about

325
00:15:33,270 --> 00:15:37,790
their various AI offerings, that’s kind of where they’re at.

326
00:15:38,210 --> 00:15:40,459
They’re keeping an eye on Microsoft, and going well, as

327
00:15:40,460 --> 00:15:44,960
long as we can stay relatively close behind, we’ll be fine.

328
00:15:45,750 --> 00:15:51,790
So, they don’t have a monster model like OpenAI’s GPT4o.

329
00:15:52,650 --> 00:15:57,330
I guess it’s called four-oh—why did they abandon the semantic versioning?

330
00:15:57,340 --> 00:15:58,689
I don’t understand.

331
00:15:59,180 --> 00:16:02,310
Anyway—they don’t have that running in their data centers.

332
00:16:02,490 --> 00:16:05,080
Instead, they have their own foundational model which is

333
00:16:05,080 --> 00:16:09,090
called Titan, a model that, by most accounts, is pretty mid.

334
00:16:09,450 --> 00:16:09,760
Meh.

335
00:16:10,209 --> 00:16:12,250
Chris: More like a Teen Titan, am I right?

336
00:16:12,709 --> 00:16:14,070
Ned: Ahh, I like it.

337
00:16:14,270 --> 00:16:15,930
All right, which Team Titan would it be?

338
00:16:16,340 --> 00:16:17,060
Chris: The boring one.

339
00:16:17,290 --> 00:16:17,730
Ned: Robin.

340
00:16:17,970 --> 00:16:18,350
It’d be Robin.

341
00:16:18,350 --> 00:16:18,390
Chris: [laugh]

342
00:16:20,240 --> 00:16:21,949
.
Ned: [laugh] . But we repeat ourselves.

343
00:16:22,500 --> 00:16:24,689
What is a poor cloud hyperscaler to do?

344
00:16:25,230 --> 00:16:26,889
Build Amazon Bedrock?

345
00:16:27,099 --> 00:16:28,329
Chris: The Flintstones thing?

346
00:16:28,709 --> 00:16:30,930
Ned: Yeah, yeah, they invited Fred over and

347
00:16:30,930 --> 00:16:33,850
just, like, hash it out over some giant ribs.

348
00:16:34,240 --> 00:16:35,860
Chris: And strangely, he did a cigarette ad.

349
00:16:36,490 --> 00:16:37,830
Everyone was deeply confused.

350
00:16:40,099 --> 00:16:41,840
Ned: [laugh] . Oh, hell of a callback.

351
00:16:41,900 --> 00:16:42,390
Well, done.

352
00:16:43,170 --> 00:16:47,890
So, when Bedrock was announced, most people were like, “Huh?” But essentially

353
00:16:47,890 --> 00:16:52,390
what it is—and actually find it pretty interesting now that I understand it—it’s

354
00:16:52,400 --> 00:16:57,159
essentially an abstraction layer on top of other existing foundational models.

355
00:16:57,420 --> 00:16:59,440
So, it is not an LLM.

356
00:16:59,469 --> 00:17:01,460
It’s not a model in and of itself.

357
00:17:01,840 --> 00:17:03,979
It doesn’t tie you down to a single model.

358
00:17:04,260 --> 00:17:07,870
Instead, you can choose to use one or more of their

359
00:17:08,000 --> 00:17:11,050
various supported models, or bring your own model.

360
00:17:11,589 --> 00:17:18,750
Bedrock currently supports Titan, Anthropic, Meta, Mistral, and a bunch more.

361
00:17:19,030 --> 00:17:21,800
You can look up the current list; I’m sure it’s constantly changing.

362
00:17:22,410 --> 00:17:27,160
And the first session that I attended was actually a builder session

363
00:17:27,160 --> 00:17:31,720
where the presenters walked through using Bedrock in a Jupyter Notebook

364
00:17:31,720 --> 00:17:36,340
to interact with four different models, basically, simultaneously.

365
00:17:36,740 --> 00:17:40,609
I very much jumped into the deep end of things, inadvertently.

366
00:17:41,600 --> 00:17:43,580
I [laugh] walked in, they had, like, code up on the

367
00:17:43,580 --> 00:17:45,960
screen, and I was like, what did I just get myself into?

368
00:17:46,420 --> 00:17:46,939
All right.

369
00:17:47,590 --> 00:17:51,660
The idea was to test and evaluate the responses from each model,

370
00:17:51,830 --> 00:17:56,020
and figure out which one would be best suited for a set of tasks.

371
00:17:56,309 --> 00:17:58,280
And you can go back and check that on a regular

372
00:17:58,280 --> 00:18:00,800
basis because the models are constantly changing.

373
00:18:01,570 --> 00:18:07,169
Inside of the Bedrock SDK for Python, there’s a method called Converse,

374
00:18:07,780 --> 00:18:12,070
and this method and the service behind it abstracts the required

375
00:18:12,080 --> 00:18:16,990
inputs and parameters for each model into a consistent set of inputs.

376
00:18:17,670 --> 00:18:21,600
So, every model has its own specific parameters, and the way that

377
00:18:21,600 --> 00:18:25,800
it expects you to structure requests, and the way that it structures

378
00:18:25,800 --> 00:18:29,529
its responses, especially when you’re interacting programmatically.

379
00:18:30,360 --> 00:18:34,560
The key idea here was you can use this Converse method in a method

380
00:18:34,560 --> 00:18:39,110
call to loop through as many models as you’d like at once, and it

381
00:18:39,120 --> 00:18:42,639
has a consistent interface in front of those models, so you don’t

382
00:18:42,650 --> 00:18:47,429
have to adjust your parameters and your inputs, and you know what

383
00:18:47,429 --> 00:18:50,919
form the response is going to take because it normalizes it for you.

384
00:18:51,270 --> 00:18:51,410
Chris: Hmm.

385
00:18:51,940 --> 00:18:54,160
Ned: That seems kind of useful.

386
00:18:55,510 --> 00:19:00,030
If you need to, you can put in model specific-parameters in a separate field,

387
00:19:00,050 --> 00:19:04,129
so in your configuration of the method, you can say, “For this model, add

388
00:19:04,139 --> 00:19:08,209
these two or three customized parameters.” So, you can still add that level

389
00:19:08,210 --> 00:19:11,910
of customization in there, but if you don’t want to, you don’t have to.

390
00:19:12,500 --> 00:19:17,300
And since the technology and the models are evolving so rapidly, having

391
00:19:17,310 --> 00:19:22,730
a low switching cost between models is going to be a huge benefit, versus

392
00:19:22,730 --> 00:19:27,180
just hitching your wagon to OpenAI and hoping for the best from Sam Altman.

393
00:19:27,929 --> 00:19:30,179
I don’t feel super positive about that [laugh]

394
00:19:31,080 --> 00:19:33,170
.
Bedrock also has a couple other neat things.

395
00:19:33,250 --> 00:19:35,640
One is something they’re calling Knowledge Base, which

396
00:19:35,640 --> 00:19:39,899
is essentially RAG, aka, Retrieval Augmented Generation.

397
00:19:40,320 --> 00:19:43,400
Like the name implies, you can load up additional

398
00:19:43,410 --> 00:19:47,889
documents in S3 and feed them to a generic model to help

399
00:19:47,889 --> 00:19:51,610
it better understand your unique business and requirements.

400
00:19:52,200 --> 00:19:55,660
Each model has a different way of doing RAG, so it’s

401
00:19:55,670 --> 00:19:58,360
nice to have Bedrock just handle that abstraction.

402
00:19:58,620 --> 00:20:00,830
Hey, I want to use these six different models.

403
00:20:01,429 --> 00:20:03,980
Send it in the document way they prefer from

404
00:20:03,980 --> 00:20:06,209
this S3 bucket that I’ve loaded things up with.

405
00:20:06,879 --> 00:20:10,590
The other interesting concept—and I’m still trying to wrap my brain

406
00:20:10,590 --> 00:20:15,360
exactly around how it works—but it was this concept of agents and tools.

407
00:20:15,429 --> 00:20:17,239
And I’m not talking about agents in the

408
00:20:17,240 --> 00:20:19,930
sense of chatbots, or digital assistants.

409
00:20:20,320 --> 00:20:25,010
Instead, it’s a way that Bedrock lets you define tools

410
00:20:25,330 --> 00:20:28,950
that models can pass work off to in their application flow.

411
00:20:29,580 --> 00:20:33,440
So, the tools are really just Lambda functions that interact with some

412
00:20:33,440 --> 00:20:38,160
other API or data source, and the agent is the part of Bedrock that

413
00:20:38,170 --> 00:20:42,970
does the tool invocation and passes information back to the model.

414
00:20:43,580 --> 00:20:47,300
So, you can ask your application to do something like parse a bunch of

415
00:20:47,330 --> 00:20:51,959
emails for sales orders and then add them to your ordering system, and

416
00:20:51,960 --> 00:20:56,230
the model can use natural language parsing to understand the mail content,

417
00:20:56,280 --> 00:21:00,450
and then invoke the tool to actually interact with the ordering system.

418
00:21:01,100 --> 00:21:03,850
This is the sort of thing that’s going to put a lot of interns out of work.

419
00:21:04,490 --> 00:21:06,570
Chris: Yeah, it’s basically fancified RPA.

420
00:21:07,170 --> 00:21:08,680
Ned: Yeah, that’s a great way to put it.

421
00:21:08,860 --> 00:21:14,270
It is very much like—yeah, whatever RPA stands for, Robotic Process Automation?

422
00:21:14,429 --> 00:21:15,239
Chris: There you go.

423
00:21:15,249 --> 00:21:15,454
Ned: That’s the one.

424
00:21:15,599 --> 00:21:16,429
I got there.

425
00:21:17,010 --> 00:21:21,280
But yeah, if you have existing APIs and other systems that you want

426
00:21:21,280 --> 00:21:25,550
your language models or your foundational models to interact with,

427
00:21:25,870 --> 00:21:29,879
you don’t have to write that interaction into your application.

428
00:21:30,170 --> 00:21:34,230
You just define this tool spec—I think they called it a tool spec;

429
00:21:34,230 --> 00:21:38,050
it something along those lines—and then implement that tool spec in

430
00:21:38,330 --> 00:21:42,750
Lambda, and now your foundational model can interact with whatever

431
00:21:42,780 --> 00:21:46,419
API you want to hand it off to, if it’s internal or external.

432
00:21:46,500 --> 00:21:50,879
I was like, “Oh, that sounds pretty awesome, but also possibly

433
00:21:50,880 --> 00:21:55,690
incredibly dangerous because now we’ve allowed AI to just do whatever

434
00:21:55,690 --> 00:21:59,400
the hell it wants.” [laugh] . I’m sure that won’t come back to bite us.

435
00:22:00,160 --> 00:22:01,800
So, that’s Bedrock in a nutshell.

436
00:22:02,000 --> 00:22:05,100
There’s more to it, I’m sure, but those are the pieces that jumped out to me.

437
00:22:05,889 --> 00:22:11,149
AWS also went to great pains to say they do not store your requests,

438
00:22:11,389 --> 00:22:16,340
the model responses, or the augmented data anywhere inside of Bedrock.

439
00:22:16,720 --> 00:22:20,830
All of it lives inside your account, and the models that you bring with you.

440
00:22:21,320 --> 00:22:21,900
That’s nice.

441
00:22:22,440 --> 00:22:26,570
I think they went to special pains to explain that because of the audience.

442
00:22:27,059 --> 00:22:27,359
Chris: Right.

443
00:22:28,389 --> 00:22:31,270
Ned: So, from there, I want to jump ahead to a presentation that was about

444
00:22:31,380 --> 00:22:37,430
using GenAI in DevOps, which was a topic that I found very interesting.

445
00:22:37,860 --> 00:22:44,020
The two presenters, Tyler Lynch and Pranusha Manchala—I’m hope I’m

446
00:22:44,020 --> 00:22:48,410
getting that vaguely right; apologies to Pranusha—they lead the

447
00:22:48,420 --> 00:22:52,310
chalk talk and polled the audience about issues and challenges they

448
00:22:52,310 --> 00:22:58,340
encounter at all stages of the software design and deployment pipeline.

449
00:22:59,050 --> 00:23:01,480
If you’ve never attended a chalk talk before, they basically have a

450
00:23:01,620 --> 00:23:05,779
whiteboard, and, like, a loose presentation, but it’s very audience-driven.

451
00:23:05,930 --> 00:23:09,680
So, they’re asking for input: what is your experience?

452
00:23:09,700 --> 00:23:11,159
What are you seeing out there?

453
00:23:11,630 --> 00:23:14,569
As we rolled through the issues, they tried to give

454
00:23:14,570 --> 00:23:18,470
examples of how AWS’s various developer services could

455
00:23:18,480 --> 00:23:21,840
help alleviate some of the challenges people were feeling.

456
00:23:22,029 --> 00:23:25,399
So, I mean, you’re at an AWS conference; the solution is going to be AWS, right?

457
00:23:25,690 --> 00:23:26,350
Chris: One would think.

458
00:23:26,670 --> 00:23:26,940
Ned: Yeah.

459
00:23:27,580 --> 00:23:29,030
They highlighted three products.

460
00:23:29,060 --> 00:23:31,350
One was Amazon Q Developer.

461
00:23:31,560 --> 00:23:33,570
Q Developer used to be called CodeWhisperer.

462
00:23:34,330 --> 00:23:36,130
I don’t know if that was better [laugh] or worse.

463
00:23:36,660 --> 00:23:37,629
Chris: I think you do know.

464
00:23:37,880 --> 00:23:38,430
Ned: I do know.

465
00:23:38,559 --> 00:23:39,250
They’re both terrible.

466
00:23:40,039 --> 00:23:43,000
It’s very similar to what GitHub Copilot does.

467
00:23:43,210 --> 00:23:48,040
It plugs into your IDE, and it provides suggestions and a chat interface.

468
00:23:48,450 --> 00:23:51,190
Do you want to know what a chunk of code does

469
00:23:51,280 --> 00:23:53,309
when you’re trying to get to know a codebase?

470
00:23:53,889 --> 00:23:57,530
Highlight it, ask Q to explain it to you, and it will look at

471
00:23:57,530 --> 00:24:00,260
it and say, “This is what this function does,” in plain English.

472
00:24:00,709 --> 00:24:02,930
Do you need to refactor some code to be more

473
00:24:02,930 --> 00:24:05,280
efficient or scanned for vulnerabilities?

474
00:24:05,730 --> 00:24:08,010
You can do both of those things, making

475
00:24:08,010 --> 00:24:10,229
suggestions for how you could rewrite the code.

476
00:24:10,860 --> 00:24:13,980
Q can also write unit and integration tests,

477
00:24:14,530 --> 00:24:17,209
something that basically no one ever wants to do.

478
00:24:17,529 --> 00:24:21,590
As someone who’s working on developing a Go tool right now, I can tell you

479
00:24:21,590 --> 00:24:26,350
that I spend more time writing unit tests than I do writing actual code.

480
00:24:26,990 --> 00:24:27,630
It sucks.

481
00:24:27,950 --> 00:24:28,439
Chris: Not great.

482
00:24:28,940 --> 00:24:29,379
It’s not great.

483
00:24:29,800 --> 00:24:30,030
Ned: Yeah.

484
00:24:30,580 --> 00:24:34,710
Tyler also mentioned that Q can help with code migrations to

485
00:24:34,710 --> 00:24:37,660
newer language versions, and this was really interesting to me.

486
00:24:37,970 --> 00:24:44,420
Amazon used this functionality to migrate from Java 8 to Java 17.

487
00:24:44,730 --> 00:24:48,009
Now, as someone who is not a Java developer, I wasn’t

488
00:24:48,020 --> 00:24:52,360
really sure, okay, but I guess that is a significant

489
00:24:52,369 --> 00:24:56,200
jump, and those are two largely implemented versions.

490
00:24:56,710 --> 00:24:58,200
I guess there’s not a ton in between.

491
00:24:58,660 --> 00:24:59,960
I don’t really follow the numbering.

492
00:25:00,470 --> 00:25:03,890
But basically, they said they had a thousand applications

493
00:25:04,040 --> 00:25:09,030
that use Java 8 internally at Amazon, and so they took Q and

494
00:25:09,030 --> 00:25:12,680
turned it loose on those thousand applications to upgrade

495
00:25:12,680 --> 00:25:16,950
them all to Java 17, and they were able to do it in two days.

496
00:25:17,670 --> 00:25:18,890
Eyebrow-raising indeed.

497
00:25:20,360 --> 00:25:20,389
Chris: [laugh]

498
00:25:20,599 --> 00:25:21,660
.
Ned: That’s bananas.

499
00:25:22,240 --> 00:25:25,389
If you think about the amount of work that would be for developers

500
00:25:25,389 --> 00:25:30,690
to update the code and run the tests for it, they saved a

501
00:25:30,690 --> 00:25:34,320
tremendous amount of time, and also washed away a tremendous

502
00:25:34,320 --> 00:25:38,790
amount of tech debt they had being on this older version of Java.

503
00:25:39,280 --> 00:25:42,050
They also have a similar path to get from Java

504
00:25:42,050 --> 00:25:46,909
4 to 8, and then 17 for much older applications.

505
00:25:47,039 --> 00:25:52,149
I feel like Java 4 was current when I was developing Java back in, like, 1998.

506
00:25:52,870 --> 00:25:55,630
They also are working on similar upgrade functionality

507
00:25:55,630 --> 00:25:59,440
for .NET to .NET Core, and Python 2 to 3.

508
00:26:00,090 --> 00:26:02,740
This is the kind of thing that no one ever wants to do.

509
00:26:03,950 --> 00:26:06,800
No one ever sits down, they’re, like, “Today’s the day when we’re

510
00:26:06,800 --> 00:26:10,690
going to pay off our tech debt and upgrade from Python 2 to 3.”

511
00:26:10,940 --> 00:26:11,100
Chris: Yeah.

512
00:26:11,240 --> 00:26:12,940
For most companies, that day is never.

513
00:26:13,300 --> 00:26:14,830
Ned: Right because you look at it, you’re like, there

514
00:26:14,830 --> 00:26:17,380
is no immediate business value in me doing this.

515
00:26:17,710 --> 00:26:22,260
The application still works, I am not doing anything until I absolutely have to.

516
00:26:23,000 --> 00:26:26,960
But doing that upgrade actually does come with some benefits.

517
00:26:27,420 --> 00:26:29,970
Another session I attended was put on by GitLab, and

518
00:26:30,320 --> 00:26:32,810
they were talking about their code assistant, which is

519
00:26:32,810 --> 00:26:38,040
called Duo, and Duo can do refactoring from C to Rust.

520
00:26:38,620 --> 00:26:43,040
And they talked to a public sector organization whose name they

521
00:26:43,040 --> 00:26:47,000
couldn’t say, but they talked to one, and they had this C-based

522
00:26:47,010 --> 00:26:51,460
application that was a bit of a bottleneck for what they were doing.

523
00:26:52,040 --> 00:26:54,629
They had Duo port it over to Rust.

524
00:26:54,690 --> 00:26:56,080
And this was just an experiment.

525
00:26:56,299 --> 00:26:59,449
It was supposed to be like a three-month-long migration process.

526
00:27:00,129 --> 00:27:03,639
They had Duo try to do the migration of C to Rust,

527
00:27:03,830 --> 00:27:07,200
and move it to running on Lambda instead of EC2.

528
00:27:07,630 --> 00:27:11,480
Duo and the senior developer managed to do it in two days.

529
00:27:12,110 --> 00:27:12,830
Chris: It’s this the rule?

530
00:27:12,830 --> 00:27:14,120
Everything happens in two days?

531
00:27:14,219 --> 00:27:20,030
Ned: Apparently [laugh] . The resulting application was 90%

532
00:27:20,030 --> 00:27:24,399
smaller, ran a hundred times faster, and could scale by 50x.

533
00:27:25,510 --> 00:27:26,800
In part because of Lambda.

534
00:27:27,380 --> 00:27:28,699
Chris: Well, and just because of Rust.

535
00:27:28,710 --> 00:27:32,110
And something interesting about this is it’s not just simple refactoring,

536
00:27:32,120 --> 00:27:36,130
but you’re looking at optimizing how the code does what it does.

537
00:27:37,210 --> 00:27:40,560
You know, like, the difference between a junior programmer writing this

538
00:27:40,570 --> 00:27:44,630
program for the very first time and somebody that’s got 35 years of experience

539
00:27:44,980 --> 00:27:48,030
picking up that code and saying, “This is what it should have looked like.”

540
00:27:48,429 --> 00:27:49,089
Ned: Exactly.

541
00:27:49,139 --> 00:27:52,779
And I think that was the point that the presenter made was, senior

542
00:27:52,779 --> 00:27:56,550
developers will actually get some of the most benefit out of this because

543
00:27:56,980 --> 00:28:00,490
they can look at the code that is produced, and they understand the

544
00:28:00,490 --> 00:28:06,360
context of the original code, so they have a better chance of making

545
00:28:06,360 --> 00:28:10,190
sure the code actually works after that conversion, and works properly.

546
00:28:10,629 --> 00:28:12,960
It’s just that this GitLab Duo is going to save

547
00:28:12,960 --> 00:28:16,320
them a ton of time in doing the actual code writing.

548
00:28:17,260 --> 00:28:18,980
So, that was pretty impressive to me.

549
00:28:19,170 --> 00:28:23,820
He also talked about how so many companies will do, like, a lift-and-shift,

550
00:28:24,110 --> 00:28:28,789
and then never actually refactor the code, and so you have all these

551
00:28:28,820 --> 00:28:34,530
inefficient applications eating up cycles on EC2 in AWS or wherever you

552
00:28:34,530 --> 00:28:39,250
decide to host your code, if you can go back and use one of these code

553
00:28:39,450 --> 00:28:44,639
assistants to refactor things pretty quickly—you know, instead of a six-month

554
00:28:44,639 --> 00:28:48,490
lead time, you’re now talking about a two-week lead time, maybe—that’s

555
00:28:48,490 --> 00:28:52,320
actually worth doing, and could be game-changing for some organizations.

556
00:28:52,830 --> 00:28:53,110
Chris: Yeah.

557
00:28:53,120 --> 00:28:57,020
I mean, a lot of times, people simply hide bad code behind larger instances.

558
00:28:57,800 --> 00:28:58,639
Ned: [laugh] . Sometimes?

559
00:28:58,920 --> 00:29:00,610
Sometimes it’s doing a lot of lifting there, buddy [laugh]

560
00:29:00,760 --> 00:29:00,790
.
Chris: [laugh]

561
00:29:03,290 --> 00:29:06,159
.
Ned: Yeah, the fact that we can just throw more hardware at it, and have

562
00:29:06,160 --> 00:29:10,030
done that for years, this is actually an opportunity to slim down your

563
00:29:10,030 --> 00:29:14,290
code, maybe make it safer—because if you’re moving from C to Rust, it’s now

564
00:29:14,300 --> 00:29:18,360
memory safe at least—and maybe squash some security bugs in the process.

565
00:29:18,360 --> 00:29:20,599
Like, that’s a win for a lot of teams.

566
00:29:21,650 --> 00:29:23,889
Moving on from the code assistant, the other tools

567
00:29:23,900 --> 00:29:27,180
that were mentioned are DevOps Guru and Code Guru.

568
00:29:27,790 --> 00:29:28,490
Terrible names.

569
00:29:29,010 --> 00:29:32,409
The former does scanning of CloudTrail logs looking for anomalous

570
00:29:32,410 --> 00:29:35,889
events, and the latter does code scanning, testing, and assessment.

571
00:29:36,389 --> 00:29:39,050
From what I understand, Code Guru charges by

572
00:29:39,050 --> 00:29:42,660
the line scanned and is prohibitively expensive.

573
00:29:42,880 --> 00:29:43,310
Chris: Okay.

574
00:29:43,380 --> 00:29:47,300
Ned: DevOps guru, similarly expensive for looking at CloudTrail logs.

575
00:29:48,040 --> 00:29:49,820
But they mentioned them, so I guess I should, too.

576
00:29:50,690 --> 00:29:54,859
The last part of the AWS GenAI sandwich is hardware.

577
00:29:55,730 --> 00:29:59,049
AWS has some hardware to throw at the problem, including their

578
00:29:59,090 --> 00:30:04,530
own in-house developed chips called Trainium, and Inferentia.

579
00:30:04,910 --> 00:30:05,540
Chris: Trainium?

580
00:30:06,900 --> 00:30:09,599
Ned: Trainium, which are for model training, and inference, respectively.

581
00:30:10,389 --> 00:30:11,970
But I think you already guessed that.

582
00:30:12,650 --> 00:30:14,140
Are these chips any good?

583
00:30:14,759 --> 00:30:15,510
No idea.

584
00:30:16,049 --> 00:30:17,159
Are the names any good?

585
00:30:17,809 --> 00:30:18,099
No.

586
00:30:18,879 --> 00:30:23,030
They also have Nvidia A100s and soon will have H100s, so maybe

587
00:30:23,030 --> 00:30:25,650
that’s a better bet if you’re doing this model training thing.

588
00:30:26,050 --> 00:30:26,649
Chris: Just a thought.

589
00:30:27,090 --> 00:30:27,409
Ned: Yeah.

590
00:30:27,920 --> 00:30:30,850
Another session I attended was all about the training process

591
00:30:30,850 --> 00:30:35,749
for a foundational model called Falcon, and to train the model,

592
00:30:35,859 --> 00:30:40,900
they use SageMaker, and ECR, and S3, the biggest version of

593
00:30:40,900 --> 00:30:43,860
the model that they train, they did three versions of it.

594
00:30:43,970 --> 00:30:49,430
The biggest one was called 180B, which I guess is for billion parameters.

595
00:30:50,090 --> 00:30:57,390
This thing used 3.5 trillion training tokens, 46,000 petaflop days—I’m

596
00:30:57,390 --> 00:31:03,280
not even sure what that means, but that’s what they quoted—and 4096 GPUs.

597
00:31:03,969 --> 00:31:07,560
The training process took six months, and used P4d

598
00:31:08,820 --> 00:31:12,450
EC2 instances that each have eight A100s in them.

599
00:31:12,930 --> 00:31:16,130
This was not cheap… by any stretch of the imagination.

600
00:31:16,510 --> 00:31:20,070
They actually, through this process, hit the performance limit

601
00:31:20,110 --> 00:31:24,830
of S3, and had to write new custom libraries that go beyond the

602
00:31:25,090 --> 00:31:31,010
3500 PUTs and 5500 GETs per second that S3 normally supports.

603
00:31:31,550 --> 00:31:34,370
Chris: I was going to say, S3 is not supposed to have limits.

604
00:31:34,630 --> 00:31:36,009
Ned: It does [laugh]

605
00:31:36,639 --> 00:31:36,669

Chris: [laugh]

606
00:31:36,890 --> 00:31:38,969
.
Ned: But you have to work real hard to get there.

607
00:31:39,469 --> 00:31:40,050
They did it.

608
00:31:40,360 --> 00:31:41,210
Congratulations.

609
00:31:41,889 --> 00:31:46,509
It turns out, if you use—there’s a version of S3 that is a single

610
00:31:46,719 --> 00:31:51,919
zone—not single region, but single zone—S3—I forget exactly what it’s

611
00:31:51,920 --> 00:31:56,320
called—if you pick that version of S3, the limits go up because it no

612
00:31:56,320 --> 00:32:00,220
longer has to do any replication or spreading across availability zones.

613
00:32:00,599 --> 00:32:00,819
Chris: Right.

614
00:32:00,870 --> 00:32:02,639
I think that version, when you look at it in

615
00:32:02,880 --> 00:32:05,000
the drop-down, is called don’t use this for DR.

616
00:32:05,289 --> 00:32:07,640
Don’t—for God’s sake—use this for DR.

617
00:32:07,890 --> 00:32:10,520
Ned: Yeah, it’s intended for exactly what they were doing,

618
00:32:10,520 --> 00:32:13,390
which is these large data models that they’re loading.

619
00:32:13,600 --> 00:32:15,359
Chris: People are going to use it for DR, aren’t they?

620
00:32:15,559 --> 00:32:16,899
Ned: They absolutely are.

621
00:32:16,899 --> 00:32:21,330
So, that session was super cool because they had AWS and folks

622
00:32:21,330 --> 00:32:25,260
from Falcon’s company—it’s called TII—talking about the model

623
00:32:25,260 --> 00:32:28,850
design, the training methodology, the data sources and efficiency.

624
00:32:29,270 --> 00:32:32,360
I feel like that could be its own episode, so I’m just going to stop there.

625
00:32:32,940 --> 00:32:33,260
Chris: Cool.

626
00:32:33,710 --> 00:32:34,260
Ned: Geez.

627
00:32:34,500 --> 00:32:34,784
I will brief—

628
00:32:34,800 --> 00:32:35,919
Chris: You said you were going to stop.

629
00:32:36,460 --> 00:32:37,839
Ned: I was going to stop talking about that.

630
00:32:37,900 --> 00:32:41,919
I’m briefly going to touch on AI security, just to mention that I

631
00:32:41,920 --> 00:32:46,530
attended a session that talked about how to implement—or security

632
00:32:46,830 --> 00:32:50,579
things to worry about when it comes to interacting with LLMs, and

633
00:32:50,580 --> 00:32:56,200
they mentioned that OWASP has a top ten for LLMs, which I had no idea.

634
00:32:56,849 --> 00:33:02,720
That report was brought together by 500 experts and 125 contributors,

635
00:33:02,800 --> 00:33:06,899
and came up with a list of possible vulnerabilities for LLMs.

636
00:33:07,500 --> 00:33:08,769
I read through part of the report.

637
00:33:08,820 --> 00:33:09,850
It is fascinating.

638
00:33:10,059 --> 00:33:12,890
Once again, this paper could be its own show, and I would

639
00:33:12,890 --> 00:33:15,760
like to have someone from OWASP or one of the contributors

640
00:33:15,980 --> 00:33:19,379
come on and explain it to me like the third-grader that I am.

641
00:33:20,020 --> 00:33:20,930
Chris: I support this plan.

642
00:33:20,940 --> 00:33:22,429
It means I have to do less work.

643
00:33:22,710 --> 00:33:23,210
Ned: Well, there you go.

644
00:33:23,540 --> 00:33:27,370
Me too [laugh] . So, just to bring it all

645
00:33:27,370 --> 00:33:31,130
down to brass tacks, am I an AI convert now?

646
00:33:31,219 --> 00:33:35,360
Was drinking from the firehose enough to bring me over to the AI side?

647
00:33:35,809 --> 00:33:36,269
No.

648
00:33:37,150 --> 00:33:40,760
My goal at the conference was to enter each session with an open mind.

649
00:33:41,120 --> 00:33:45,460
I did my best not to scoff at ridiculous claims, I tried to take

650
00:33:45,460 --> 00:33:49,350
people and the services at face value, to listen, to not judge.

651
00:33:49,710 --> 00:33:53,360
And for the most part, I was able to turn off the supercritical and

652
00:33:53,360 --> 00:33:57,700
cynical parts of my brain, and just kind of absorb it as it was presented.

653
00:33:58,320 --> 00:34:01,379
Now that I’ve had a little time to digest, here’s what I think:

654
00:34:01,840 --> 00:34:05,310
for starters, GenAI is still very much in its early days.

655
00:34:05,750 --> 00:34:09,950
There were several comparisons to the dotcom bubble, and I think that’s fair.

656
00:34:10,580 --> 00:34:14,440
There’s an embarrassing amount of money being poured into anything AI

657
00:34:14,860 --> 00:34:18,759
right now in the same way that any company that had a vague association

658
00:34:18,770 --> 00:34:22,120
with the World Wide Web was showered with funding in the late-’90s.

659
00:34:22,870 --> 00:34:24,680
That bubble must and will pop.

660
00:34:25,030 --> 00:34:28,020
There will be some genuine use cases that are worth pursuing,

661
00:34:28,369 --> 00:34:30,970
some that are a little ahead of their time, but they’ll come back

662
00:34:30,970 --> 00:34:36,020
around, and some that are just absolute crocks or complete scams.

663
00:34:36,610 --> 00:34:37,620
A lot of them are that.

664
00:34:38,429 --> 00:34:41,449
The most compelling use case I saw—and you may have already

665
00:34:41,449 --> 00:34:44,320
guessed this—was around developer and ops productivity.

666
00:34:44,880 --> 00:34:49,030
There’s a metric ton of tech debt at every large company, little

667
00:34:49,030 --> 00:34:52,360
desire to actually fix it—well, I won’t say ‘a little desire.’ There’s

668
00:34:52,360 --> 00:34:57,260
desire to fix it, but not enough time or money to fix it—this may

669
00:34:57,260 --> 00:35:01,700
actually be the best use case for GenAI AI as it exists right now.

670
00:35:02,360 --> 00:35:04,360
GenAI is good at understanding code.

671
00:35:04,379 --> 00:35:06,880
It’s good at migrating it, it’s good at testing it, and it’s

672
00:35:06,880 --> 00:35:09,860
good at ingesting a lot of data and making it available.

673
00:35:10,360 --> 00:35:13,709
So, it’s going to help Dev and Ops tremendously.

674
00:35:14,050 --> 00:35:19,360
Although I have a little concern around junior talent, and them

675
00:35:19,420 --> 00:35:22,369
being developed if we’re going to end up replacing them with AI.

676
00:35:23,250 --> 00:35:25,010
So, that is a potential problem.

677
00:35:25,790 --> 00:35:27,730
Everything else was AI whitewashing.

678
00:35:28,280 --> 00:35:31,150
Walking the expo floor, basically, every

679
00:35:31,150 --> 00:35:33,880
single booth had AI plastered on it somewhere.

680
00:35:34,130 --> 00:35:35,669
I am not exaggerating.

681
00:35:36,330 --> 00:35:39,459
Every company, from storage to monitoring to professional

682
00:35:39,460 --> 00:35:45,950
services, had AI something, and 90% of them were talking about

683
00:35:45,950 --> 00:35:50,220
some kind of shitty chatbot or some basic-ass machine learning.

684
00:35:50,990 --> 00:35:52,650
In a few years, it will be something else

685
00:35:52,690 --> 00:35:54,950
in the same way that cloud was at one point.

686
00:35:55,190 --> 00:35:56,609
But most of it is just bullshit.

687
00:35:57,270 --> 00:35:58,670
Am I glad I took the plunge?

688
00:35:59,029 --> 00:35:59,329
Yeah.

689
00:35:59,840 --> 00:36:01,780
It was informative to see what people are really

690
00:36:01,780 --> 00:36:04,950
doing versus the marketing and the general messaging.

691
00:36:05,560 --> 00:36:08,319
I can see there’s a lot of potential for disruption coming down the

692
00:36:08,330 --> 00:36:12,930
pike, but it’s not nearly as dire or revolutionary, as some suggest.

693
00:36:13,500 --> 00:36:15,710
Or I don’t know, Chris, maybe I’m wrong and AGI

694
00:36:16,010 --> 00:36:18,169
will be born next week and put me to the sword.

695
00:36:18,620 --> 00:36:19,060
Whatever.

696
00:36:19,060 --> 00:36:20,210
I’m going to be on vacation.

697
00:36:20,650 --> 00:36:22,080
My digital assistant can handle it.

698
00:36:22,740 --> 00:36:23,250
That’s it.

699
00:36:23,320 --> 00:36:24,880
Hey, thanks for listening or something.

700
00:36:24,880 --> 00:36:26,900
I guess you found it worthwhile enough if you made it all

701
00:36:26,900 --> 00:36:29,230
the way to the end, so congratulations to you, friend.

702
00:36:29,480 --> 00:36:30,689
You accomplished something today.

703
00:36:30,870 --> 00:36:33,980
Now, you can sit on the couch, query Developer Q—Q

704
00:36:33,980 --> 00:36:38,520
Developer?—for the best way to rewrite your code, and just relax.

705
00:36:38,570 --> 00:36:39,250
You’ve earned it.

706
00:36:39,420 --> 00:36:42,250
You can find more about this show by visiting our LinkedIn page,

707
00:36:42,250 --> 00:36:45,850
just search ‘Chaos Lever,’ or go to the website, chaoslever.com

708
00:36:45,850 --> 00:36:48,899
where you’ll find show notes, blog posts, and general tomfoolery.

709
00:36:49,340 --> 00:36:53,380
We’ll be off next week because I actually am genuinely going on vacation.

710
00:36:53,730 --> 00:36:57,420
So, you’ll have to wait two weeks to see what fresh hell is upon us.

711
00:36:57,710 --> 00:36:58,549
Ta-ta for now.

712
00:37:06,730 --> 00:37:08,029
Chris: When are you not on vacation?

713
00:37:08,429 --> 00:37:09,549
Ned: I’m sorry, I was on vacation.

714
00:37:09,559 --> 00:37:09,899
What?

715
00:37:10,259 --> 00:37:10,399
[laugh]