1
00:00:00,000 --> 00:00:05,300
Hello, dear listeners. This is a nice episode where we go over the state of spring survey.

2
00:00:05,720 --> 00:00:08,860
A lot of good stuff on the topic of spring, but just software development in general.

3
00:00:09,460 --> 00:00:15,240
Now, this was broadcast live on Tanzu TV, which you can find everything you want to know about

4
00:00:15,240 --> 00:00:21,760
that if you go to Tanzu.tv. And this is part of my Tanzu Talk series that I do there, also a podcast.

5
00:00:22,240 --> 00:00:27,580
Now, I'll tell you a secret. If you go to Coté.io slash Tanzu Talk, you can see my special

6
00:00:27,580 --> 00:00:33,240
made page about it. But what I wanted to tell you about is that I do this show every week daily.

7
00:00:33,480 --> 00:00:38,520
It's usually me talking, but I do have interviews like this spread throughout it. And I'll be putting

8
00:00:38,520 --> 00:00:42,940
several of those interviews in here. That's, I think, going to be the primary channel that I use

9
00:00:42,940 --> 00:00:48,120
is the interviews I do for the streaming and the videos I'll put up there. Now, you don't have to

10
00:00:48,120 --> 00:00:54,340
watch it live on Twitch. If you wanted to, you could go to twitch.com slash VMware Tanzu. But I also upload

11
00:00:54,340 --> 00:01:01,200
them to the VMware Tanzu YouTube channel. And again, put them at Tanzu.tv and also Coté.io

12
00:01:01,200 --> 00:01:08,280
slash Tanzu Talk. But really, you know, I would appreciate if you check out those videos and you do get to

13
00:01:08,280 --> 00:01:12,680
see a lot more visual things, you know, charts. And I don't think I'll ever have demos, but the people

14
00:01:12,680 --> 00:01:19,860
talking. But hey, also, you can just listen to the podcast, whatever you like. So enjoy. This is a fun

15
00:01:19,860 --> 00:01:25,020
one. And it's always nice to have my co-host Rita on instead of me just talking to myself.

16
00:01:26,320 --> 00:01:30,960
And also in this episode, I remember that I had forgotten to take myself off of mute a few times.

17
00:01:31,060 --> 00:01:35,640
So listen, it's going to be a little weird, but I've just totally cut out the parts where I'm not

18
00:01:35,640 --> 00:01:40,820
talking. And you can infer the questions that I had for people. It'll be a fun game that you can

19
00:01:40,820 --> 00:01:44,720
play. But sorry about that. I've since learned my lesson. Enjoy.

20
00:01:44,720 --> 00:01:49,460
Anyway, you know, it's like I was saying, when you stream these things, I like have no idea when

21
00:01:49,460 --> 00:01:54,860
they start. I've done these a few times. And there's always a few seconds where we're there

22
00:01:54,860 --> 00:02:00,680
before they record. But I think I've talked long enough about stupid stuff that it's probably

23
00:02:00,680 --> 00:02:03,780
started streaming. You see, that's the magic right there.

24
00:02:03,860 --> 00:02:08,060
You don't you don't have an earpiece with someone saying, OK, Coté Q.

25
00:02:08,480 --> 00:02:12,960
No, I should get one of those. That would be good. I instead I have these gigantic earphones,

26
00:02:12,960 --> 00:02:18,200
but they're very comfortable. They're like they're like my safety blade that I have big

27
00:02:18,200 --> 00:02:25,140
earphones. Makes me feel very good. Well, Rita, it's a Rita episode. I think that's what

28
00:02:25,140 --> 00:02:30,520
we'll call them. Yeah. And what? Hey, to two guests, why don't you introduce yourself?

29
00:02:32,600 --> 00:02:37,100
Sure. So my name is John. John, all right. I'm over here in Seattle, despite the accent.

30
00:02:37,100 --> 00:02:43,860
And I work in developer marketing and focus on Spring. And I've been around the developer

31
00:02:43,860 --> 00:02:49,560
beat for a while. So I used to work at Microsoft on .net and have nowhere. Lots of bodies are

32
00:02:49,560 --> 00:02:52,420
buried there as well. Whoa. Are there a lot of bodies?

33
00:02:53,540 --> 00:02:54,500
There are a lot of bodies.

34
00:02:56,340 --> 00:03:01,340
And a lot of happy and less happy developers. But that's that's the nature of the beat.

35
00:03:01,340 --> 00:03:03,100
That's fair. That's fair.

36
00:03:03,100 --> 00:03:06,220
But I love working with developers. Such a creative audience.

37
00:03:06,220 --> 00:03:09,740
Yeah. How about yourself? Other person?

38
00:03:09,740 --> 00:03:17,980
Hi. Yeah. Hi. I'm Ben, Ben Wilcock. I am a technical marketer for VMware. And I work

39
00:03:17,980 --> 00:03:24,060
alongside John in the realm of Spring. I don't know where any bodies are buried there.

40
00:03:25,460 --> 00:03:29,820
How about bones? Do you have a dog? No.

41
00:03:30,320 --> 00:03:35,680
Coté, I'm finding myself really distracted by your t-shirt because I really want to know

42
00:03:35,680 --> 00:03:41,780
what it is. Oh, well, okay. Look, since we're on video, this is one of my favorite t-shirts

43
00:03:41,780 --> 00:03:47,100
because it sums up a lot of my life. See, it's this hot dog walking through the desert and

44
00:03:47,100 --> 00:03:49,380
it says nothing matters. Okay.

45
00:03:50,160 --> 00:03:56,800
Is that not like some eggplant emoji thing going on there? Oh, yeah.

46
00:03:56,800 --> 00:03:59,580
You don't realize, but it's all been, you know, banned.

47
00:04:00,260 --> 00:04:04,580
It could be. I haven't actually thought. That's a good point now that I look at it. It's pretty

48
00:04:04,580 --> 00:04:09,300
old. It's got little pills on it. I've worn it for a while. But it also, like, it's not

49
00:04:09,300 --> 00:04:13,160
quite on that line. But the other line, I forget if there's a name for it. But I also love those

50
00:04:13,160 --> 00:04:21,120
pictures that are things that are carving themselves up for you to eat. Like, pigs are very popular with

51
00:04:21,120 --> 00:04:25,900
this where there'll be, like, a pig who's, like, a butcher and he's, like, serving you pig, right?

52
00:04:25,940 --> 00:04:30,700
Or chicken sometimes. And, like, I mean, this is a hot dog that's squirting ketchup in its mouth,

53
00:04:30,740 --> 00:04:37,040
which is equally great. But it's very close to that thing of, like, you know, like, they're also,

54
00:04:37,040 --> 00:04:44,620
you know, I'm sure y'all obviously having something to do with Europe, you know, forgiving your locale.

55
00:04:44,820 --> 00:04:50,100
You've seen that big, and maybe off in California, but you've seen that big statue of a hot dog that

56
00:04:50,100 --> 00:04:57,200
looks crazy. And he's got, like, a big ketchup thing squirting it on himself or herself. But that's,

57
00:04:57,280 --> 00:05:01,120
you know, there's similar things. Like, that's a good example of the kind of, like, food preparing

58
00:05:01,120 --> 00:05:08,120
itself to be eaten, which I think is highly entertaining. I don't know. Maybe that's an

59
00:05:08,120 --> 00:05:12,100
American thing. It's really the ice cream cones that you see all over Europe, just everywhere.

60
00:05:12,440 --> 00:05:17,460
There's ice cream cones on the street. Enormous plastic ones. Yeah. Yeah. Yeah. Do you have the

61
00:05:17,460 --> 00:05:22,760
vans, Coté? You're in Amsterdam, aren't you? Do you have the ice cream van where a van will drive

62
00:05:22,760 --> 00:05:29,340
around? Now, if you would have asked me that, like, two weeks ago, I would have said no. But I

63
00:05:29,340 --> 00:05:34,040
actually passed by one recently. This is, like, three weeks, whatever, a month ago. I was in a

64
00:05:34,040 --> 00:05:37,600
neighborhood, and I heard this sound, and there was this van driving really slowly, and it took me a

65
00:05:37,600 --> 00:05:42,520
long time to realize what it was. But yeah, it was an ice cream truck. It was crazy. I've never seen

66
00:05:42,520 --> 00:05:48,560
that in Amsterdam, and yet there it was. Yeah, the kids are more into the raw herring in Amsterdam.

67
00:05:49,240 --> 00:05:55,420
That's right. They get out of school. They go listen to that, you know, what is it? I'm going to take

68
00:05:55,420 --> 00:06:03,240
myself to the cow town road or something, and then they slam down some herring. Yeah. Yeah. I haven't

69
00:06:03,240 --> 00:06:11,420
had herring in a while. It's pretty good, though. When my son was little, I told him that when they

70
00:06:11,420 --> 00:06:16,540
when they played the music, that meant they'd run out of ice cream. Oh, wow.

71
00:06:19,180 --> 00:06:25,220
Don't forgive me. That is a, that's a good dad move right there. Always coming up with, like,

72
00:06:25,340 --> 00:06:30,540
let's call them untruths to avoid hassle.

73
00:06:33,420 --> 00:06:36,820
I like that. I'm not proud. I'm not proud. Yeah.

74
00:06:37,660 --> 00:06:43,300
It's actually carrying loads of change. Yeah. I like if you had a detailed analysis of that,

75
00:06:43,480 --> 00:06:51,180
you would think, but why? Like, that would be, like, it's like, it's like the wailing of the

76
00:06:51,180 --> 00:06:58,760
ice cream truck when it's run out of ice cream. All right. Well, we, Rita and I have been planning

77
00:06:58,760 --> 00:07:05,040
this for a while, and it's been, I forget how long the spring survey's been out. You'll have to tell

78
00:07:05,040 --> 00:07:12,820
us. But y'all two did a fair amount of work on the state of spring 2020 survey, which I think has

79
00:07:12,820 --> 00:07:19,860
all sorts of fun findings. So I thought it would be nice to have y'all on to talk about it, to go over

80
00:07:19,860 --> 00:07:25,640
it. And with that wonderful introduction of myself, I mean, not myself, of the survey. So what is this

81
00:07:25,640 --> 00:07:33,260
state of spring survey? What's the, what would you, like, what's the premise of it, John?

82
00:07:34,180 --> 00:07:40,280
So, again, I won't go back to the bodies, but, you know, Microsoft back in the day had this thing

83
00:07:40,280 --> 00:07:46,360
called the developer tracker. And it's, it's, when you're in marketing, everyone thinks, okay, you judge

84
00:07:46,360 --> 00:07:50,700
how well you're doing by how much you sell. And that's fine. But when you're working with an open

85
00:07:50,700 --> 00:07:56,440
source technology or a developer technology, where it's all about adoption, you know, that you need

86
00:07:56,440 --> 00:08:03,080
some other way to really figure out how, how you're doing and, you know, how, how, how well your, you

87
00:08:03,080 --> 00:08:07,120
know, your message is getting across, what people think about your product and, and how, and how they're

88
00:08:07,120 --> 00:08:12,480
using it. And so when I, when I joined the spring team earlier in the year, I was thinking, okay,

89
00:08:12,480 --> 00:08:17,640
where are we? Bunch of questions about developers, like, what are they doing with, with spring?

90
00:08:18,020 --> 00:08:22,460
What do they like? What do they dislike? What do they think about it? You know, this kind of

91
00:08:22,460 --> 00:08:27,840
emotional thing. And, and so I thought, let's, let's have a, let's have a survey. Let's do some

92
00:08:27,840 --> 00:08:33,140
proper market research. So rather than, you know, me spin up a survey monkey, throw it out and 50

93
00:08:33,140 --> 00:08:38,240
people answer it and everyone go, well, that's not really statistically valid. Let's do something

94
00:08:38,240 --> 00:08:45,520
kind of a bit more scientific. Who are actually in the trenches using spring. So they're either

95
00:08:45,520 --> 00:08:52,400
developers, architects, or their managers running teams that are using spring. Um, so that's the

96
00:08:52,400 --> 00:08:58,140
setup. And then, uh, for SpringOne, we actually kind of wrote it up and released the state of spring

97
00:08:58,140 --> 00:09:02,180
report, which everyone can go download on the, the Tansy blog today.

98
00:09:02,180 --> 00:09:07,860
Hmm. And I'll say, you know, as somebody who has to read a lot of research, as you know, um,

99
00:09:08,560 --> 00:09:13,280
from, from my role, uh, I really appreciated it because I think it's useful for, you know,

100
00:09:13,280 --> 00:09:18,980
when we think about the roadmap, right. What we, where we want to take this, um, this technology,

101
00:09:18,980 --> 00:09:23,460
where we want to take spring or the platform. So super useful. And I was, I was really glad

102
00:09:23,460 --> 00:09:29,460
to see it. Yeah. And it actually, so this isn't the first state of that VMware has produced. Um,

103
00:09:29,460 --> 00:09:34,640
Heptio before it was acquired by VMware started off the state of Kubernetes. So if you're interested

104
00:09:34,640 --> 00:09:40,140
in a kind of similar take, but with that, that technology, um, you can go look that up. That's

105
00:09:40,140 --> 00:09:44,340
been running for two years. And our intent with the state of spring is that we, we release this

106
00:09:44,340 --> 00:09:49,120
every year. So it's not, this is a good baseline to start with, but it's also good because it lets

107
00:09:49,120 --> 00:09:54,340
us kind of track, you know, where things are going, um, where usage is going, what, how people's

108
00:09:54,340 --> 00:10:00,420
tastes and opinions are changing as well. So when, when, when I look through, uh, the final

109
00:10:00,420 --> 00:10:05,380
presentation of these surveys, I always wonder like, uh, how, how many, how many questions did

110
00:10:05,380 --> 00:10:10,260
y'all cut out? Were there like, do you have all of the questions listed here or did you, are there

111
00:10:10,260 --> 00:10:14,000
some questions that you asked and you were like, you know, maybe it wasn't a good idea to ask them

112
00:10:14,000 --> 00:10:18,540
like the last time they cut their dog's toenails. So we might want to cut that one out.

113
00:10:19,260 --> 00:10:22,860
Yeah. That's a, that's a great question. Cut straight to where the bodies are buried,

114
00:10:22,920 --> 00:10:28,620
I guess. Um, no body's buried here, but this isn't, this isn't everything. If anyone that

115
00:10:28,620 --> 00:10:34,380
completed the survey knows, we asked a bunch more stuff and, uh, you know, there's a TLDR piece.

116
00:10:34,380 --> 00:10:38,920
If we, sometimes when I read through the whole report internally, I see people kind of glazing

117
00:10:38,920 --> 00:10:43,420
over because, you know, some of the, some of the answers are kind of, well, yeah, duh, that's

118
00:10:43,420 --> 00:10:48,260
what we expected. And, and other answers, we look at it and go, well, we probably didn't

119
00:10:48,260 --> 00:10:53,520
ask the question in quite the right way. The results came back and, um, we're not sure that

120
00:10:53,520 --> 00:10:57,560
there, there is an insight to be gained from that. So, and there are a couple of questions

121
00:10:57,560 --> 00:11:03,780
as well that were really, um, questions that are interesting internally, but not, not, not

122
00:11:03,780 --> 00:11:06,080
generally. So we did cut a few things out.

123
00:11:06,260 --> 00:11:10,260
Yeah. Now that, that, that makes sense. You know, when I, when I've worked on surveys

124
00:11:10,260 --> 00:11:15,720
before there's all, most of the stuff that I would have cut out is just boring or, or sort

125
00:11:15,720 --> 00:11:20,120
of repetitive, right? There's just like, not really, uh, I don't know. There's, there's,

126
00:11:20,200 --> 00:11:24,900
you know, you ask people what they think about cheese and most people agree on it. So it doesn't

127
00:11:24,900 --> 00:11:29,180
really have that much of an answer. And, uh, it's, it's good to cut those things out. So,

128
00:11:29,180 --> 00:11:35,160
uh, now Ben, before this role, you, you were actually a spring developer. I don't know what

129
00:11:35,160 --> 00:11:40,700
that makes you now, if you still are, but you know, so, so if you were to put on your, uh,

130
00:11:40,700 --> 00:11:44,840
spring developer hat, when you, when let's, you know, let's get to the content, when you're looking

131
00:11:44,840 --> 00:11:50,000
through the answers here, like, like at, from a developer, like what's, what's stuff that,

132
00:11:50,260 --> 00:11:53,940
what are you looking for when you look at surveys, like as a developer?

133
00:11:55,640 --> 00:12:01,960
I'm really interested in trends, I guess, um, because, you know, part of, part of any developer's

134
00:12:01,960 --> 00:12:10,500
job is trying to identify where things are going. So you're, you're constantly looking out for new

135
00:12:10,500 --> 00:12:17,600
trends where, where adoption is growing in particular areas. Things like, um, reactive is a really good

136
00:12:17,600 --> 00:12:25,540
example of that because it's been around for a few years. We now have it peppered throughout the, uh,

137
00:12:25,540 --> 00:12:31,940
spring, uh, framework and spring boot has lots of starters that include things that will work

138
00:12:31,940 --> 00:12:39,240
very nicely with reactive, like, uh, spring data, for example. So, um, it's seeing the results from that

139
00:12:39,240 --> 00:12:45,200
and then being able to think about, okay, how, you know, should I be considering adopting those things too?

140
00:12:45,200 --> 00:12:49,880
So it's a bit of a, it's a bit of a technology radar, really. It's sort of telling you what's

141
00:12:49,880 --> 00:12:56,560
on the horizon and what's, uh, what's incoming, but also it gives you a nice, warm, fuzzy feeling that

142
00:12:56,560 --> 00:13:01,480
the stuff that you're working on is similar to what other people are also working on.

143
00:13:01,920 --> 00:13:09,100
Yeah. You know, you're not alone. No one wants to be alone at the real raw kind of bleeding edge of

144
00:13:09,100 --> 00:13:14,220
this stuff. You want to be with a community and have a community going in. Right. Right. You,

145
00:13:14,220 --> 00:13:19,900
you have, you have sort of a, uh, soft confirmation of normalness, which, which, uh, you know,

146
00:13:20,520 --> 00:13:24,880
people, people are always telling me there is no normal or average when I come to them with my

147
00:13:24,880 --> 00:13:29,460
problems, which, which is, I feel like then I need some mathematical definition of like, all right,

148
00:13:29,460 --> 00:13:33,640
let's say you were to plot on a chart, everything, where are the clusters? I want to know if I'm that,

149
00:13:33,640 --> 00:13:39,700
uh, but whatever. But I, I think, I think, yeah, as, as far as like trends, let's say,

150
00:13:39,760 --> 00:13:45,300
it kind of lets you know where you are. And that's a, I guess that is an interesting thing. I, I haven't

151
00:13:45,300 --> 00:13:49,780
thought about as far as it's been a long time since I was a developer, but you can use it as like a

152
00:13:49,780 --> 00:13:55,460
discovery mechanism for like, what, what are directions and other things that, uh, people are

153
00:13:55,460 --> 00:14:02,580
using. And I, and I wonder Coté, uh, I was, you know, and to anybody here, you know, when you're

154
00:14:02,580 --> 00:14:06,680
seeing what your peers or other folks that are working with this technology that they're doing,

155
00:14:06,720 --> 00:14:10,980
if they're doing something, you might've been reluctant to check out, or we're kind of curious

156
00:14:10,980 --> 00:14:14,420
about, does it empower you? Does you, do you feel like, okay, I'm going to try it because there's

157
00:14:14,420 --> 00:14:18,740
others who were there. I have this community I can tap into. I can ask them questions.

158
00:14:19,080 --> 00:14:22,740
Was there a feeling of that? I mean, do you think there's a feeling of that? I would imagine there,

159
00:14:22,800 --> 00:14:27,560
there is maybe feeling like you're more willing to experiment because others have been there before.

160
00:14:28,140 --> 00:14:32,700
I think it also helps you position where you're at, like in, in a wave of technology.

161
00:14:33,000 --> 00:14:38,040
Are you that early adopter or are you kind of, where are you comfortable? Maybe you're comfortable

162
00:14:38,040 --> 00:14:42,840
in that early majority. So I think this is going to start digging into the results, but reactive

163
00:14:42,840 --> 00:14:47,980
is one of those areas. I think there's a general perception that, you know, reactive, it's still

164
00:14:47,980 --> 00:14:53,300
very early. Who's touching it? And yet it looks, a third of the people we talked to are actually

165
00:14:53,300 --> 00:14:58,740
using reactive already. Look, man, Gartner wrote a report about it. So you know that it's for real.

166
00:14:59,900 --> 00:15:03,480
They wrote about it last year, right? For the CTO was like, Hey, get this on your radar.

167
00:15:04,140 --> 00:15:10,100
So that was really nice to see this further validate that or vice versa.

168
00:15:10,100 --> 00:15:15,240
Well, well, so, so to your point, let's look at that, uh, that reactive thing. Well, first of all,

169
00:15:15,760 --> 00:15:23,560
I think, I think maybe three years ago, I got Josh long to explain to me what reactive was.

170
00:15:23,740 --> 00:15:28,760
And I sort of remember, but, but it's one of you, some of you will have to clear it up because I feel

171
00:15:28,760 --> 00:15:35,720
like reactive at some point was a UI framework, but then it became a backend data handling something.

172
00:15:35,940 --> 00:15:40,640
And I never really disambiguated the two, or maybe there was another R thing that I confused with it.

173
00:15:40,700 --> 00:15:42,740
So what is this, what is this reactive business?

174
00:15:45,340 --> 00:15:49,900
I'm normally not terribly good at correctly describing.

175
00:15:50,120 --> 00:15:50,780
It would probably be better.

176
00:15:51,280 --> 00:15:55,440
But didn't you do a whole blog series on this, didn't you?

177
00:15:55,480 --> 00:15:59,960
I think, I think, I think, however, I think, however, compared to me, you will be an expert,

178
00:15:59,960 --> 00:16:01,800
no matter what you think of yourself.

179
00:16:03,260 --> 00:16:08,080
Um, what, what we're trying to do with, uh, you know, what reactive is trying to do really is,

180
00:16:08,080 --> 00:16:13,120
is, um, give you more efficiency for the compute power that you have.

181
00:16:13,240 --> 00:16:14,860
Now there's a couple of ways of doing that.

182
00:16:14,920 --> 00:16:21,400
The, the kind of incumbent way, the existing way was to try and multi-thread to try and use as many

183
00:16:21,400 --> 00:16:27,760
threads as you can on your device, but that is very difficult to manage in code.

184
00:16:27,760 --> 00:16:33,260
You know, there's really not that many people who understand multi-threading very well.

185
00:16:33,260 --> 00:16:36,340
I'm, I'm certainly include myself in that number.

186
00:16:36,700 --> 00:16:38,020
It's kind of a nightmare.

187
00:16:38,680 --> 00:16:46,300
Um, so if you can, uh, come up with new and clever ways where you can get more, uh, horsepower

188
00:16:46,300 --> 00:16:52,160
out of what you have, then, um, generally you can do things like serving more requests.

189
00:16:52,160 --> 00:16:53,680
And that's what reactive does.

190
00:16:53,680 --> 00:16:59,540
It uses this, uh, technique called an, an event loop, which is kind of at the core of that.

191
00:16:59,540 --> 00:17:08,740
And it uses asynchronicity to make sure that you can throw your, uh, requests onto this, uh, event

192
00:17:08,740 --> 00:17:13,900
loop and the event loop will take care of managing what happens to those over time.

193
00:17:13,900 --> 00:17:18,780
And then when you have a response, you'll get a call back to say, okay, this, this thread

194
00:17:18,780 --> 00:17:20,420
is now ready to do some more work.

195
00:17:20,420 --> 00:17:26,020
And that just basically means you can queue up an awful lot more work than you can if you're

196
00:17:26,020 --> 00:17:28,780
just using sort of traditional mechanisms.

197
00:17:29,140 --> 00:17:29,500
I see.

198
00:17:30,220 --> 00:17:30,580
Yeah.

199
00:17:30,740 --> 00:17:30,940
Yeah.

200
00:17:30,940 --> 00:17:34,760
I, I, I kind of remember his explanation now that, you know, you would use this for handling

201
00:17:34,760 --> 00:17:40,040
multiple requests, like from a front end or something for like a, maybe a data data or

202
00:17:40,040 --> 00:17:41,220
process intensive thing.

203
00:17:41,220 --> 00:17:43,900
And like you're saying, you want to kind of spread it out and queue it.

204
00:17:43,940 --> 00:17:47,680
So it's a way of handling a lot of requests.

205
00:17:48,380 --> 00:17:48,780
Yeah.

206
00:17:48,780 --> 00:17:51,880
It's, it's basically increasing that request density.

207
00:17:52,260 --> 00:17:58,740
So, you know, if a regular server can manage, I don't know, 10,000, maybe you'd be able

208
00:17:58,740 --> 00:18:05,180
to squeeze out more sessions from the same compute power.

209
00:18:05,300 --> 00:18:09,160
So maybe you'll get 10,000 to 15,000 or 20,000.

210
00:18:09,160 --> 00:18:14,160
You really, you know, you really have to try it to know for sure what you're going to get.

211
00:18:14,700 --> 00:18:20,860
But the fact that Spring has reactive now throughout the stack means that at no point do you switch

212
00:18:20,860 --> 00:18:22,580
to IO blocking operations.

213
00:18:22,580 --> 00:18:28,020
You can keep your reactive use all the way down through to the database and back again.

214
00:18:28,260 --> 00:18:28,500
Okay.

215
00:18:28,680 --> 00:18:31,480
So, you know, Spring's pretty good at that.

216
00:18:31,620 --> 00:18:34,260
It's very, it's kind of unique in that, I think, I believe.

217
00:18:35,340 --> 00:18:39,700
So it's good to see that that is being rewarded with adoption.

218
00:18:40,180 --> 00:18:40,520
Okay.

219
00:18:41,160 --> 00:18:41,460
Yeah.

220
00:18:41,500 --> 00:18:41,720
Okay.

221
00:18:42,080 --> 00:18:42,980
That makes sense.

222
00:18:43,860 --> 00:18:49,720
And reactive isn't something that Pivotal or VMware now in Spring invented.

223
00:18:49,940 --> 00:18:54,820
There is a reactive foundation, part of the Linux foundation, that's kind of governing this and putting

224
00:18:54,820 --> 00:18:58,260
out specifications and we have some implementations of that.

225
00:18:58,880 --> 00:19:02,580
So it's, there is a general industry movement, you know, around reactive.

226
00:19:03,280 --> 00:19:05,180
New things like the R2DBC.

227
00:19:05,600 --> 00:19:11,660
So it's like a database interface that talks reactive rather than the regular, more kind of procedural code.

228
00:19:13,560 --> 00:19:15,460
So, you know, it's not just us.

229
00:19:15,640 --> 00:19:19,160
There's a lot of folks, Alibaba, just looking through the list.

230
00:19:19,680 --> 00:19:22,280
So, so I want to try something here.

231
00:19:22,660 --> 00:19:27,780
Do we, do we have some visual to show about what the reactive set, the survey says about reactive?

232
00:19:27,940 --> 00:19:29,060
I've never done this before.

233
00:19:29,400 --> 00:19:34,460
So we're going to see, I'm going to, I'm going to, I'm going to pin your video.

234
00:19:35,080 --> 00:19:36,560
I think you can share, right?

235
00:19:36,620 --> 00:19:37,060
Yeah, that's you.

236
00:19:37,220 --> 00:19:38,640
I'm going to pin your video, John.

237
00:19:38,740 --> 00:19:43,200
And then, well, and then I think I can transition to another scene.

238
00:19:44,380 --> 00:19:47,040
I don't know what I'm doing, but we're going to find out.

239
00:19:47,340 --> 00:19:48,180
You want me to share?

240
00:19:48,540 --> 00:19:48,900
Yeah.

241
00:19:49,040 --> 00:19:51,000
This is, this is live people.

242
00:19:51,180 --> 00:19:51,520
How's that?

243
00:19:55,700 --> 00:19:58,800
So, um, I go back to your early question about what we left out.

244
00:19:58,880 --> 00:20:04,260
I mean, the, one of the, one of the things we did actually was to take different questions.

245
00:20:04,380 --> 00:20:11,900
And when you, when you see the results, you start to put them together and go, well, actually these two things together, there's a kind of theme here, some interesting points.

246
00:20:12,140 --> 00:20:19,640
So what you're seeing on this slide are two really points around, you know, technology adoption, um, and, and new technology.

247
00:20:20,000 --> 00:20:24,160
So on the left-hand side is, is the reactive point you see in the middle there, 33%.

248
00:20:24,160 --> 00:20:27,980
So we asked what, uh, development styles, spring boot.

249
00:20:28,380 --> 00:20:31,060
And when we say spring boot, we mean spring everything.

250
00:20:31,340 --> 00:20:34,260
So what development styles spring boot developers are using.

251
00:20:34,920 --> 00:20:38,880
Um, and it doesn't, they don't necessarily have to be using it with spring boot.

252
00:20:38,980 --> 00:20:42,820
It's just what, what development styles are, uh, are being used.

253
00:20:43,100 --> 00:20:48,520
And so as, as you can see, I don't know if this is a surprise, Coté, you've been on the microservices beat for a while.

254
00:20:48,980 --> 00:20:51,160
83% said they're using microservices.

255
00:20:51,720 --> 00:20:55,400
You know, this is one of the things that we think spring boot made much easier.

256
00:20:55,400 --> 00:21:02,620
So it's great to kind of see that come back and everyone say, yeah, we're, we've got microservices kind of nailed pretty much.

257
00:21:03,520 --> 00:21:08,020
Um, and, and we'd like to take some credit with spring as to help make that easier.

258
00:21:08,680 --> 00:21:17,560
Um, and so projecting forward though, with, there are, there are a new development styles, um, kind of coming up reactive and serverless are two of those.

259
00:21:18,040 --> 00:21:27,120
So what we're trying to, excuse me, VMware is trying to take over my laptop and join domain, join it at this very moment.

260
00:21:27,380 --> 00:21:28,660
It's kind of inconvenient.

261
00:21:30,500 --> 00:21:40,000
Um, yeah, so we have these upcoming, um, development styles and it's interesting to see kind of how familiar they are to a spring boot audience.

262
00:21:40,540 --> 00:21:48,320
You know, looking forward, uh, what we can do, we have things like, um, like spring cloud function in the serverless space.

263
00:21:49,100 --> 00:21:55,400
So what spring can do to actually make, uh, create an environment where, where developers can use those.

264
00:21:55,400 --> 00:22:05,120
And one of the things we try to do is spring is, is to, to bring the, uh, bring new technologies to the spring developer rather than make them have to go somewhere else, learn a new language.

265
00:22:05,340 --> 00:22:06,640
You know, they can stay productive.

266
00:22:07,100 --> 00:22:14,740
Um, and, uh, as they do that, the platform just brings in the new styles like reactive serverless, um, and lets them take advantage of that.

267
00:22:17,900 --> 00:22:27,800
Um, so on the right hand side, um, it's in a similar way, spring cloud is, is bringing kind of new capabilities and new technologies to, to the spring develop spring boot developer.

268
00:22:28,300 --> 00:22:31,240
Um, so spring cloud services has been around for quite a long time.

269
00:22:31,240 --> 00:22:38,660
Um, it was originally the, the, the Netflix, Netflix services they built to make their platform viable when those services didn't exist.

270
00:22:39,240 --> 00:22:44,240
Um, you know, they were pioneering microservices way, way earlier than, than a lot of folks.

271
00:22:44,900 --> 00:22:46,920
Um, but now microservices is a very mainstream.

272
00:22:47,480 --> 00:22:57,840
Um, and so then, then now they actually depend on the services we've built into spring cloud, um, rather than them kind of creating the services and us just kind of repackaging them.

273
00:22:57,840 --> 00:23:13,700
Um, but, but kind of new in the portfolio, we have spring cloud gateway, which, uh, leads everyone into that world of, uh, API internal API economies and, um, you know, uh, centralizing one point that a lot of, uh, a lot of API traffic runs through.

274
00:23:14,100 --> 00:23:24,340
Um, but we have some kind of cool tricks, which we could talk about now or in a later, um, session that, that are kind of make it more developer centric than, uh, your typical API gateway.

275
00:23:24,340 --> 00:23:25,300
And then spring cloud.

276
00:23:25,700 --> 00:23:26,020
Yeah.

277
00:23:26,020 --> 00:23:27,280
Because everything is code centric, right?

278
00:23:27,280 --> 00:23:29,180
They can do everything from, from the code.

279
00:23:29,460 --> 00:23:29,620
Right.

280
00:23:29,800 --> 00:23:35,600
The developer doesn't have to raise a ticket with the API gateway team to, to register their, their service.

281
00:23:35,620 --> 00:23:40,800
They just, they just create a little code asset, send it off to the gateway and they're self-registered.

282
00:23:40,980 --> 00:23:51,020
So, yeah, there's a lot of talk about like how something like this, a code centric approach to this kind of stuff is, uh, to, to, for example, creating APIs and building APIs or API management.

283
00:23:51,020 --> 00:23:59,620
And, and you said API Academy, uh, sorry, economy, uh, is that it, it mitigates the need for these big honking, you know, integration platforms.

284
00:23:59,620 --> 00:24:02,160
I mean, I spent years covering that space.

285
00:24:02,160 --> 00:24:04,520
So I have a soft spot for, for an iPad.

286
00:24:04,720 --> 00:24:08,980
I love me a little iPads, um, or before that.

287
00:24:08,980 --> 00:24:16,060
So, uh, so, uh, but, uh, yeah, the code centric approach has been, has been quite popular with API gateway and, and spring cloud data flow.

288
00:24:16,700 --> 00:24:17,100
Yeah.

289
00:24:17,200 --> 00:24:18,660
And it's a good segue.

290
00:24:18,760 --> 00:24:26,620
And then, yeah, the next one is spring cloud data flow, which is a, you know, a super powerful tool for building both batch and streaming apps.

291
00:24:26,620 --> 00:24:33,780
And, you know, so what the survey told us is that, um, your spring cloud services has been available for a while, pretty good use.

292
00:24:33,940 --> 00:24:37,460
Um, and, you know, most of the folks we talked to are interested in it.

293
00:24:37,960 --> 00:24:42,940
Um, but if you're thinking about gateway and data flow and you go, well, I'm not sure who's using that.

294
00:24:42,940 --> 00:24:49,040
Then you can, you can refer to the survey and, you know, see that there is a hard core people that have really adopted those technologies.

295
00:24:49,660 --> 00:24:54,160
Um, but also interesting to us is that there is a lot of interest.

296
00:24:54,160 --> 00:24:56,240
There's an appetite to hear more about it.

297
00:24:56,240 --> 00:25:08,660
And so, so it's on Ben and I to really produce, you know, interesting demos and, uh, starters and, and reference architectures and things that will help them on that journey and, uh, feed the interest that's already there.

298
00:25:08,840 --> 00:25:12,520
You know, I was going to say something you said sparked my, my, my, my, I have a question here.

299
00:25:12,580 --> 00:25:14,620
I wanted to ask is as a developer, right?

300
00:25:14,620 --> 00:25:19,300
As a spring developer, how can I use this, this survey data?

301
00:25:19,420 --> 00:25:20,680
What's the value of it for me?

302
00:25:20,740 --> 00:25:24,600
I'm just, I want to think about other audiences and they're saying, and then let's take it.

303
00:25:24,600 --> 00:25:27,120
Like, what about app dev managers and app dev leaders?

304
00:25:27,120 --> 00:25:29,780
What would, what should they be taking from this report?

305
00:25:30,260 --> 00:25:36,620
And then maybe we think about product development folks, you guys want to crack at that?

306
00:25:37,700 --> 00:25:42,040
I mean, one of the things that we wanted to take the temperature of was,

307
00:25:42,220 --> 00:25:45,520
uh, was just January with spring.

308
00:25:45,600 --> 00:25:46,260
Where is it going?

309
00:25:46,940 --> 00:25:48,940
Um, you know, everyone's very familiar with Java.

310
00:25:48,940 --> 00:25:51,420
It's been around for going on like 20 years.

311
00:25:51,980 --> 00:25:57,360
Um, and so there are a lot of assumptions about technology that's been around that while, uh, sorry, that long.

312
00:25:58,160 --> 00:26:01,780
Um, um, and so I'm going to, I'm going to try this.

313
00:26:02,780 --> 00:26:03,600
I'm going to flip.

314
00:26:05,360 --> 00:26:05,880
Come on.

315
00:26:08,680 --> 00:26:09,040
Yeah.

316
00:26:09,120 --> 00:26:14,540
So we, so we wanted to kind of take the temperature of, where does it sit within your constellation of options?

317
00:26:14,800 --> 00:26:15,540
Both as a Java.

318
00:26:15,920 --> 00:26:18,160
I'm busting out Duke to say a little distraction.

319
00:26:18,160 --> 00:26:18,460
Okay.

320
00:26:19,160 --> 00:26:21,180
You know, where does it sit?

321
00:26:21,500 --> 00:26:26,000
Uh, our folks, is it something that's kind of there, but there are a lot of other options.

322
00:26:26,540 --> 00:26:28,780
Um, or is it really the, the number one thing?

323
00:26:28,780 --> 00:26:33,440
Um, and what we heard in some of the early interviews was, well, it's kind of the corporate standard.

324
00:26:33,780 --> 00:26:35,680
Um, it's what everybody uses.

325
00:26:36,040 --> 00:26:48,560
Um, and, and that's great because when we onboard a new developer, uh, they, they instantly have, um, like a lot of processes and tools to plug into and we, and they can get productive very, very quickly, uh, with spring.

326
00:26:48,560 --> 00:26:53,900
So yeah, having it as that kind of primary development platform is really important.

327
00:26:54,600 --> 00:27:03,380
Um, and I think, well, that's great, but maybe that's just a sign of just the amount of time since that investment decision.

328
00:27:03,380 --> 00:27:07,780
You know, the, an organization makes a strategic decision to, to build on a platform.

329
00:27:08,240 --> 00:27:17,040
And once they do that for a few years, it kind of sticks, but that it may be that everybody dislikes the platform and it's just there and they're just stuck with it as the incumbent.

330
00:27:18,120 --> 00:27:24,120
So, um, but what you'd expect, if that was the case, then everybody would be running away from the platform.

331
00:27:24,620 --> 00:27:30,920
Uh, and, and every time a new app comes up, they go, oh, let's put that on, I don't know, Python or, or something else.

332
00:27:31,420 --> 00:27:41,340
And so built kind of building off that first stat of, you know, over half the people we surveyed have it as their primary, um, their primary development platform.

333
00:27:41,860 --> 00:27:43,640
Um, these numbers just blew me away.

334
00:27:44,040 --> 00:27:50,140
So 75%, like three quarters of the folks we talked to expect their usage of spring to grow over the next two years.

335
00:27:51,160 --> 00:27:58,780
Um, and of, of, of those folks that said it was going to grow 82% said that growth was going to come from new apps.

336
00:27:59,400 --> 00:28:06,140
So this is, this is not the sign of a, of a platform that's kind of stagnant and everyone's running away from.

337
00:28:06,500 --> 00:28:10,980
Um, and there's other data that, that talks about how folks really actually like working in the spring.

338
00:28:11,480 --> 00:28:13,560
Um, but it's, it's thriving really.

339
00:28:13,940 --> 00:28:16,220
Yeah, that's, that's, that's interesting.

340
00:28:16,320 --> 00:28:19,840
I was, I was, uh, I hadn't thought of that use for that, right.

341
00:28:19,840 --> 00:28:27,540
To confirm that, uh, people actually like it, that they're, they're, they're not like running away from it.

342
00:28:27,540 --> 00:28:30,940
But that's, that's a, that's a good point to be made with that, that information.

343
00:28:31,040 --> 00:28:40,700
I mean, I was just more looking at it from the, uh, looking at this question from the, um, I don't know, the momentum angle of like, you know, what's the planning for it?

344
00:28:40,720 --> 00:28:43,960
And therefore like people thinking about if it's going to be used, but you're right.

345
00:28:43,960 --> 00:28:50,300
Like if, if they're, uh, planning to use it for new projects, then that makes sense.

346
00:28:50,580 --> 00:28:52,200
There's, there's some affinity towards it.

347
00:28:52,400 --> 00:28:52,460
Yeah.

348
00:28:52,580 --> 00:28:55,100
And, and I don't, I don't know if it came through yet.

349
00:28:55,220 --> 00:28:56,200
It's, it's in the text.

350
00:28:56,400 --> 00:29:00,760
Um, also they're migrating 56% said they were migrating apps to spring.

351
00:29:01,160 --> 00:29:08,180
So you, you don't typically, you wouldn't migrate an app to a platform that you were trying to move away from.

352
00:29:08,440 --> 00:29:08,560
Right.

353
00:29:08,660 --> 00:29:08,840
Right.

354
00:29:09,180 --> 00:29:15,800
So this was really helpful in, in just, and, and to go back to our early point about kind of what, what are other people doing?

355
00:29:15,800 --> 00:29:25,260
Some of that security, um, you know, you may feel in your organization that spring is great and we're doing a wonderful, you know, it's, it's amazing, but are we headed

356
00:29:25,260 --> 00:29:27,940
in the wrong direction is the rest of the industry using something else?

357
00:29:28,620 --> 00:29:30,580
Uh, how do we, with the reference point.

358
00:29:30,580 --> 00:29:39,820
And so in the report, we just wanted to kind of provide, um, some data and, you know, I'll be honest when we put the report out there, we didn't know this data was going to come back like this.

359
00:29:39,820 --> 00:29:42,440
So, uh, pleasantly surprised.

360
00:29:42,840 --> 00:29:53,960
And, and so, I mean, since it's up, I think, I think the other on the, uh, the right side there, like that's the, it's essentially going over what people use, uh, spring boot for.

361
00:29:54,500 --> 00:30:03,740
Which I think, I think, uh, as most people pointed out, it's kind of a unexpected sort of finding that there's a lot of API usage.

362
00:30:04,260 --> 00:30:07,480
Um, I mean, it's, would you say head and shoulders?

363
00:30:07,480 --> 00:30:10,200
It's, it's above the other, the other usage, right?

364
00:30:10,200 --> 00:30:19,400
So it's like just over 75% or 76% of people say they use it for, uh, internal and external APIs.

365
00:30:19,560 --> 00:30:21,920
Now, I guess, I guess you could pick multiple ones.

366
00:30:22,240 --> 00:30:24,000
This wasn't just your, uh, your top pick.

367
00:30:24,160 --> 00:30:32,160
You could pick, you could pick multiple and you could pick at this and say, well, actually, when I'm building a website, I'm doing that and I'm building the backend as an API.

368
00:30:32,760 --> 00:30:41,260
But so it's a, it's a little peek into the insight that it's sorry, uh, a peek into the internal way that developers are thinking about what they're building.

369
00:30:42,160 --> 00:30:44,660
Um, it's like an API first mentality.

370
00:30:44,660 --> 00:30:48,320
That would, that would match up with the, uh, the microservices finding, right?

371
00:30:48,360 --> 00:30:51,100
That people are doing a, uh, a lot of microservices.

372
00:30:51,100 --> 00:30:58,040
Now, now Ben, you were, you've been involved in some modernization projects here and there over the years.

373
00:30:58,040 --> 00:31:06,560
Is, is, uh, like do, do a lot of the older ways of doing things, do they use a lot of APIs like this?

374
00:31:06,560 --> 00:31:10,140
Like, are there microservices or things that feel like microservices in use?

375
00:31:10,180 --> 00:31:15,500
Or is that like a new phenomena amongst the, the corporate estates that you've, you've seen over the last few years?

376
00:31:17,000 --> 00:31:24,940
Well, I would say that, you know, one of the beauties of Spring is that it has an enormous legacy.

377
00:31:24,940 --> 00:31:37,440
You know, there's, there's all sorts of applications being created over the last 16 plus years, all relying on Spring for their internal structure.

378
00:31:37,440 --> 00:31:58,040
Um, what, what you can see from this survey is that folks are modernizing some things, other things they might be planning to retire at some point in the future, but haven't done so yet.

379
00:31:58,380 --> 00:32:14,320
And so we need to, um, be respectful of the thing that they, um, that we saw recently in, uh, Jürgen's keynote, for example, at SpringOne was that, you know, we do have a very broad church of users for Spring.

380
00:32:14,320 --> 00:32:23,960
And we have plenty who are doing APIs and microservices, but we also have some who are doing SOAP still, maybe they're using SOAP based, uh, web services.

381
00:32:24,260 --> 00:32:28,060
Uh, we have folks who are just doing regular web apps as well.

382
00:32:28,060 --> 00:32:32,160
And you can, you know, you can see that there in the survey at 39%.

383
00:32:32,160 --> 00:32:40,620
And so we are always very cognizant of the fact that we need to bring those folks along with us on a journey.

384
00:32:40,620 --> 00:32:54,420
So when we innovate, we also need to have a very clear structured plan about how those folks can come along on the journey or where they need to plan to, um, you know, release themselves from that journey.

385
00:32:54,420 --> 00:32:57,700
So, um, I think we're, I think we're really good at that.

386
00:32:57,840 --> 00:33:18,300
And, uh, I think we rarely break stuff, which is very, you know, if you're an architect or a development manager, the fact that it's very rock solid, that it's trustworthy, that it's been going for a long time, that it has this, um, you know, uh, uh, uh, uh, legacy behind it.

387
00:33:18,420 --> 00:33:25,040
And, uh, and this, uh, history behind it, and that we take folks along gently along, along the path that we're going.

388
00:33:25,220 --> 00:33:27,220
I think people really appreciate that.

389
00:33:27,740 --> 00:33:34,520
And, uh, that you can see that in the number of production apps that we have, you know, the production side of spring is enormous.

390
00:33:34,760 --> 00:33:37,580
And that's what I saw working with clients out in the field.

391
00:33:37,680 --> 00:33:42,120
They had every type of spring, every version sometimes.

392
00:33:43,120 --> 00:33:46,180
Uh, so, you know, some teams are working on very modern stuff.

393
00:33:46,400 --> 00:33:49,040
Other folks were maintaining older stuff.

394
00:33:49,760 --> 00:33:53,600
Um, but the, the way that they were doing that was, was broadly similar.

395
00:33:53,600 --> 00:33:55,180
And they really appreciated that.

396
00:33:55,260 --> 00:34:00,500
They didn't need multiple skill sets, for example, to be able to both maintain and innovate.

397
00:34:01,500 --> 00:34:09,560
And so, uh, you know, also looking at the demographics, like it, what, I mean, how would you describe the demographics?

398
00:34:09,560 --> 00:34:20,220
Like, I, the, the one, it seems like maybe like, uh, around 40% or so work at large organizations versus smaller ones.

399
00:34:20,220 --> 00:34:25,960
But, but when y'all were thinking about the size of the company, who, how does it kind of break out?

400
00:34:25,960 --> 00:34:30,440
I mean, and, and, and, you know, are, are there some slices of it that you didn't put in the report?

401
00:34:30,440 --> 00:34:34,480
Like, you know, big companies act more like this versus small companies act like this.

402
00:34:34,480 --> 00:34:37,200
Like, are there any differences in company size?

403
00:34:38,740 --> 00:34:39,100
Yeah.

404
00:34:39,140 --> 00:34:44,300
I mean, one of the wonderful things you can do with all this quant data in a spreadsheet is do what we call cross tabs.

405
00:34:44,780 --> 00:34:47,940
So you can, uh, you can mash up or you can take slices.

406
00:34:48,280 --> 00:34:55,660
So, I mean, one of the, one of the ones we, we took were, um, what do we, um, I'm sorry, my mind's gone blank.

407
00:34:56,040 --> 00:34:57,100
We talked about this already.

408
00:34:58,100 --> 00:34:58,420
Um.

409
00:34:58,820 --> 00:34:59,840
Oh, was it the age thing?

410
00:34:59,920 --> 00:35:02,120
The age, uh, one that you don't have here is age.

411
00:35:02,240 --> 00:35:04,760
Looking at the demographics and that was interesting, I think.

412
00:35:04,820 --> 00:35:04,900
Yeah.

413
00:35:04,960 --> 00:35:07,500
No, it was, it was actually about primary development platform.

414
00:35:07,640 --> 00:35:08,100
Oh yes.

415
00:35:08,520 --> 00:35:15,820
Uh, maybe this isn't a surprise, but you know, smaller organizations are more likely to have just one, one development platform.

416
00:35:16,320 --> 00:35:22,640
So when we talk to smaller organizations using Spring Boot, that's likely it, that's likely all they use.

417
00:35:22,740 --> 00:35:23,000
Huh.

418
00:35:23,000 --> 00:35:30,680
And as the organization gets bigger, um, then, you know, maybe it's a departmental thing and we see this, Coté, you must have seen this.

419
00:35:30,780 --> 00:35:33,920
You know, there's some, some folks choose .NET, some choose Java.

420
00:35:34,080 --> 00:35:37,700
And so as an organization, they have more, more choices.

421
00:35:38,340 --> 00:35:38,700
Yeah.

422
00:35:38,760 --> 00:35:41,300
I was going to, I saw that in one of the previous slides, right.

423
00:35:41,340 --> 00:35:51,080
And I had, I had a scratched note for myself to ask you all about the concept of, you know, tool sprawl or platform sprawl and the dangers of that.

424
00:35:51,080 --> 00:35:56,120
If there are, uh, it's not so much spring focus, but what's, what's our thinking on that?

425
00:35:56,180 --> 00:35:57,220
Uh, is that a real problem?

426
00:35:57,340 --> 00:35:59,320
Is that something that large organizations need to deal with?

427
00:35:59,320 --> 00:36:02,560
Or is it just do the thing that's the best thing to get your job done?

428
00:36:03,200 --> 00:36:06,080
So how do we, how do we, uh, balance that out?

429
00:36:06,140 --> 00:36:14,020
The tools that are for the jobs to be done versus like, you know, uh, um, consolidating onto one platform.

430
00:36:14,660 --> 00:36:15,100
Yeah.

431
00:36:15,180 --> 00:36:21,340
I mean, one of the things that we, we, we surveyed was a bunch of technologies that are kind of around spring.

432
00:36:21,340 --> 00:36:24,500
And I'm, I'm not sure we, it made it into this, into this report.

433
00:36:25,000 --> 00:36:29,240
Um, but there is a huge fan base for Python among spring boot developers.

434
00:36:29,540 --> 00:36:39,060
That doesn't mean that they're, you know, they're becoming, um, not just loyal, but they're, they're, they're moving away from spring boot, but it's the right tool for the job.

435
00:36:39,880 --> 00:36:49,200
And while they're using spring boot to actually build corporate applications, you know, for when it comes to data science or, um, or maybe some tactical apps, Python is really productive.

436
00:36:49,740 --> 00:36:53,080
Um, and so it's, you know, it's another, it's another tool they have on their belt.

437
00:36:53,640 --> 00:36:56,760
I mean, so I have a little bit of a controversial question here.

438
00:36:56,840 --> 00:37:01,000
Maybe it's not so controversial, but let's talk about support for other languages in spring.

439
00:37:01,120 --> 00:37:05,120
I mean, well, could we ever see a day that spring will be polyglot?

440
00:37:05,180 --> 00:37:05,820
I mean, don't get me wrong.

441
00:37:05,860 --> 00:37:07,880
Again, I have my little dukes right here.

442
00:37:08,000 --> 00:37:09,040
I'm not going to go too crazy.

443
00:37:09,200 --> 00:37:10,660
I love Java, but, uh.

444
00:37:12,360 --> 00:37:17,420
So to a certain extent, you know, we already have parts of spring that are polyglot.

445
00:37:17,420 --> 00:37:23,560
So really good examples would be spring cloud gateway and, uh, spring cloud data flows.

446
00:37:23,640 --> 00:37:39,880
So, you know, the idea of a, of an API gateway is that it doesn't, you know, your APIs are, for example, delivered via HTTP, which is, you know, completely agnostic of any one particular development environment.

447
00:37:39,880 --> 00:37:58,160
So the things that the spring cloud gateway can do around routing and filtering and, uh, you know, dynamically, uh, helping you to provide these APIs, it doesn't really care whether the implementation of those is a spring implementation or something else.

448
00:37:58,520 --> 00:38:13,080
Similarly, with, uh, with data flow, you know, the, the data that's flowing through the application and the microservices that are dealing with the processing of that data, it too does not care so much about how they are implemented.

449
00:38:13,080 --> 00:38:16,020
It just cares about what the API is that they offer.

450
00:38:16,580 --> 00:38:24,540
So we already have parts that are very cognizant of the fact that it's a very fragmented world.

451
00:38:24,760 --> 00:38:33,920
You know, there's an awful lot of stuff going on and it would be churlish of us to, uh, to, to be too prescriptive about how these things should be.

452
00:38:35,540 --> 00:38:46,420
So, uh, so, uh, just a couple more things that we can wrap up, but the, you also asked about, uh, containerization and, uh, you know, if people are running things on Kubernetes or not.

453
00:38:46,480 --> 00:38:49,160
So what was the, what was the state you determined there?

454
00:38:50,300 --> 00:39:05,520
Yeah, again, shocking numbers, uh, which point I think I'm, I'm giving away the, uh, the punchline here, but the, the state of, uh, of Kubernetes to coin a phrase again, but just, you know, just the plans.

455
00:39:05,540 --> 00:39:07,020
And the, the rapid migration there.

456
00:39:07,140 --> 00:39:09,260
So we asked about this in two steps.

457
00:39:09,800 --> 00:39:13,820
Um, we first asked about, you know, are you putting your Spring Boot apps into a container?

458
00:39:14,600 --> 00:39:18,980
Um, and then we asked about plans to put those containers, deploy those containers to Kubernetes.

459
00:39:19,660 --> 00:39:29,300
Um, and, and so, um, the number here is 95% of the folks we surveyed said they either were, um, containerizing or they plan to containerize.

460
00:39:29,500 --> 00:39:31,180
And I can break that down.

461
00:39:31,340 --> 00:39:33,260
Uh, yeah, it's in the text again.

462
00:39:33,520 --> 00:39:36,680
65% of Spring Boot apps are already going into containers.

463
00:39:37,020 --> 00:39:44,180
So there's another 30% that, you know, are on the plan or on the backlog and are going to be moved into containers.

464
00:39:44,980 --> 00:39:50,820
So, you know, as a working assumption for the Spring Team, it's like, yeah, we're, the apps are going to be containerized.

465
00:39:51,300 --> 00:39:54,860
Um, that's, that's, that's what we should optimize for.

466
00:39:55,500 --> 00:39:59,920
And did you, did you, uh, did you also ask around like where else things run?

467
00:40:00,060 --> 00:40:02,680
Like, it seems like Tomcat always comes up.

468
00:40:02,920 --> 00:40:08,480
Was that, I mean, that, that must've, uh, shown up here and there or other things, but what are other methods, other things people deploy on?

469
00:40:10,920 --> 00:40:12,000
I'm going to defer to Ben.

470
00:40:12,920 --> 00:40:24,640
Well, yeah, we did see, uh, we did see, uh, we did see in some instances of that kind of traditional style of usage where you would take an application server, you would package up into a, into a wall.

471
00:40:24,640 --> 00:40:30,920
And then you would deploy that alongside other applications, also sitting on the same application server.

472
00:40:31,040 --> 00:40:31,940
We did see that.

473
00:40:32,500 --> 00:40:40,060
Um, but what's, uh, interesting is that that number didn't, you know, it wasn't, it wasn't huge.

474
00:40:40,540 --> 00:40:47,660
Um, we see a lot of folks using the built-in packaging, uh, jar packaging of spring boot.

475
00:40:47,660 --> 00:40:52,860
So a lot of folks like that because it packages up the Tomcat with the application.

476
00:40:52,860 --> 00:40:54,140
So it becomes embedded.

477
00:40:54,440 --> 00:41:00,220
So you don't have to then go and find another Tomcat and provision infrastructure for that.

478
00:41:00,320 --> 00:41:01,300
You already have it.

479
00:41:01,300 --> 00:41:05,940
And your application can sit in isolation, which is great for microservices.

480
00:41:06,400 --> 00:41:18,040
And then of course, uh, with, with Kubernetes, it's the containerization of that, that really opens up the door to it being deployable anywhere with any cloud provider.

481
00:41:18,040 --> 00:41:23,620
You know, all of them offer a very good, um, Kubernetes substrate.

482
00:41:23,620 --> 00:41:29,040
So you could, you could see, uh, how folks were starting to leverage that.

483
00:41:29,040 --> 00:41:36,560
And that's what surprised us the most was that the, the amount of folks leveraging Kubernetes was higher than we'd expected.

484
00:41:37,640 --> 00:41:46,840
But also it kind of, you know, if you're reading this survey for the first time and you're looking through it, it's also an indication of, you know, are you on the right path?

485
00:41:46,840 --> 00:41:56,600
If so many other people are doing this, um, you know, should you be considering it, um, as more of a priority perhaps than it currently is?

486
00:41:56,600 --> 00:41:59,420
Because, uh, it's, uh, it's clearly moving in that direction.

487
00:41:59,700 --> 00:42:00,020
Yeah.

488
00:42:00,200 --> 00:42:00,440
Yeah.

489
00:42:01,320 --> 00:42:03,700
And spring has some great tools to help you with that.

490
00:42:03,700 --> 00:42:17,200
You know, we can, you can build a container image in a few seconds with, uh, the build image, um, uh, tasks that we have inside the Maven and Gradle, uh, plugins for building spring boot apps.

491
00:42:17,200 --> 00:42:24,600
So you can get a container image without even using a Docker file, which I genuinely much prefer.

492
00:42:24,820 --> 00:42:32,000
If you've ever had to maintain 50 or so Docker files, you wouldn't really wish that on your worst enemy.

493
00:42:32,340 --> 00:42:32,860
Right, right.

494
00:42:32,980 --> 00:42:39,760
And so I'm very happy that, you know, there's an alternate trustworthy mechanism now built into, to spring boot.

495
00:42:39,940 --> 00:42:40,220
Yeah.

496
00:42:40,300 --> 00:42:50,120
You know, you know what I'm, what I've, when I was looking over this, this part, what it made me remember that one of the things I'm interested in, I don't know, I guess I could be excited about it.

497
00:42:50,120 --> 00:43:09,400
I mean, you know, that's not embarrassing, but what I'm sort of excited to see over the next, I don't know, let's say year or so, or some short amount of time is, you know, I've, I've like kind of gone out to the, and, and, uh, kind of picked up all these little threads about like how spring works well with Kubernetes.

498
00:43:09,400 --> 00:43:25,640
Like there's all these little hooks and things like you were saying, but I'm still, I'm still really interested in seeing sort of like the, uh, you know, the, the comprehensive writeup of how it integrates together, like a book sort of form of like, you know, spring for Kubernetes or whatever.

499
00:43:25,640 --> 00:43:36,520
And I think, you know, like, like I've talked with, uh, a couple of people in this forum, as it were about, uh, the programming model for Kubernetes.

500
00:43:36,800 --> 00:43:51,180
And I think, you know, it made me realize how much time has been spent in spring to just make it easy to map in that with something as easy as just like, you know, every time you deploy a container in Kubernetes, you need to have a health check to tell you if the thing should be, uh, restarted or not.

501
00:43:51,360 --> 00:43:56,840
And that's just like in spring as, and, and then also handing in the configuration.

502
00:43:56,840 --> 00:44:04,580
So it seems like there's like this marrying up of like, here's what the architecture of a Kubernetes application looks like.

503
00:44:04,720 --> 00:44:10,300
I don't know if you're supposed to say that in the Kubernetes people would be all upset that you're being that specific about things, but that's fine.

504
00:44:10,480 --> 00:44:15,100
I think, I think as they used to say, the street finds its own uses for enterprise architectures.

505
00:44:16,060 --> 00:44:17,180
Prescription is the new block.

506
00:44:17,300 --> 00:44:17,740
That's right.

507
00:44:18,360 --> 00:44:21,340
And so you've got like that architecture and it would be interesting to see,

508
00:44:21,360 --> 00:44:27,620
see how like, you know, here is, uh, here's how like a spring thing, like maps into that architecture really easily.

509
00:44:27,620 --> 00:44:29,400
Cause all the little bits and pieces are there.

510
00:44:29,540 --> 00:44:35,160
But I think to your point, that's what makes it, that's what makes using Kubernetes easy.

511
00:44:35,160 --> 00:44:41,900
If you've already like bundled up your stuff in spring, cause it's, there's not a lot of, uh, there's not a lot of glue that isn't dry already.

512
00:44:42,080 --> 00:44:44,080
I guess you don't want the glue to be dry, right?

513
00:44:44,080 --> 00:44:47,600
You want it to be flexible, but, uh, well-defined.

514
00:44:48,360 --> 00:44:48,840
Yeah.

515
00:44:49,300 --> 00:44:53,900
It's both, uh, Kubernetes ready, but also Kubernetes friendly.

516
00:44:54,120 --> 00:44:57,420
You know, you can, you can use as much or as little of it as you like.

517
00:44:57,980 --> 00:44:58,420
Yeah.

518
00:44:58,620 --> 00:45:10,820
And the shout out to our friends in Wavefront or Tanzu Observability, as it's known now, there's some free starters there that, that when you deploy on Kubernetes really, you know, give you a, um, a lot more insight what your apps are doing.

519
00:45:10,960 --> 00:45:17,360
It's not just Kubernetes, but generally, yeah, yeah, there's, there's, there's, there are more goodies coming out of that, that relationship.

520
00:45:17,900 --> 00:45:18,120
Yeah.

521
00:45:18,720 --> 00:45:19,320
I'm excited.

522
00:45:19,700 --> 00:45:19,900
Yeah.

523
00:45:19,900 --> 00:45:26,980
I think we're going to try and figure out that, figure out, share some of the insights we grok from Wavefront, uh, with folks.

524
00:45:27,180 --> 00:45:27,500
Yeah.

525
00:45:27,640 --> 00:45:35,880
So if anybody has any, uh, questions there about that, uh, I don't know, figure out, you could find us, the four of us on Twitter and say, Hey, I want to know more about this.

526
00:45:35,940 --> 00:45:37,580
What can Wavefront tell me or whatever.

527
00:45:38,040 --> 00:45:43,020
But actually, as we wrap up, uh, good segue there.

528
00:45:43,020 --> 00:45:45,160
I, I, uh, set myself up nicely.

529
00:45:45,160 --> 00:45:52,500
There is, you know, I want to ask John and Ben, uh, what questions do you wish you had asked, um, that you didn't?

530
00:45:52,580 --> 00:45:54,160
And, uh, you know, maybe we'll see next year.

531
00:45:54,620 --> 00:45:55,360
Oh my goodness.

532
00:45:55,360 --> 00:45:56,240
Where to start?

533
00:45:56,440 --> 00:46:07,980
You know, one of the challenges, and if you've ever done a survey, one of the challenges is that there are, so you want, once you have an audience, um, or folks that are willing to,

534
00:46:07,980 --> 00:46:11,200
to give you answers, you just want to keep them answering forever.

535
00:46:11,820 --> 00:46:19,420
Um, but we've all been on that survey where you get to a certain point and another screen comes up and you go, yeah, I'm kind of done here.

536
00:46:20,420 --> 00:46:28,440
Um, so we were, uh, kept very honest, I guess, with, uh, our research partner in terms of what was realistic.

537
00:46:28,580 --> 00:46:29,880
How many questions can you ask?

538
00:46:30,800 --> 00:46:37,920
Um, so they're trying to, and some of this is about, well, when you get the answers back, I wish I'd asked that question in a different way.

539
00:46:37,920 --> 00:46:53,280
Um, so trying to get specific, uh, there was stuff around cloud, you know, we had, we did, we, we got one slide on where people are deploying and it's kind of interesting to see public cloud versus hybrid on-prem.

540
00:46:53,280 --> 00:47:01,280
Um, but we didn't ask which clouds they were deploying to, you know, and we have a great relationship with the folks in Azure, with Azure Spring Cloud.

541
00:47:02,200 --> 00:47:05,940
Um, and maybe, um, and maybe kind of drilling into some of that space would be, would have been interesting.

542
00:47:06,720 --> 00:47:14,820
Um, drilling more into the, the kind of workloads folks are deploying on Spring, uh, figuring out what's, what's beneath those APIs.

543
00:47:15,360 --> 00:47:18,760
Um, those would be kind of my, um, those would be kind of my, my go-tos.

544
00:47:18,920 --> 00:47:20,040
Ben, how about you?

545
00:47:20,920 --> 00:47:23,860
I think there's lots of things I'd like to do.

546
00:47:23,980 --> 00:47:25,580
I think John's absolutely right there.

547
00:47:25,700 --> 00:47:32,520
There, there, there are some, you know, itches that we want to scratch next time around asking some questions differently.

548
00:47:32,760 --> 00:47:40,680
But also if we can maybe do it for longer and get a wider subsection, that would be great, um, as well.

549
00:47:40,680 --> 00:47:59,640
Cause you know, we, uh, we would really benefit, I think from, from even greater data and, uh, probably sort of drilling into Spring a little bit, you know, finding out more about the APIs that folks are actually using and how they're using them in combination with each other.

550
00:47:59,980 --> 00:48:03,940
So, yeah, it's the art of the possible.

551
00:48:04,080 --> 00:48:04,900
John's absolutely right.

552
00:48:04,980 --> 00:48:08,740
We didn't want to bore people to tears with a super long survey.

553
00:48:08,900 --> 00:48:09,140
Yeah.

554
00:48:09,420 --> 00:48:14,000
Um, and we, we got exactly one meg of respondents.

555
00:48:15,880 --> 00:48:19,300
I mean, for our first time, this is pretty good.

556
00:48:19,480 --> 00:48:19,740
So.

557
00:48:20,200 --> 00:48:22,480
Yeah, we, we, I think we did okay.

558
00:48:22,640 --> 00:48:22,820
Yeah.

559
00:48:22,840 --> 00:48:23,940
I think that was very good.

560
00:48:24,040 --> 00:48:26,000
So, uh, clearly we had a buffer overrun.

561
00:48:27,260 --> 00:48:32,540
When, when, when, uh, when Diane from dimensional came back and said, we had a thousand and 24 respondents.

562
00:48:32,540 --> 00:48:34,860
I'm like, that's, that sounds perfect.

563
00:48:36,180 --> 00:48:37,240
It's destiny.

564
00:48:42,160 --> 00:48:48,400
I think, I think we, you know, we, we could have gone either, either route because we had a lot of content.

565
00:48:48,400 --> 00:48:56,260
Uh, I've seen some competitors in slide mode that looked pretty thin and I'm thinking they didn't have much of a choice.

566
00:48:56,740 --> 00:49:03,680
So, so I'm going to go with, you know, we had a choice, but we went with kind of slide mode.

567
00:49:03,680 --> 00:49:10,420
And also, you know, these, these graphics tie in very nicely with the new spring website that spring.io.

568
00:49:11,740 --> 00:49:14,380
And I'll, I'll give you the truth, the real story.

569
00:49:14,440 --> 00:49:15,840
Ben's being very diplomatic here.

570
00:49:16,320 --> 00:49:25,460
And like there was, uh, so the state of Kubernetes, they took five weeks from having the results to actually publishing the report.

571
00:49:25,920 --> 00:49:29,760
Um, and I, and I, and I, and we wanted to publish this before SpringOne.

572
00:49:30,020 --> 00:49:31,060
So I had two weeks.

573
00:49:31,480 --> 00:49:38,860
So I basically, I got the same folks engaged that did the state of spring, the state of Kubernetes and said, let's do that again.

574
00:49:39,240 --> 00:49:45,880
Um, with as much reuse, let's not try and, you know, reinvent the thing so we can be agile and get this thing cranked out.

575
00:49:45,880 --> 00:49:49,080
And so the state of Kubernetes chose, uh, slide mode.

576
00:49:49,080 --> 00:49:50,200
So that's, that's why.

577
00:49:57,240 --> 00:50:00,900
No Europeans were harmed in the making of this.

578
00:50:03,400 --> 00:50:05,920
I still, I still class myself as a European.

579
00:50:06,260 --> 00:50:07,420
That's a whole other discussion.

580
00:50:10,160 --> 00:50:11,180
This is true.

581
00:50:11,480 --> 00:50:14,260
We had some good folks like Stefan Nicole in, in Belgium.

582
00:50:14,260 --> 00:50:24,220
And so he was very involved, you know, um, the whole spring team was kind of read into this to, you know, to make sure that they, uh, they concurred with it.

583
00:50:24,280 --> 00:50:25,260
And a lot of those folks.

584
00:50:28,500 --> 00:50:28,860
Yeah.

585
00:50:29,580 --> 00:50:30,540
Congratulations, you guys.

586
00:50:30,540 --> 00:50:31,140
Thanks.

587
00:50:32,220 --> 00:50:32,420
Bye.

588
00:50:32,660 --> 00:50:32,980
Bye now.
