1
00:00:00,000 --> 00:00:10,380
I thought, you know, Richard and I had the good idea that we should goose the episode content again with some quality just for the people who are kind of like have a sour gut about like, you know, talking about high level stuff.

2
00:00:10,480 --> 00:00:19,300
So we're lucky that we we have we have someone from my team, Kenny, and also a returning guest, James Governor from Red Monk.

3
00:00:19,700 --> 00:00:26,100
And, you know, they were they were hanging out talking about like cloud native and what all that is and things going on in the area.

4
00:00:26,100 --> 00:00:38,480
And I think along with Richard and I doing sort of like, you know, the old the old guys on the Muppets commentary from the side, I was thinking it would be fun to, like, listen in to to James and Kenny talk about it.

5
00:00:38,500 --> 00:00:47,060
But first, you know, for everyone who who hasn't listened to the complete episode, like the one person out of all of our listeners, why don't you two introduce yourself?

6
00:00:47,120 --> 00:00:47,920
Why don't you start, James?

7
00:00:49,060 --> 00:00:52,100
Great. Hi, this is James Governor.

8
00:00:52,100 --> 00:00:56,400
I am one of the founders of a company called Red Monk.

9
00:00:57,600 --> 00:01:04,780
We are an industry analyst company, but we're interested in developers instead of just the pointy head people.

10
00:01:05,000 --> 00:01:07,180
How about yourself? Give us an introduction, Kenny.

11
00:01:07,580 --> 00:01:08,540
Hi, I'm Kenny Bastani.

12
00:01:08,720 --> 00:01:15,720
I am a spring developer advocate at Pivotal, also the author of Cloud Native Java, who I wrote it with Josh Long.

13
00:01:16,400 --> 00:01:24,940
And that's about it. I'm mostly on an airplane any any day traveling around the world, talking to Pivotal's customers, prospects about Cloud Native.

14
00:01:25,580 --> 00:01:30,340
And also, as I recall, someone who is brave enough to play Andrew Schaefer at chess.

15
00:01:31,000 --> 00:01:36,880
I just I can't even imagine if that's like a profitable endeavor, sort of just purely based on time spent.

16
00:01:37,900 --> 00:01:42,200
It went way better than I thought. I was really worried about it, but I lasted a full 10 minutes.

17
00:01:42,320 --> 00:01:42,880
So that's great.

18
00:01:43,120 --> 00:01:51,240
Yeah. Yeah. I think I think I think if once you play, if you sit down to play chess with someone who likes to give lightning talks about how to punch properly, you're in for an exciting ride.

19
00:01:52,800 --> 00:01:53,120
Absolutely.

20
00:01:53,320 --> 00:01:54,060
No table flipping.

21
00:01:54,740 --> 00:01:55,000
No.

22
00:01:55,960 --> 00:02:01,780
He needs to he needs to coach that guy that that punch Richard Spencer because that punch was not good at all.

23
00:02:02,160 --> 00:02:15,540
So let me let me start you guys off by asking James, you know, I think I recently learned someone was copy editing some of my material that Cloud Native actually has a hyphen in it.

24
00:02:15,640 --> 00:02:25,440
So I feel like I'm pretty much halfway to being an expert on it, but it would it would be it'd be good to hear like when you when you both use this phrase Cloud Native yourself, if you do.

25
00:02:26,000 --> 00:02:31,240
And when you see other people outside of Pivotal or whatever, kind of in the industry using Cloud Native.

26
00:02:31,560 --> 00:02:33,040
Yeah. So so what is Cloud Native?

27
00:02:33,320 --> 00:02:39,300
Well, if someone if someone were to ask you that, who who was, you know, like not a civilian, they're one of these nerd people like us.

28
00:02:39,380 --> 00:02:41,240
Like what what would you explain to them?

29
00:02:41,400 --> 00:02:43,580
That's a great question. Kenny, what is Cloud Native?

30
00:02:43,580 --> 00:02:47,220
So Cloud Native for me, it really starts with starts with developers.

31
00:02:47,460 --> 00:02:58,360
Right. So it's it's a way for developers to frame a new way, a modern way of developing applications that is native to the environment of the cloud, which things are aren't static.

32
00:02:58,500 --> 00:03:02,960
They're ephemeral. They're dynamic. And being able to create these applications on demand, self-service way.

33
00:03:03,600 --> 00:03:05,440
That's really what Cloud Native is all about.

34
00:03:05,900 --> 00:03:07,340
Well, you are really good at this.

35
00:03:07,800 --> 00:03:08,140
Am I?

36
00:03:08,260 --> 00:03:09,320
Yeah, that was fantastic.

37
00:03:09,520 --> 00:03:10,140
Why is that different?

38
00:03:10,820 --> 00:03:12,300
Different than what we were doing before?

39
00:03:12,300 --> 00:03:13,420
Because it used to suck.

40
00:03:13,580 --> 00:03:15,160
And now it's not so bad.

41
00:03:15,640 --> 00:03:17,420
His answer is way, way better than mine.

42
00:03:17,860 --> 00:03:19,640
So, yeah, Cloud Native, I don't know.

43
00:03:19,780 --> 00:03:31,380
There's just a set of disciplines that we seem to have learned from companies that, frankly, you know, and individuals that have built things in the area where we did have these cloud resources.

44
00:03:31,460 --> 00:03:51,980
And, you know, this set of associated disciplines in around things like CICD, you know, breaking things down into smaller components, actually understanding distributed development, trying to take advantage of all the progress that we've made in probably these last five, 10 years in terms of just better programming.

45
00:03:51,980 --> 00:04:05,060
So I think it's sort of capturing some of those principles and, you know, then perhaps refactoring the architectures to better support those principles.

46
00:04:05,200 --> 00:04:12,940
I mean, we can go back to, you know, the famous kind of 12-factor Heroku kind of vision of how to build apps.

47
00:04:14,260 --> 00:04:24,460
That's been really influential, you know, certainly, you know, frankly, if we look at Cloud Foundry, that came out of, hey, this Heroku thing is a good idea.

48
00:04:24,560 --> 00:04:26,060
Let's make that a thing.

49
00:04:26,520 --> 00:04:35,220
And so I think it's just bringing together the lessons we've learned and developing accordingly.

50
00:04:36,120 --> 00:04:38,560
That's kind of my terrible definition of cloud native.

51
00:04:39,180 --> 00:04:42,420
I mean, it doesn't fit on a T-shirt, but that's still a solid definition.

52
00:04:42,460 --> 00:04:44,720
No, it does with small font.

53
00:04:45,240 --> 00:04:46,400
I've actually got that T-shirt.

54
00:04:47,400 --> 00:04:50,560
I mean, jump in, Coté, do you see the, I mean, you talked about the dev practices.

55
00:04:50,940 --> 00:04:55,740
I mean, there's the cultural side of it, too, I think, that we've kind of labeled a cloud native way of working.

56
00:04:55,860 --> 00:04:57,340
I mean, do you see that as well?

57
00:04:57,380 --> 00:04:58,100
It's not just the tools.

58
00:04:58,280 --> 00:04:59,420
It's a style.

59
00:05:00,280 --> 00:05:08,060
So I have this metaphor that I've been running with, which is that imagine you go to an airport and there's only one electric socket.

60
00:05:08,680 --> 00:05:11,480
And everyone's trying to charge their phone.

61
00:05:11,880 --> 00:05:12,460
That's in Britain.

62
00:05:13,280 --> 00:05:15,380
That's definitely Heathrow.

63
00:05:15,860 --> 00:05:20,980
And so what ends up happening is everybody has to wait for their turn or they have these extensions.

64
00:05:21,400 --> 00:05:22,180
And that's one solution.

65
00:05:22,260 --> 00:05:24,380
They have to figure out how to share this one resource.

66
00:05:25,080 --> 00:05:30,780
And that's what developers have been dealing with and operators have been dealing with before cloud native, right?

67
00:05:30,840 --> 00:05:40,160
So cloud native is really just a way to not share as many things, to be able to have things that you need to be successful, to be able to provision those in a self-service way on demand.

68
00:05:40,820 --> 00:05:45,860
And you get to have your own electric socket and charge your phone, charge your devices.

69
00:05:46,060 --> 00:05:51,840
You don't have to share and go into all this complexity of all these extensions and sharing this one resource.

70
00:05:51,880 --> 00:05:52,940
But I like sharing.

71
00:05:53,160 --> 00:05:55,180
I always try and teach my kids to share.

72
00:05:57,300 --> 00:05:58,100
Sharing is good.

73
00:05:58,200 --> 00:05:59,560
I mean, it's generally a great idea.

74
00:05:59,560 --> 00:06:06,320
But when it comes to development and operations of applications that have to be online all the time, not such a great idea.

75
00:06:06,760 --> 00:06:16,200
It turns out that developers are most successful when they have the tools and they have the infrastructure they need to build their application and be successful.

76
00:06:16,440 --> 00:06:19,320
So do you see that – I mean, you've talked to a lot of web companies.

77
00:06:19,580 --> 00:06:21,380
So, I mean, what do you think that cultural piece is?

78
00:06:21,400 --> 00:06:26,040
I mean, most of these labels seem to come from people who have, after the fact, described what other people have already been doing.

79
00:06:26,180 --> 00:06:29,600
Like cloud native, Netflix was cloud native before it was cloud native.

80
00:06:30,120 --> 00:06:32,060
But, you know, you talk to a lot of web companies.

81
00:06:32,380 --> 00:06:35,680
What do you see as the cultural characteristics of a cloud native shop?

82
00:06:36,620 --> 00:06:37,680
Oh, some of the obvious ones.

83
00:06:37,780 --> 00:06:39,220
I mean, you mentioned Netflix.

84
00:06:39,380 --> 00:06:41,680
So it tends to be small teams.

85
00:06:42,780 --> 00:06:52,940
You know, I think that's one of the things that, you know, whether we, you know, I'm a bit loathe to now introduce another thing we might need to define.

86
00:06:52,940 --> 00:06:56,180
But, you know, people bandy around that word microservices.

87
00:06:56,700 --> 00:07:00,460
And that's really about small teams working together on units of work.

88
00:07:00,920 --> 00:07:02,940
That's one of the really important things.

89
00:07:03,080 --> 00:07:12,500
People taking responsibility for things, you know, and not developing things with the idea that you're kind of handed off and someone else is going to, you know, do the QA and the test.

90
00:07:12,720 --> 00:07:15,740
And, you know, it's the – you know, it's for a lot of enterprises.

91
00:07:15,740 --> 00:07:25,200
I mean, they're still, you know, they're only just kind of emerging from that horrific abomination called waterfall.

92
00:07:25,900 --> 00:07:31,420
And so, you know, I think, again, I see cloud native as sort of, you know, part of the – yeah.

93
00:07:32,560 --> 00:07:35,640
It's agile team, agile, you know.

94
00:07:35,900 --> 00:07:38,340
I mean, certainly in the pivotal sense, you're going to be pair programming.

95
00:07:42,340 --> 00:07:43,180
What was the question again?

96
00:07:43,660 --> 00:07:45,840
I think that was the cultural aspects of cloud native.

97
00:07:45,840 --> 00:07:47,840
I think you described it as that way of working.

98
00:07:48,140 --> 00:07:53,300
To some extent, maybe even the way of thinking about software and thinking about modularity and thinking about constantly shipping.

99
00:07:53,420 --> 00:07:59,080
It's almost this – I know we think of it sometimes pivotal as a combo of microservice-y stuff, but DevOps plus agile.

100
00:07:59,240 --> 00:08:07,100
Well, it's just focusing on delivery and focusing on having compute at the drop of a hat, which is very different than 10 years ago.

101
00:08:07,600 --> 00:08:12,580
I like what you both said, but you said something that really appealed to me, which is responsibility, accountability.

102
00:08:12,580 --> 00:08:23,940
One of the things that happens when you're sharing the same resource, the same application across the company of 500-plus engineers and operators is that not everybody treats it with the same amount of respect, right?

103
00:08:24,040 --> 00:08:26,180
There's people who put more work into it than others.

104
00:08:27,300 --> 00:08:35,240
And what ends up happening is that nobody really just feels themselves accountable for that application, which ends up hurting the end users.

105
00:08:35,240 --> 00:08:42,540
And so with microservices, right, you have accountability for all the things within the realm of that application.

106
00:08:43,140 --> 00:08:51,860
And you're communicating in an ecosystem with other teams, and I think that's just a much better way to go about building an application.

107
00:08:52,060 --> 00:08:53,200
So talk about building apps.

108
00:08:53,500 --> 00:08:59,520
You apparently know something about this Java thing, this new programming language and environment.

109
00:08:59,880 --> 00:09:00,260
Brand new.

110
00:09:00,520 --> 00:09:01,420
All the kids are doing it.

111
00:09:01,560 --> 00:09:03,200
All the kids are doing it, right?

112
00:09:03,660 --> 00:09:06,880
So this Java thing, that's cloud-native, right?

113
00:09:07,380 --> 00:09:07,780
It is.

114
00:09:08,020 --> 00:09:09,460
Well, Spring Boot's cloud-native.

115
00:09:09,640 --> 00:09:10,560
Oh, there you go.

116
00:09:11,000 --> 00:09:13,740
So what even is cloud-native Java?

117
00:09:14,500 --> 00:09:17,320
So cloud-native Java, it was interesting.

118
00:09:17,320 --> 00:09:21,760
So Josh and I, when we first started writing the book, it was a different book entirely.

119
00:09:21,900 --> 00:09:22,820
It was Spring Boot.

120
00:09:23,620 --> 00:09:31,300
But then this cloud-native thing came along and Pivotal was seeing such great success in the platform end of things.

121
00:09:31,460 --> 00:09:38,660
That really, all of these things came together in one package, and we decided to rename the book Cloud Native Java.

122
00:09:39,240 --> 00:09:46,820
So originally, it was just a way to explain the Spring ecosystem, and it turned into a way to explain how all these pieces connect together.

123
00:09:47,300 --> 00:09:49,460
I have to say, by the way, that is pretty funny.

124
00:09:49,460 --> 00:09:55,400
There was, I think, a review, although I don't know how they reviewed it, but it isn't really out yet.

125
00:09:55,840 --> 00:09:56,480
It wasn't early.

126
00:09:56,700 --> 00:09:56,980
Did you?

127
00:09:57,460 --> 00:10:02,060
But there was someone who was like, this book is not about cloud-native Java.

128
00:10:02,660 --> 00:10:04,500
This is about Spring.

129
00:10:04,780 --> 00:10:06,020
I'm like, maybe the Reacher Show.

130
00:10:06,100 --> 00:10:07,900
That was literally the first comment I saw about it.

131
00:10:08,960 --> 00:10:11,020
Maybe it isn't out yet, so they're just saying that.

132
00:10:11,100 --> 00:10:12,780
They imagine that's going to be a problem.

133
00:10:13,080 --> 00:10:14,960
I think you did pre-release stuff with O'Reilly, right?

134
00:10:15,140 --> 00:10:15,280
Yeah.

135
00:10:15,380 --> 00:10:18,420
So I am very familiar with all of the comments.

136
00:10:18,440 --> 00:10:19,520
Those comments, right?

137
00:10:20,360 --> 00:10:28,920
And, yeah, yeah, so we talked with O'Reilly a little bit about that, and, I mean, what we decided is that we're just, Spring Boot really is just leading the charge.

138
00:10:29,020 --> 00:10:35,820
And it's just, it's created an open-source ecosystem where developers around the world are flocking to this because there's just gaps.

139
00:10:36,080 --> 00:10:37,560
There's gaps in the Java ecosystem.

140
00:10:38,360 --> 00:10:44,400
Okay, well, tell me about one Java thing that is not a Spring Boot thing that is cloud-native Java.

141
00:10:45,500 --> 00:10:46,740
You know, I can't even tell you.

142
00:10:46,740 --> 00:10:48,460
I mean, we are Java, right?

143
00:10:48,580 --> 00:10:50,260
So the entire framework is Java.

144
00:10:50,820 --> 00:10:53,560
It's kind of like, in a way, like .NET.

145
00:10:53,720 --> 00:11:01,100
If .NET now is open-source, a lot of it is, but I came from a .NET background, and .NET really was the framework, right?

146
00:11:01,140 --> 00:11:02,140
There was no other framework.

147
00:11:02,280 --> 00:11:14,860
So what Spring Boot really is is just a lot of passionate developers in the Spring ecosystem who came together and created something that there was a major gap, something that worked in a way that is native to the cloud environment.

148
00:11:14,860 --> 00:11:19,900
And people are seeing tremendous success today, and they're flocking to the framework, and they're contributing.

149
00:11:20,360 --> 00:11:22,160
And that's just increasing the value of that cycle.

150
00:11:22,160 --> 00:11:27,940
In terms of the Spring Boot thing, I mean, I guess everybody – does everybody that listened to this podcast know all about Spring Boot?

151
00:11:28,700 --> 00:11:35,940
I think so, but I think it's still probably worth potentially summarizing, you know, where this came about and . . .

152
00:11:35,940 --> 00:11:40,440
So what are the edges that had to be scrubbed off to make Java a little bit better?

153
00:11:40,440 --> 00:11:42,700
So that's a great question.

154
00:11:42,700 --> 00:11:52,180
Spring, for almost the last two decades, right, that has been a driver, it has been the framework for Java in a lot of ways.

155
00:11:52,180 --> 00:12:02,800
It was very popular because it was the first open-source framework that had all of these features that you're able to build an enterprise application with not a lot of manual effort up front.

156
00:12:02,800 --> 00:12:06,900
What I mean by not a lot, there was still some.

157
00:12:06,900 --> 00:12:14,440
Now, in 2013, the Spring team came together and they said, "Hey, we have all this manual configuration.

158
00:12:14,440 --> 00:12:23,260
Let's look at how these developers are creating these applications and the time that it takes for them to prototype and to get an application into production, to decrease that time."

159
00:12:23,260 --> 00:12:31,100
And Spring Boot really came out of that where there's this idea of auto-configuration, where everything that used to be manual is now auto-configured.

160
00:12:31,100 --> 00:12:35,900
You have a default auto-configuration and then from there, it kind of turned into this idea of, "Hey, what about recipes?"

161
00:12:35,900 --> 00:12:45,920
Well, if you can just pick a few things and we can auto-configure these components together, you can have an application that has these features out of the box and all you have to do is start customizing.

162
00:12:45,920 --> 00:12:58,960
And then microservices kind of became a trend, cloud, and kind of all these things converged into this way of developing cloud-native job applications, and that's Spring Boot.

163
00:12:58,960 --> 00:13:04,880
Well, this week, I thought we'd have a little exciting mid-roll thing going over one of the fun jobs we have open here at Pivotal.

164
00:13:04,880 --> 00:13:10,320
You know, if you listen to Pivotal Conversation every week, maybe you think, "How could I go work at that place?"

165
00:13:10,320 --> 00:13:15,180
So, why don't you tell me who you are and what open position you have at the moment that folks might be interested in?

166
00:13:15,180 --> 00:13:20,580
Thanks. Yeah, my name is Simon Horrid. I'm the director of Pivotal Labs in Boston.

167
00:13:20,580 --> 00:13:32,540
So, Pivotal Labs has about 20 offices worldwide and the Boston office is relatively one of our newer offices and it's actually located in Kendall Square in Cambridge, just a few steps from MIT in the Charles River.

168
00:13:32,540 --> 00:13:39,140
We're looking to bring on an associate director to join our leadership team for the Pivotal Labs team in Boston.

169
00:13:39,140 --> 00:13:43,740
The associate director role really has kind of five core elements to it.

170
00:13:43,740 --> 00:13:47,140
The first is consulting project help.

171
00:13:47,140 --> 00:13:54,140
So, at Pivotal Labs, we engage with our clients, we bring our clients into the office to build software products together with them.

172
00:13:54,140 --> 00:14:00,140
So, the associate director's role is really about making sure that the projects are healthy from the client's perspective and from Pivotal's perspective.

173
00:14:00,140 --> 00:14:09,540
This requires experience in, you know, dealing with consulting relationships and we work in this highly transparent way with our clients in the office.

174
00:14:09,540 --> 00:14:13,540
So, it's really about kind of having a continuous awareness to the consultant client relationship.

175
00:14:13,540 --> 00:14:16,940
The next element is people development.

176
00:14:16,940 --> 00:14:23,940
So, this means thinking about the people in our office, the consultants understanding their career path at Pivotal and making sure they're supported towards it.

177
00:14:23,940 --> 00:14:28,940
So, we're looking for the skills in mentoring and managing and giving feedback in difficult situations.

178
00:14:28,940 --> 00:14:30,340
The next is around practices.

179
00:14:30,340 --> 00:14:34,340
And I'm sure, you know, on this podcast, you hear a lot about our practices.

180
00:14:34,340 --> 00:14:40,340
And so, we're really looking for deep experience with one of our three core skills that we bring to labs teams.

181
00:14:40,340 --> 00:14:44,740
So, that's XP development, user-centered design, or lean product management.

182
00:14:44,740 --> 00:14:50,540
And so, the AD is responsible for encouraging kind of continuous improvement and innovation in those practices.

183
00:14:50,540 --> 00:14:53,740
The next area of skill is in business strategy.

184
00:14:53,740 --> 00:14:59,540
As an associate director, you'll be supporting the sales team and growing the size and conversion rate of our sales pipeline.

185
00:14:59,540 --> 00:15:05,140
And making sure you're worried about the kind of keeping the office revenue and margins healthy.

186
00:15:05,140 --> 00:15:09,340
And then also thinking about kind of maintaining alignment with the broader Pivotal strategy.

187
00:15:09,340 --> 00:15:11,340
The last element is thinking about the office space itself.

188
00:15:11,340 --> 00:15:15,340
Wanting to maintain an effective and efficient and inclusive workplace.

189
00:15:15,340 --> 00:15:21,340
And we have actually an upcoming office move to brand new office space down the street in Kendall Square.

190
00:15:21,340 --> 00:15:29,340
So, there's plenty that goes into ensuring that that office space is going to be a conducive environment to helping our clients transform the way they build software.

191
00:15:29,340 --> 00:15:34,340
And you can find more info about this job at pivotal.io/locations/boston.

192
00:15:34,340 --> 00:15:35,340
Yeah, that sounds good.

193
00:15:35,340 --> 00:15:38,340
I've had the pleasure of working with labs people here and there.

194
00:15:38,340 --> 00:15:40,340
And it's always enjoyable.

195
00:15:40,340 --> 00:15:43,340
It's sort of like you add the human to computer.

196
00:15:43,340 --> 00:15:45,340
So, that's always fun.

197
00:15:45,340 --> 00:15:46,340
Well, great.

198
00:15:46,340 --> 00:15:47,340
Well, thanks for going over that.

199
00:15:47,340 --> 00:15:52,340
And again, if you want to check that out, you go to pivotal.io/locations/boston.

200
00:15:52,340 --> 00:15:56,340
Hopefully, you know how to spell Boston if you want a job in Boston.

201
00:15:56,340 --> 00:16:08,340
If we think about Java, there's like, you know, not everybody is a millennial Java programmer.

202
00:16:08,340 --> 00:16:18,340
But, so, for people that have been, you know, in the trenches doing Java for years, and then suddenly there's like these two idiots on a podcast being like, "Oh, yeah, Cloud Native Java.

203
00:16:18,340 --> 00:16:19,340
Great.

204
00:16:19,340 --> 00:16:20,340
Spring Boot.

205
00:16:20,340 --> 00:16:21,340
Woohoo!"

206
00:16:21,340 --> 00:16:25,340
Like, is that something they, do you think they want to know about that?

207
00:16:25,340 --> 00:16:31,340
I mean, the person that's like a nine-to-six kind of developer in a shop that has a bunch of on-prem stuff.

208
00:16:31,340 --> 00:16:34,340
You know, they just, like, have their job to do.

209
00:16:34,340 --> 00:16:35,340
I mean...

210
00:16:35,340 --> 00:16:37,340
Writing JSP, you know, JSP pages and...

211
00:16:37,340 --> 00:16:39,340
Yeah, like, what is this?

212
00:16:39,340 --> 00:16:43,340
I've not met one developer who enjoys doing that stuff.

213
00:16:43,340 --> 00:16:46,340
Because there's just an easier way to do this, right?

214
00:16:46,340 --> 00:16:49,340
Every developer wants to be productive, right?

215
00:16:49,340 --> 00:16:59,340
What really makes a developer's job the worst is having to repeat work or having to copy code from somewhere else just because...

216
00:16:59,340 --> 00:17:04,340
You don't know how it works, but that's going to make this application go into production.

217
00:17:04,340 --> 00:17:07,340
With Spring Boot, it's just a way to specify, here's a few recipes.

218
00:17:07,340 --> 00:17:12,340
I trust the framework will do what it says it's going to do, and I can just customize it.

219
00:17:12,340 --> 00:17:15,340
And by the end of the day, I can have a new application in production.

220
00:17:15,340 --> 00:17:19,340
It makes things faster, increases the velocity, and increases developer experience.

221
00:17:19,340 --> 00:17:27,340
I think that's really where we're going is that we're giving developers really this freedom from being stuck into this world of legacy where it's very hard to change things.

222
00:17:27,340 --> 00:17:29,340
It's very hard to create new applications.

223
00:17:29,340 --> 00:17:35,340
And that's what the Spring Team is really passionate about is because they came from those backgrounds, right?

224
00:17:35,340 --> 00:17:37,340
So they intimately understand it.

225
00:17:37,340 --> 00:17:39,340
And so they've built a framework that they would want to use.

226
00:17:39,340 --> 00:17:47,340
So let me take a long-winded walk up to two questions, one for each of you.

227
00:17:47,340 --> 00:18:04,340
The first one is essentially, so Kenny, Spring Boot is essentially like I package up all these things I want, all these different components of a framework because I'm going to make a software application.

228
00:18:04,340 --> 00:18:15,340
And then there's a standardized way of like configuring them all and making sure these different subcomponents know how to talk to themselves or to each other, I guess themselves too.

229
00:18:15,340 --> 00:18:21,340
And then also, essentially, if you want, if I remember, it'll give you an executable of something.

230
00:18:21,340 --> 00:18:31,340
So it sort of like lets you select your subcomponents of your system, it wires them up for you, and then it packages it so that you can execute it.

231
00:18:31,340 --> 00:18:41,340
Now, that may not always be the best idea to just execute it on its own, but it sort of like uses basically automation and standardization to make it easier to get up and running.

232
00:18:41,340 --> 00:18:50,340
And then there's also some, you know, when you do the second to 500th sort of rev of that because you've got so much standardization, it's easier and better.

233
00:18:50,340 --> 00:18:52,340
So is that like sort of accurate?

234
00:18:52,340 --> 00:18:54,340
Yes, sort of.

235
00:18:54,340 --> 00:18:55,340
What was your second question?

236
00:18:55,340 --> 00:18:57,340
That was a very Germanic kind of question.

237
00:18:57,340 --> 00:19:03,340
I haven't met that many Germans, but I assume just like a good German, I wanted to make sure I was correct in my thinking.

238
00:19:03,340 --> 00:19:21,340
So, so, so given that, like, in Java technologically, like, what would you say are the top three, like, things that enable that or that that kind of like do that and all, all sort of like I was talking about this with our co worker Mark, right?

239
00:19:21,340 --> 00:19:37,340
How, for example, last time I was a Java programmer in 2006, if, if like introspection and the ability to kind of like do funny business, like behind the scenes didn't exist, much of the benefit of the spring framework wouldn't exist, right?

240
00:19:37,340 --> 00:19:43,340
Because all of the magic of doing this configuration stuff is based on like introspection and setting stuff and blah, blah, blah, right?

241
00:19:43,340 --> 00:19:45,340
This, this kind of metaprogramming layer in Java.

242
00:19:45,340 --> 00:19:50,340
So I'm curious with, and this gets to the technological nature of cloud native, right?

243
00:19:50,340 --> 00:20:04,340
Like, what are a few other things that you would say, like, well, when you look at whether it's spring boot or what cloud native is in the Java world, these are like technologically things that differentiate it from like, say, doing an EJB in 2004, right?

244
00:20:04,340 --> 00:20:21,340
Like, like, like what are the actual things like, I don't know, rest frameworks or queues, or like, what's like technologically things that differentiate a cloud native approach than, I don't know what the opposite of a cloud native approach is confused, like, you know, groundling native or something.

245
00:20:21,340 --> 00:20:22,340
I like to explain it like this.

246
00:20:22,340 --> 00:20:23,340
That's a great question.

247
00:20:23,340 --> 00:20:28,340
It's, it's like a declarative programming language or a declarative query language like SQL.

248
00:20:28,340 --> 00:20:31,340
I tell the application what I want.

249
00:20:31,340 --> 00:20:33,340
I don't tell it how to do its job.

250
00:20:33,340 --> 00:20:38,340
And that's really the big difference is that I don't have to spend all this time manually configuring things.

251
00:20:38,340 --> 00:20:43,340
And when you manually, manually configure things, it's not always standard, right?

252
00:20:43,340 --> 00:20:46,340
So across the board, you have a standard way to auto configure.

253
00:20:46,340 --> 00:20:53,340
And that's, that's really a huge benefit to developers because they know how things are going to work across all these different distributed components.

254
00:20:53,340 --> 00:21:00,340
But, but ideally, they just want to do their job, which is to add value, right, to build the business logic of the application.

255
00:21:00,340 --> 00:21:09,340
And what cloud native is really all about and cloud native job in general with Spring Boot is just having developers be able to say, here's the architecture.

256
00:21:09,340 --> 00:21:10,340
This is what I want.

257
00:21:10,340 --> 00:21:13,340
I'm not going to tell the application framework how to do it or how to wire it up.

258
00:21:13,340 --> 00:21:18,340
But if I need to go down deeper, I can certainly do that because we're built on abstractions.

259
00:21:18,340 --> 00:21:20,340
We use dependency injection.

260
00:21:20,340 --> 00:21:23,340
And it provides you with a way to override these things.

261
00:21:23,340 --> 00:21:25,340
So that's not going to get in your way.

262
00:21:25,340 --> 00:21:26,340
And that's pretty much it.

263
00:21:26,340 --> 00:21:34,340
I think developers just like that experience better than having to manually configure everything and then everything can go wrong with that as well.

264
00:21:34,340 --> 00:21:47,340
So if, if, if, if I were to make you pick like one thing from what you were saying that kind of like is the important sort of like necessary, but not sufficient, uh, that, that makes like Java cloud native.

265
00:21:47,340 --> 00:21:51,340
A lot of it sounds like, and I'm, I'm purposely picking a boring thing.

266
00:21:51,340 --> 00:21:52,340
Cause that's fun.

267
00:21:52,340 --> 00:21:54,340
A lot of it sounds like configuration.

268
00:21:54,340 --> 00:22:01,340
Like we think a lot about configuration and how we want to configure things because, and this is almost like, and you know, I don't know.

269
00:22:01,340 --> 00:22:09,340
I'm just, uh, extemporaneizing here if that's a word, but this is almost like one of the big epiphanies of the DevOps world is like, Oh, configuration.

270
00:22:09,340 --> 00:22:10,340
That's kind of important, right?

271
00:22:10,340 --> 00:22:24,340
Like, and it'll screw us up if we don't spend a lot of time about it, but it strikes me that configuration is perhaps like, I don't know if it's the most, but it seems like the most important sort of like philosophical epiphany of doing cloud native stuff.

272
00:22:24,340 --> 00:22:25,340
Yeah.

273
00:22:25,340 --> 00:22:26,340
I like that.

274
00:22:26,340 --> 00:22:30,340
I think that there's, there's a lot more, there's a lot more to it.

275
00:22:30,340 --> 00:22:35,340
Um, and I, I know you've reviewed the, you've been so kind to review the book and give feedback.

276
00:22:35,340 --> 00:22:39,340
Um, so, um, you kind of have some hints into this, but, but yeah, it starts with that.

277
00:22:39,340 --> 00:22:49,340
It starts with the things that we can easily change and the things that we can't, um, things that we can easily change our configuration, but it just turns out that that's where a lot of the things can go wrong.

278
00:22:49,340 --> 00:22:52,340
So, uh, yeah, configuration.

279
00:22:52,340 --> 00:23:03,340
I think that that's, uh, it's a really interesting point because one of the, the, the, we think about really what kicked off a lot of.

280
00:23:03,340 --> 00:23:17,340
You know, uh, the thinking, uh, in and around cloud native is the instantiation of an opinion in the code to reduce configuration.

281
00:23:17,340 --> 00:23:18,340
And this goes back.

282
00:23:18,340 --> 00:23:32,340
I mean, of course, you know, we can go back to, to rod having these ideas, you know, back in the day, but, but I think rails when they kind of, you know, when, when, when, when the rails framework for Ruby came out, it was just like, oh, this is so much easier.

283
00:23:32,340 --> 00:23:39,340
Cause I don't need to configure everything configuration that has like a very high cognitive overhead.

284
00:23:39,340 --> 00:23:42,340
And, you know, Java definitely really suffered from that.

285
00:23:42,340 --> 00:23:47,340
You can do anything with it, but you had to configure it appropriately.

286
00:23:47,340 --> 00:24:05,340
And, and I think one of the things about sort of, if there is something in cloud native, it's, it, it, I think that the, the sorts of architectures and applications that I have seen tools and platforms are generally ones that do indeed, uh, instantiate an opinion and reduce the amount of config.

287
00:24:05,340 --> 00:24:12,340
You needed, you need to do in order to run, uh, in order to build an application and, and, and run it.

288
00:24:12,340 --> 00:24:13,340
Yeah, absolutely.

289
00:24:13,340 --> 00:24:19,340
And a lot of ways, as, as we explain, uh, developers, what spring boot is, we, we use that word a lot of opinionated.

290
00:24:19,340 --> 00:24:24,340
Um, I don't like to use that, that word so much anymore because, uh, everybody can have their own opinion about it.

291
00:24:24,340 --> 00:24:27,340
And, and I know, but they're all wrong.

292
00:24:27,340 --> 00:24:28,340
Yeah, probably.

293
00:24:28,340 --> 00:24:35,340
So the way that I like to say that, yeah, you, you really just, uh, tell the application what you want and not how to do it all the time.

294
00:24:35,340 --> 00:24:43,340
And that, I think that's really, um, in a way, uh, a good way for developers who are new, new to the Java ecosystem, um, to approach this.

295
00:24:43,340 --> 00:24:46,340
All opinions are equal, but some opinions are more equal than others.

296
00:24:46,340 --> 00:24:49,340
Well, I mean, I think it just saves you from living on Stack Overflow.

297
00:24:49,340 --> 00:24:51,340
You said you came from a .NET background.

298
00:24:51,340 --> 00:24:54,340
I remember using WCF in the world and there would be all these settings.

299
00:24:54,340 --> 00:24:55,340
Like I'm changing buffer sizes.

300
00:24:55,340 --> 00:24:56,340
I don't know what I'm doing.

301
00:24:56,340 --> 00:24:58,340
Like just set it for me with normal defaults.

302
00:24:58,340 --> 00:25:01,340
Why do I have to figure out what the right values are?

303
00:25:01,340 --> 00:25:02,340
Be smart and tell me.

304
00:25:02,340 --> 00:25:03,340
I remember that.

305
00:25:03,340 --> 00:25:04,340
Yeah.

306
00:25:04,340 --> 00:25:09,340
It's nice when these frameworks, I mean, you can really start these up and connect to Kafka or connect to rabbit or connect to a cache.

307
00:25:09,340 --> 00:25:11,340
I don't really have to know much.

308
00:25:11,340 --> 00:25:14,340
And if I want to override it exactly, I can't.

309
00:25:14,340 --> 00:25:15,340
It's extensible.

310
00:25:15,340 --> 00:25:18,340
But Hey, who cares?

311
00:25:18,340 --> 00:25:19,340
Who cares?

312
00:25:19,340 --> 00:25:20,340
Yeah.

313
00:25:20,340 --> 00:25:27,340
What, what's the, uh, what's the old, uh, the old Monty Python thing where they sit around in white jackets complaining about how miserable their life used to be and trying to one up each other.

314
00:25:27,340 --> 00:25:29,340
That's that, that, that bit has a name, right?

315
00:25:29,340 --> 00:25:30,340
You had one bean.

316
00:25:30,340 --> 00:25:31,340
You were lucky.

317
00:25:31,340 --> 00:25:33,340
We didn't have any beans.

318
00:25:33,340 --> 00:25:34,340
Exactly.

319
00:25:34,340 --> 00:25:35,340
Exactly.

320
00:25:35,340 --> 00:25:36,340
Exactly.

321
00:25:36,340 --> 00:25:41,340
My dad would beat me and put me in a box and, you know, rather than a bed.

322
00:25:41,340 --> 00:25:44,340
So it's, it's like, Oh, you had to set buffers.

323
00:25:44,340 --> 00:25:46,340
I had to use property files.

324
00:25:46,340 --> 00:25:47,340
Oh, it was terrible.

325
00:25:47,340 --> 00:25:49,340
It's just like over and over again.

326
00:25:49,340 --> 00:25:50,340
Yeah.

327
00:25:50,340 --> 00:25:54,340
I remember looking at the, the Java IO things and thinking about these were not written for humans to use.

328
00:25:54,340 --> 00:25:56,340
I have no idea what's happening here, but, but yeah.

329
00:25:56,340 --> 00:25:57,340
Yeah.

330
00:25:57,340 --> 00:25:58,340
Yeah.

331
00:25:58,340 --> 00:26:05,340
So, so that, that, that, that kind of like slides nicely into, uh, into the question I had for James and just to like, uh, you know, long wind up to it.

332
00:26:05,340 --> 00:26:15,340
Like I, I was writing in my notes that like this idea of, uh, automating and standardizing, I think that's kind of what you decompose opinionated into, right?

333
00:26:15,340 --> 00:26:18,340
Like you standardize something and then you automate the application of it.

334
00:26:18,340 --> 00:26:19,340
Yeah.

335
00:26:19,340 --> 00:26:22,340
Cause opinionated does have a weird tone to it, but it's, it's a very direct.

336
00:26:22,340 --> 00:26:28,340
So anyways, so here, here's, here's what I want to ask you, James, to, to kind of take advantage of your, your, uh, your broad perspective of everything.

337
00:26:28,340 --> 00:26:39,340
It's, I mean, I mean, it's essentially, I mean, to be brief, it's like the lock in question, which I think, I think is really hard for a vendor to be credible, giving you any answer about it.

338
00:26:39,340 --> 00:26:43,340
Um, but you know, when it comes to having an opinionated infrastructure, right?

339
00:26:43,340 --> 00:26:45,340
So there's, there's two parts to this question.

340
00:26:45,340 --> 00:26:50,340
One is like, so like, if that's so awesome, why don't we all just still do mainframe coding?

341
00:26:50,340 --> 00:26:51,340
Right.

342
00:26:51,340 --> 00:26:53,340
Cause I mean, like that's all kind of opinionated.

343
00:26:53,340 --> 00:27:00,340
Like, like when, when, when you're using a technology, do you decide like this set of opinions is crap and I need to get a new set of opinions.

344
00:27:00,340 --> 00:27:06,340
And then, and then kind of related to that is like, so how do you make sure you don't like choose the wrong opinions?

345
00:27:06,340 --> 00:27:12,340
Like, what do you, I don't know, like, how do, how do you see people even thinking through that or saying folks are thinking through it?

346
00:27:12,340 --> 00:27:15,340
Like what's, what's the selection criteria people should go through?

347
00:27:15,340 --> 00:27:24,340
Well, I know what you said today, which I was hoping maybe I'll try to influence your answer, but you kept hammering today with pivotal, the idea of convenience.

348
00:27:24,340 --> 00:27:32,340
And I think even you or Steven said, look, something might not be, be completely optimal, but if you've made it convenient, those are, those are gonna be things I'm going to consume.

349
00:27:32,340 --> 00:27:38,340
Do you see that? Is that how you choose which opinions are better as sometimes which ones just makes sense or easier to consume?

350
00:27:38,340 --> 00:27:48,340
Yeah. I mean, I think to Kenny's point, you know, generally developers do like convenience, um, in, you know, and in fact, everybody, all human beings like convenience.

351
00:27:48,340 --> 00:27:54,340
Um, you know, you, why do you use Uber? Because it's super convenient.

352
00:27:54,340 --> 00:27:59,340
Um, you know, then you find yourself, you know, ordering a car you don't even need.

353
00:27:59,340 --> 00:28:12,340
So, you know, I think some of it is just like what, what genuinely is, is, is the thing that is going to make things most easy for me and, you know, wrong and right opinions.

354
00:28:12,340 --> 00:28:18,340
Um, you know, there are some pretty smart people working on, uh, these things.

355
00:28:18,340 --> 00:28:28,340
And, and it's very, I think it's, it's an interesting question because I, I feel like there is very often a, an individual that is actually an opinionated individual.

356
00:28:28,340 --> 00:28:35,340
I mean, if you've ever seen, you know, DHH talking, he's not short of an opinion or two.

357
00:28:35,340 --> 00:28:43,340
Um, and you know, of course he was, you know, initially the, you know, wrote, wrote, wrote the rails framework.

358
00:28:43,340 --> 00:28:52,340
Um, you know, rod, very strong opinion about how things should be done and sort of implemented that, that in code.

359
00:28:52,340 --> 00:28:55,340
Um, but yeah, I think it is, it's just about convenience.

360
00:28:55,340 --> 00:28:59,340
And, you know, do, do we pick the wrong opinions all the fricking time?

361
00:28:59,340 --> 00:29:00,340
Right.

362
00:29:00,340 --> 00:29:01,340
Um, it's changed.

363
00:29:01,340 --> 00:29:04,340
Humans make terrible decisions constantly.

364
00:29:04,340 --> 00:29:08,340
Um, but you know, sometimes you find a tool that works well for you.

365
00:29:08,340 --> 00:29:14,340
And, and that at the end of the day is the only opinion that, that really matters.

366
00:29:14,340 --> 00:29:20,340
I guess you hope these things can grow with you to some extent that you haven't just done the startup tech or the new team tech.

367
00:29:20,340 --> 00:29:23,340
And as soon as you have a scale problem, it collapses.

368
00:29:23,340 --> 00:29:25,340
But even then you can, nobody can predict the future.

369
00:29:25,340 --> 00:29:33,340
I guess you just have to some, as you said, maybe trust where this comes from, that hopefully some smart people thought about problems at scale or.

370
00:29:33,340 --> 00:29:44,340
Well, I think Salvatore at Redis is, is a really, you know, interesting, uh, point here in the, in the, you know, talking, talking, talking to him is really interesting.

371
00:29:44,340 --> 00:29:49,340
Cause he's kind of, you know, at this point, benevolent dictator for life.

372
00:29:49,340 --> 00:29:51,340
No, he makes the, makes the decisions.

373
00:29:51,340 --> 00:29:58,340
And when he joined, uh, Redis labs is like, these people are actually pretty amazing.

374
00:29:58,340 --> 00:29:59,340
I'm, I'm good.

375
00:29:59,340 --> 00:30:14,340
I trust them a lot, but as a designer, my role as a designer, I mean, I trust them to write code, but I don't, I'm not ready to relinquish my, my design.

376
00:30:14,340 --> 00:30:28,340
Um, or, you know, I, I mean, you know, if we think about, uh, not that Linux is a development framework or whatever, but it, it certainly does.

377
00:30:28,340 --> 00:30:35,340
Uh, uh, it, it contains opinions about how stuff should be done.

378
00:30:35,340 --> 00:30:37,340
Very strong opinions.

379
00:30:37,340 --> 00:30:38,340
Right.

380
00:30:38,340 --> 00:30:44,340
Um, so who all is the sort of the, who's the, who's the, the designer?

381
00:30:44,340 --> 00:30:55,340
Who's, is there a, is there an individual that kind of drove, like, who do we credit spring boot in terms of the, the, you know, in terms of pulling all that together?

382
00:30:55,340 --> 00:30:57,340
It is the entire ecosystem.

383
00:30:57,340 --> 00:31:04,340
It, most of all, it's the spring team who, who kind of facilitated this, but there's a, it was the entire ecosystem.

384
00:31:04,340 --> 00:31:05,340
Yeah.

385
00:31:05,340 --> 00:31:06,340
Self formed around itself.

386
00:31:06,340 --> 00:31:09,340
But then we feel like there's a grandfather of this or grandmother.

387
00:31:09,340 --> 00:31:12,340
There might be, but I mean, does, does that really matter?

388
00:31:12,340 --> 00:31:13,340
I think that.

389
00:31:13,340 --> 00:31:22,340
I think you're trying to get to, is there a set of opinions that came from some, not even individual brainchild, but that they were like, this is a good way to do spring code.

390
00:31:22,340 --> 00:31:26,340
And therefore, and yes, the community validates that because that person could be insane.

391
00:31:26,340 --> 00:31:29,340
But these opinions, they flow up as issues.

392
00:31:29,340 --> 00:31:30,340
Right.

393
00:31:30,340 --> 00:31:32,340
So this is really born of the open source ecosystem.

394
00:31:32,340 --> 00:31:33,340
Well, who drove the project?

395
00:31:33,340 --> 00:31:34,340
Spring boot.

396
00:31:34,340 --> 00:31:37,340
Spring, who drove the project for spring boot?

397
00:31:37,340 --> 00:31:38,340
Yeah.

398
00:31:38,340 --> 00:31:40,340
Phil, Phil Webb is one of the co-found.

399
00:31:40,340 --> 00:31:43,340
I mean, there are many people and I don't want to just give one name there.

400
00:31:43,340 --> 00:31:44,340
Sure, sure.

401
00:31:44,340 --> 00:31:51,340
I know Phil Webb would love me to credit him on this, but there, there really is a lot of, of hardworking talent and ideas that go.

402
00:31:51,340 --> 00:31:53,340
Phil Webb makes really good slides.

403
00:31:53,340 --> 00:31:54,340
He makes great, really great slides.

404
00:31:54,340 --> 00:31:56,340
I have to say, he makes really good slides.

405
00:31:56,340 --> 00:31:57,340
Yeah.

406
00:31:57,340 --> 00:31:58,340
He should give up the day job.

407
00:31:58,340 --> 00:32:02,340
He, he could set up a great little agency just making slides for people.

408
00:32:02,340 --> 00:32:03,340
That's what Phil should do.

409
00:32:03,340 --> 00:32:08,340
No, he and Unsi, you know, and I have to tell my, my child where, where kids come from, Unsi's creating the slides for me.

410
00:32:08,340 --> 00:32:13,340
I'm telling you, it's, you know, those two, imagine that agency now.

411
00:32:14,340 --> 00:32:15,340
Holy cow.

412
00:32:15,340 --> 00:32:17,340
I would definitely get them to make my slides.

413
00:32:17,340 --> 00:32:18,340
Here we go.

414
00:32:18,340 --> 00:32:19,340
Hmm.

415
00:32:19,340 --> 00:32:27,340
You know, I, I, I thought of, I thought of some, some replies involving, uh, what kind of butter clock makers use and putting, putting bread in a toaster slot.

416
00:32:27,340 --> 00:32:37,340
But I've, I've, those kind of, they've effervescently gone out of my head when it comes to, uh, using emojis to explain the birds and the bees, which I'll have to go check if those, if those are available in there.

417
00:32:37,340 --> 00:32:40,340
So, uh, yeah, I forgot what it was.

418
00:32:40,340 --> 00:32:47,340
Uh, so really think about the things that developers do with an application that get them attached to that application.

419
00:32:47,340 --> 00:32:52,340
Now with Spring Boot, we've kind of standardized things in a way where it's, it's cheap to throw things out in a way, right?

420
00:32:52,340 --> 00:33:02,340
You're not having to do all that manual setup work that gets you attached to that application, uh, where you no longer want to change it in a way or, or, or throw it out.

421
00:33:02,340 --> 00:33:09,340
And that's how a lot of legacy accumulates is that there was all of this effort upfront, uh, to build this application.

422
00:33:09,340 --> 00:33:14,340
And that's kind of alleviated today with an opinionated framework like Spring Boot.

423
00:33:14,340 --> 00:33:19,340
And I think it's going that way in general with, with the cloud kind of converging on this automation idea.

424
00:33:19,340 --> 00:33:25,340
So how, how opinionated, I mean, it's interesting cause you think like node is all over the map.

425
00:33:25,340 --> 00:33:32,340
Like what's the, I mean, there's a, there's certainly a lot of, of cloud native apps built in node.

426
00:33:32,340 --> 00:33:41,340
Um, but I'm trying to, I'm trying to think about like, uh, whether there are configuration decisions being made.

427
00:33:41,340 --> 00:33:44,340
I'm just trying to prove this out a bit rather than just only thinking about Spring Boot.

428
00:33:44,340 --> 00:33:46,340
It seems like the framework to me, Express has opinions.

429
00:33:46,340 --> 00:33:47,340
Yeah.

430
00:33:47,340 --> 00:33:54,340
And there's things like, this is how I have the middleware and, you know, ASP.net core has middleware with its microservices or services.

431
00:33:54,340 --> 00:33:56,340
So I think they're always, again, steering you somewhere.

432
00:33:56,340 --> 00:34:03,340
It's the usual, again, I think you're one of the people that, you know, even talked about PCF as being opinionated, but extensible.

433
00:34:03,340 --> 00:34:10,340
It seems like any good framework meets that, that it's got some opinions, but you're not completely beholden to it, that you are able to stretch that.

434
00:34:10,340 --> 00:34:11,340
And it's not Java.

435
00:34:11,340 --> 00:34:12,340
It's also node and .NET.

436
00:34:12,340 --> 00:34:13,340
I'm sure Ruby as well.

437
00:34:13,340 --> 00:34:14,340
Very good point.

438
00:34:14,340 --> 00:34:16,340
I think that's probably a signal of a good framework.

439
00:34:16,340 --> 00:34:20,340
So Kenny, have you looked at, have you looked at OpenWisp by any chance?

440
00:34:20,340 --> 00:34:21,340
A little bit.

441
00:34:21,340 --> 00:34:25,340
I haven't gotten to dive into it yet, but it does look interesting.

442
00:34:25,340 --> 00:34:26,340
Yeah.

443
00:34:26,340 --> 00:34:39,340
I was just kind of wondering about, you know, I think that, yeah, I think that we, we need to kind of brought, I think that has to be some other interesting art in the Java landscape that is also.

444
00:34:39,340 --> 00:34:44,340
That is coming at things from a cloud native perspective.

445
00:34:44,340 --> 00:34:47,340
Now, not, I mean, I only say OpenWisp because I think it supports Java.

446
00:34:47,340 --> 00:34:53,340
So I'm trying to, if you, if you're running, if you write a function on, what does it know?

447
00:34:53,340 --> 00:34:54,340
So it's Node.

448
00:34:54,340 --> 00:34:55,340
I think it's Node and Swift.

449
00:34:55,340 --> 00:34:56,340
Swift.

450
00:34:56,340 --> 00:34:57,340
That's it.

451
00:34:57,340 --> 00:34:59,340
So Java's coming, but they don't have it yet.

452
00:34:59,340 --> 00:35:01,340
Java's just in Lambda, I believe at the moment.

453
00:35:01,340 --> 00:35:06,340
So Java on Lambda, like, is that cloud native?

454
00:35:06,340 --> 00:35:08,340
Yeah, of course it is.

455
00:35:08,340 --> 00:35:11,340
But you're not going to be able to pull in all the things that you get.

456
00:35:11,340 --> 00:35:21,340
You're not, you're going to have to actually be impaired in the way that you program that function and how it's going to tie together with other functions, Java functions that you have on Lambda.

457
00:35:21,340 --> 00:35:28,340
It's, or you're going to connect into the services that are provided to you, which in a way is an opinion.

458
00:35:28,340 --> 00:35:30,340
And, and that's how you're going to go about it.

459
00:35:30,340 --> 00:35:31,340
But yeah, absolutely.

460
00:35:31,340 --> 00:35:32,340
It's cloud native.

461
00:35:32,340 --> 00:35:33,340
Yeah.

462
00:35:33,340 --> 00:35:44,340
Cause I think the opinionated thing is interesting and it's added value to spring boot, but I'm just trying to draw out a little bit about like, just thinking about, so we started with some sort of definitions of cloud native.

463
00:35:44,340 --> 00:35:47,340
And then we just ended up talking about effectively what a frame was.

464
00:35:47,340 --> 00:35:54,340
So we're, yeah, where all do we run these things to cloud native apps have to, do we have to deploy them in Amazon?

465
00:35:54,340 --> 00:35:56,340
Absolutely not.

466
00:35:56,340 --> 00:35:59,340
Um, now the cloud native stack, right?

467
00:35:59,340 --> 00:36:03,340
All the way down to the bottom of the IaaS layer, which is the infrastructure as a service layer.

468
00:36:03,340 --> 00:36:07,340
Now I'm not going to go through the whole stack, but there's this layer of abstraction.

469
00:36:07,340 --> 00:36:16,340
Similar to how spring programs their starter projects is that there's this layer of abstraction and each layer of the abstraction, you can change things out, right?

470
00:36:16,340 --> 00:36:19,340
The very bottom layer, we have the IaaS layer, right?

471
00:36:19,340 --> 00:36:23,340
That's an API that allows me to provision infrastructure using API on demand.

472
00:36:23,340 --> 00:36:32,340
And on top of that, we have a platform, uh, which is going to, uh, have an opinion about how it's going to manage that infrastructure.

473
00:36:32,340 --> 00:36:38,340
And, uh, that's really the application platform is how you're going to deploy and run and operate your applications.

474
00:36:38,340 --> 00:36:45,340
Uh, and again, the automation that's provided with that is that it has an opinion of how you should deploy and operate these applications.

475
00:36:45,340 --> 00:36:56,340
And it's going to, uh, reduce a lot of the cognitive overhead comes with maybe rolling your own solution, um, or a spoke solution, uh, which, which ends up being hard to manage long run.

476
00:36:56,340 --> 00:36:59,340
But I can run that on these fields open stack, right?

477
00:36:59,340 --> 00:37:02,340
Or raw IaaS, like a cloud native app.

478
00:37:02,340 --> 00:37:04,340
Is it, is it more about the app or the infrastructure?

479
00:37:04,340 --> 00:37:06,340
Is it an inseparable combo?

480
00:37:06,340 --> 00:37:08,340
They're, they're intimately tied together.

481
00:37:08,340 --> 00:37:10,340
I think, um, absolutely.

482
00:37:10,340 --> 00:37:12,340
Well, I think that's a good place to end.

483
00:37:12,340 --> 00:37:17,340
You've got, uh, you got cloud native at the application layer and cloud native at the infrastructure layer.

484
00:37:17,340 --> 00:37:23,340
It's a good, uh, until next time sort of conversation, but thanks for both of you for being on.

485
00:37:23,340 --> 00:37:24,340
This is fun.

486
00:37:24,340 --> 00:37:25,340
It's good.

487
00:37:25,340 --> 00:37:28,340
It's, it's nice not to have to like come up with questions and have someone else do it.

488
00:37:28,340 --> 00:37:29,340
Well, that's good.

489
00:37:29,340 --> 00:37:30,340
Cause you don't actually ask questions.

490
00:37:30,340 --> 00:37:31,340
Coté, you mix.

491
00:37:31,340 --> 00:37:32,340
No, no, no.

492
00:37:32,340 --> 00:37:33,340
Let's say, what do you think?

493
00:37:33,340 --> 00:37:36,340
I, I, I don't, I don't, I don't like to give intellectual ground to anyone.

494
00:37:36,340 --> 00:37:41,340
I just sort of lull people into, uh, coming into my library and farting around.

495
00:37:41,340 --> 00:37:42,340
That's, that's what I enjoy.

496
00:37:42,340 --> 00:37:45,340
So as always, this has been Pivotal Conversations.

497
00:37:45,340 --> 00:37:50,340
You can find the most recent things at soundcloud.com slash Pivotal Conversations.

498
00:37:50,340 --> 00:37:53,340
If you don't subscribe to it already, that's really the best thing to do.

499
00:37:53,340 --> 00:37:54,340
It makes everyone really happy.

500
00:37:54,340 --> 00:37:55,340
And then you don't have to do anything.

501
00:37:55,340 --> 00:37:59,340
Even if you don't listen to him, subscribe to him and download it, download them five times.

502
00:37:59,340 --> 00:38:00,340
That'd be great.

503
00:38:00,340 --> 00:38:05,340
If you haven't already, uh, and you probably haven't, unless you're that one person, it'd

504
00:38:05,340 --> 00:38:09,340
be great if you went to iTunes and left a review for us or a rating.

505
00:38:09,340 --> 00:38:13,340
It's even better if you just refer people to it or promote it somewhere.

506
00:38:13,340 --> 00:38:14,880
And we'll see everyone next time.

507
00:38:15,080 --> 00:38:15,560
Bye-bye.
