1
00:00:00,000 --> 00:00:07,440
Well, you know, I just got from spending a week doing the old business traveling over there in Paris, which, you know, sounds luxurious.

2
00:00:07,760 --> 00:00:12,180
But I wanted to ask you this, Richard, and guest, if you care to weigh in.

3
00:00:12,180 --> 00:00:19,940
Now, when I get back from a long trip back here to Austin, the first thing I always usually do, there's two things I miss.

4
00:00:20,320 --> 00:00:21,200
Well, there's three things.

5
00:00:21,240 --> 00:00:27,240
The first thing I miss is like hearing Spanish spoken frequently, but that's, you know, not really in the same category as other stuff.

6
00:00:27,300 --> 00:00:29,620
So it's always nice to come here and then you start hearing Spanish.

7
00:00:30,000 --> 00:00:30,560
It's comforting.

8
00:00:30,980 --> 00:00:33,660
And I guess if you go to Spain, you don't have that problem.

9
00:00:33,820 --> 00:00:35,920
But other than a place where they speak Spanish.

10
00:00:36,420 --> 00:00:43,020
And then the next is like, you know, second, I like to go to a restaurant and just get free refills on drinks.

11
00:00:43,340 --> 00:00:44,300
That's always refreshing.

12
00:00:44,860 --> 00:00:47,320
And then also iced tea, unsweetened iced tea.

13
00:00:47,440 --> 00:00:49,060
Not always possible to get over there.

14
00:00:49,540 --> 00:00:54,420
And then third, it's good to get like a taco or some enchiladas or something like that.

15
00:00:54,480 --> 00:00:57,600
And I haven't done the third yet, but I'm almost acculturated back in.

16
00:00:57,600 --> 00:01:00,380
But I ask you one, maybe two.

17
00:01:00,800 --> 00:01:04,280
When you come back from a long trip, is there any sort of like comforting thing you do?

18
00:01:04,400 --> 00:01:08,340
Or does your mind just start rebelling at all the inanity of what it's like to be at home?

19
00:01:08,660 --> 00:01:11,760
I love that when you added number three, I thought you were going to say I get to see my family.

20
00:01:11,940 --> 00:01:15,040
So I'm glad that tacos actually feed that.

21
00:01:15,300 --> 00:01:16,320
So well done.

22
00:01:16,600 --> 00:01:18,500
Richard, tacos are my family.

23
00:01:18,920 --> 00:01:21,240
That's taco one, two, and three.

24
00:01:21,440 --> 00:01:22,520
Guacamole comes to visit.

25
00:01:22,720 --> 00:01:27,740
No, so no, my first thing, the best thing when I get on a trip is to get into my own car.

26
00:01:28,220 --> 00:01:35,040
It's just a moment of such relief when I'm not stuck in a taxi or whatever kind of car, especially in another country.

27
00:01:35,560 --> 00:01:37,200
That drive home is luxurious.

28
00:01:37,480 --> 00:01:44,600
You know, that is a good point because you're making me realize that every time I'm going back on the little airport shuttle in my car,

29
00:01:44,600 --> 00:01:46,440
I think, am I going to remember how to drive?

30
00:01:46,600 --> 00:01:49,140
Like it always feels like a little odd.

31
00:01:49,360 --> 00:01:49,840
That's true.

32
00:01:50,180 --> 00:01:50,600
That's true.

33
00:01:50,740 --> 00:01:52,060
How about yourself, special guest?

34
00:01:52,480 --> 00:01:55,720
Do you have any reacculturation comforts that you go to?

35
00:01:56,500 --> 00:02:02,880
I miss dim sum, so I always have to get my dim sum when I get back from a trip overseas.

36
00:02:02,880 --> 00:02:08,580
You go to the cart of surprisingly large bill, as I recall how that usually works out.

37
00:02:09,980 --> 00:02:15,500
But, yeah, you have no idea what the plate costs that they're presenting to you, but it looks good.

38
00:02:16,680 --> 00:02:20,420
Well, with that, why don't you introduce yourself briefly before we get to the news,

39
00:02:20,460 --> 00:02:24,900
and then we'll come back for more detail about your areas of interest and expertise.

40
00:02:25,340 --> 00:02:25,620
Sure.

41
00:02:26,000 --> 00:02:27,100
I'm Yui Cao.

42
00:02:27,100 --> 00:02:28,360
I work for Pivotal.

43
00:02:29,060 --> 00:02:31,160
I actually wear two hats.

44
00:02:31,560 --> 00:02:34,280
So at Pivotal, I'm a director of product.

45
00:02:34,520 --> 00:02:39,920
I'm responsible for basically the elastic runtime tile and the things that go inside that.

46
00:02:40,240 --> 00:02:45,540
And I also, with the Cloud Foundry Foundation, I wear the Runtime EMC Lead Hat,

47
00:02:45,700 --> 00:02:47,900
and I help out with those projects.

48
00:02:48,120 --> 00:02:52,420
And amazingly, there's a lot of overlap between those two hats, so that's what I do.

49
00:02:52,600 --> 00:02:52,920
Yeah.

50
00:02:53,220 --> 00:02:57,860
It's always fun to meet a new hat rack person who's running around with multiple things.

51
00:02:57,860 --> 00:03:04,160
Well, we'll get to details of a lot of what, I don't know, the full VIN diagram of your hats is.

52
00:03:04,420 --> 00:03:08,100
Maybe we'll figure out if they're caps or other types of hats.

53
00:03:08,480 --> 00:03:10,140
But before that, there's just a few news items.

54
00:03:10,140 --> 00:03:11,500
There's not a lot going on this week.

55
00:03:11,900 --> 00:03:15,740
I think I was waking up this morning having my coffee.

56
00:03:17,540 --> 00:03:23,460
And it looks like Microsoft purchased, I guess you would call it a divestiture from Engine Yard,

57
00:03:23,460 --> 00:03:27,440
although their association's not so clear in all the stuff here, even though it is clear.

58
00:03:28,040 --> 00:03:29,280
But they bought, how do you say it?

59
00:03:29,320 --> 00:03:29,600
Dees?

60
00:03:30,360 --> 00:03:30,760
Dees.

61
00:03:31,000 --> 00:03:31,400
Dees.

62
00:03:31,640 --> 00:03:32,180
There you go.

63
00:03:32,180 --> 00:03:33,400
A godlike company.

64
00:03:33,820 --> 00:03:38,980
Now, I learned a lot more about them reading up on this news this morning than I've known in a while.

65
00:03:39,080 --> 00:03:44,980
My main knowledge of them is that they did like a Paz thing a while ago, and they have excellent socks at conferences.

66
00:03:45,540 --> 00:03:52,400
People who have even better socks are the, who's the SSD company that has some fire name?

67
00:03:52,700 --> 00:03:53,060
SolidFire.

68
00:03:53,220 --> 00:04:00,540
They have the best socks at DevOps days, but the god company, even better socks.

69
00:04:00,920 --> 00:04:07,480
But it looks like, in addition to hiring like a, other words I can't pronounce, a Kubernetes person back in July,

70
00:04:07,480 --> 00:04:09,960
and no doubt some other people over at Microsoft.

71
00:04:10,660 --> 00:04:19,320
Now they've got like, you know, I haven't used it firsthand, but it seems to have evolved into a Kubernetes orchestration layer,

72
00:04:19,680 --> 00:04:21,880
along with the registry and some other things in there.

73
00:04:22,020 --> 00:04:27,020
So I think we were noting this on my other podcast, Software Defined Talk, a couple episodes ago,

74
00:04:27,100 --> 00:04:34,100
that pretty much everyone, as it were, is on the whole Kubernetes train, except, of course, our buddies over at Amazon.

75
00:04:34,340 --> 00:04:38,560
So maybe there'll be the lone holdout to be pretty deeply involved in that.

76
00:04:38,560 --> 00:04:43,640
Yeah, I mean, if you're Microsoft, it seems like you're just, you know, I don't know, hoarding assets at this point.

77
00:04:43,780 --> 00:04:46,180
They support, they've invested in Cloud Foundry.

78
00:04:46,280 --> 00:04:48,580
They've obviously done a lot in the Kubernetes space.

79
00:04:48,720 --> 00:04:52,680
They've, you know, messed around with lots of good platforms, Mesos, others, Docker.

80
00:04:52,940 --> 00:04:55,240
So I think they're just not picking any winners.

81
00:04:55,480 --> 00:04:57,780
They're going to offer their customers virtually everything.

82
00:04:57,920 --> 00:05:00,960
And I'm assuming in this case, I don't know if they would rebrand and resell this.

83
00:05:01,020 --> 00:05:03,200
Do they just want to use the IP to make Azure better?

84
00:05:03,320 --> 00:05:04,180
Is it an acqui-hire?

85
00:05:04,800 --> 00:05:05,960
Could be a lot of those things.

86
00:05:06,280 --> 00:05:09,720
But, you know, either way, Microsoft's getting pretty credible in this space.

87
00:05:09,900 --> 00:05:13,700
And while I don't see a lot of opinions coming out of them about any of this,

88
00:05:13,820 --> 00:05:16,440
it seems like they're just willing to offer lots of different things.

89
00:05:16,840 --> 00:05:20,180
Yeah, maybe they'll put some little Microsoft logos on their socks or upgrade.

90
00:05:20,240 --> 00:05:20,600
That's a given.

91
00:05:21,000 --> 00:05:22,900
You know, no one really gives away hoodies that much.

92
00:05:23,080 --> 00:05:24,460
I guess they are like $30 or $40.

93
00:05:24,940 --> 00:05:25,940
So they're very expensive.

94
00:05:26,160 --> 00:05:27,960
Yeah, it's like those water bottles we did at SpringOne.

95
00:05:28,340 --> 00:05:32,220
You know, I promptly lost mine like three weeks later in Phoenix.

96
00:05:32,480 --> 00:05:35,440
I had to get up at like 3 a.m. for a flight, and I guess I just left it.

97
00:05:35,500 --> 00:05:40,580
I think I had a black one, and it must have blended in with the little hotel table that I was there.

98
00:05:40,900 --> 00:05:41,740
Those are excellent.

99
00:05:42,040 --> 00:05:47,940
So, yeah, you know, I was looking through one of their – it's actually a January 2016 framework.

100
00:05:48,400 --> 00:05:57,080
And I know that you, Richard, are a connoisseur of cloud platform diagrams, and they have a pretty good one that's worth checking out.

101
00:05:57,200 --> 00:05:57,760
Yeah, I saw that.

102
00:05:57,920 --> 00:05:59,220
I saw you tweeting about it as well.

103
00:05:59,320 --> 00:06:01,160
That's a good hamburger stack, I believe you –

104
00:06:01,160 --> 00:06:03,640
Yeah, yeah, I used to call those burger stacks.

105
00:06:04,560 --> 00:06:06,820
But we have a new diagram out too, right?

106
00:06:06,980 --> 00:06:08,360
Or you were sending one around.

107
00:06:08,420 --> 00:06:09,320
Is that one public yet?

108
00:06:09,500 --> 00:06:10,120
We do, yeah.

109
00:06:10,180 --> 00:06:13,760
It's actually – I think it's up on our new Pivotal Cloud Foundry page.

110
00:06:13,800 --> 00:06:24,560
So it's not news per se, but if you do go to pivotal.io slash platform, there's an entirely new and refreshed PCF page that, I don't know, shockingly tells you what the product does, which is always good in the product pages.

111
00:06:24,560 --> 00:06:33,980
And I always like the sort of Hipstertron color palette, sort of like dark black blue with some, like, little lines from the light bikes and everything.

112
00:06:34,420 --> 00:06:35,320
It's well done.

113
00:06:35,340 --> 00:06:37,360
Right. You stare at it long enough, it actually does start moving.

114
00:06:37,640 --> 00:06:39,420
So that's key.

115
00:06:39,480 --> 00:06:42,700
So, yeah, it's a great new visualization of what PCF really is.

116
00:06:42,780 --> 00:06:44,000
Definitely encourage you to check that out.

117
00:06:44,040 --> 00:06:46,460
You'll see us inject that into a lot of stuff now.

118
00:06:46,660 --> 00:06:46,900
Yeah.

119
00:06:47,060 --> 00:06:48,500
Who fights for the user indeed.

120
00:06:48,740 --> 00:06:53,100
So, also, I think there's two items that I ended up grouping together here.

121
00:06:53,200 --> 00:07:01,400
One, there was the usual, but always useful because it updates the numbers, capital spend on top cloud companies.

122
00:07:02,000 --> 00:07:02,560
And what was it?

123
00:07:02,700 --> 00:07:05,640
In 2016, there was like, we'll just round up.

124
00:07:05,880 --> 00:07:08,960
There was basically $32 billion in spending building out.

125
00:07:09,100 --> 00:07:13,840
I assume there are various hardware and maybe real estate.

126
00:07:13,960 --> 00:07:14,460
I don't know how.

127
00:07:14,600 --> 00:07:15,520
I'm no accountant.

128
00:07:15,780 --> 00:07:17,120
I don't know how that all gets counted.

129
00:07:17,580 --> 00:07:21,120
But it said it was basically up 22% from last year.

130
00:07:21,120 --> 00:07:29,900
So, there's just a continuous, I think the word might be onslaught, of just like building up these machines out there.

131
00:07:30,120 --> 00:07:30,340
Yeah.

132
00:07:30,420 --> 00:07:31,120
I mean, it's pretty amazing.

133
00:07:31,220 --> 00:07:33,160
That article was a fun read.

134
00:07:33,320 --> 00:07:38,840
Some smart sounding fellow said that, you know, game over for anyone trying to get into this market as general purpose.

135
00:07:38,920 --> 00:07:44,500
And even if you are kind of in it, whether you're Oracle or IBM or others, AP obviously got out.

136
00:07:44,580 --> 00:07:46,460
VMware got out, as we talked about last week.

137
00:07:46,580 --> 00:07:48,720
Rackspace is, I guess, kind of out.

138
00:07:49,140 --> 00:08:04,400
So, it's tough to be in public cloud if you're not one of the big three if you can't either find a really specific niche to work in or that you can simply somehow out-compete these large providers by being more efficient or some other innovative way.

139
00:08:04,980 --> 00:08:13,380
So, it just, I think, continue to double down on things we talked about last week and things we all see is that these big three are just plowing money into facilities and capital.

140
00:08:13,380 --> 00:08:24,520
And to your point, you know, I think we mentioned last week, like, the Rackspace's CEO's comments on not competing in public cloud where they would have, like, 300 million free a year to spend on other things.

141
00:08:24,760 --> 00:08:32,520
And, I mean, clearly, if you're competing with someone who's spending, I mean, if you divide, let's say, I think the Amazon figure was at least 10 billion they spent.

142
00:08:32,520 --> 00:08:39,760
Like, your 300 million twig is going to be difficult against that, I don't know, concrete monolith.

143
00:08:40,420 --> 00:08:42,260
It's a difficult game to get involved in.

144
00:08:42,460 --> 00:08:49,700
Yeah, the end of that article has a quote from the fellow who runs infrastructure at Google saying each of their regions cost between 300 and 600 million.

145
00:08:49,860 --> 00:08:52,600
It seems like a big range, but that's a lot of money.

146
00:08:52,600 --> 00:08:59,560
And then the other one, one of my old friends from the systems management world was linking to this earlier today.

147
00:08:59,740 --> 00:09:02,080
Of all places, there was a Reuters story.

148
00:09:02,480 --> 00:09:06,300
I don't know how this got on the editorial agenda for them, but it's awfully specific.

149
00:09:06,440 --> 00:09:12,720
But it was going over kind of the predicting doom in large banks, rewriting all their COBOL programming.

150
00:09:12,900 --> 00:09:17,860
Now, I always have to remember COBOL ends in an O, not an A, but, you know, I've got to verify that.

151
00:09:18,320 --> 00:09:28,440
But there was an interesting use case in there of, I think it was the Commonwealth Bank of Australia, that in 2012, they spent about $700 million rewriting all of their old COBOL stuff.

152
00:09:28,440 --> 00:09:36,280
And I thought that was interesting because, you know, most people we work with in Pivotal and in Cloud Native land are these large organizations.

153
00:09:36,660 --> 00:09:46,160
And, you know, if you extend out the math or so, depending on if you, I always like to round down for estimates, like not round down, but take a, you know, go down to like 500 million instead of 700 million.

154
00:09:46,160 --> 00:09:54,560
But if you multiply that across 20 or so banks, and that's like 10 or $15 billion in spending, which, you know, as I like to say, I think we can all agree on money.

155
00:09:54,920 --> 00:10:09,540
But it is an interesting, like, an interesting look at the sheer quantity of, I don't know, enterprise software out there and the huge opportunity for like all of the types of stuff we talk about to convert it over to that way of doing things.

156
00:10:09,600 --> 00:10:11,520
And I guess there'll be some COBOL left over.

157
00:10:11,740 --> 00:10:13,420
There's always like old stuff left.

158
00:10:13,520 --> 00:10:21,860
Yeah, I mean, I think at the IBM event a couple weeks ago, they were still using the number, which had seemed like it's been updated in a while, but like 90% of the world's data is on mainframes.

159
00:10:21,980 --> 00:10:24,040
I mean, it was some insane number.

160
00:10:24,420 --> 00:10:25,400
And I've seen that for years.

161
00:10:25,480 --> 00:10:29,700
And I don't know if that's just not changing or what's going on, but a lot of data is on mainframes.

162
00:10:29,860 --> 00:10:38,980
I was at an event and spoke a couple weeks ago, the integration event, and it reminded me how much EDI still runs communication between most companies as they transfer data.

163
00:10:38,980 --> 00:10:42,400
Like, it's easy for us to think about microservices and queuing and Kafka.

164
00:10:42,760 --> 00:10:49,920
Let's remember most data goes through things like EDI and gets stored in the mainframe and maybe sometimes reset ourselves about all the new hotness.

165
00:10:50,100 --> 00:11:11,220
Yeah, I mean, it reminds me, I visited a large company when I was in Paris last week and they had, I don't know, I think this question is more frequent or probably be more frequent over the next year and coming years is essentially, how do we order our now becoming legacy application portfolio and decide which things to start rewriting first and the quantity of it?

166
00:11:11,440 --> 00:11:12,440
Everyone has a lot.

167
00:11:12,440 --> 00:11:17,080
Everyone has a lot of trepidation, but clearly that's a huge thing on the agenda over the next five years or so.

168
00:11:17,500 --> 00:11:19,560
I mean, I guess, I don't know if it's true or not.

169
00:11:19,820 --> 00:11:22,540
I guess you're always in theory needing to rewrite your stuff.

170
00:11:22,980 --> 00:11:28,940
But at any given day, it seems like you haven't been actually rewriting your stuff enough and you feel overwhelmed by it.

171
00:11:29,080 --> 00:11:31,620
But hints are the shackles of success.

172
00:11:32,000 --> 00:11:32,380
Yeah, sure.

173
00:11:32,460 --> 00:11:40,960
One of the best descriptions I've seen lately of microservices is, you know, back in service-oriented architecture, Coté, our mid-2000 days, a lot of focus on things like reuse.

174
00:11:41,140 --> 00:11:43,560
And the focus on microservices actually is replaceability.

175
00:11:43,900 --> 00:11:45,580
Like, how easy is it to replace things?

176
00:11:46,040 --> 00:11:47,420
And that's just a different way of thinking.

177
00:11:47,520 --> 00:11:55,520
But to your point, if you're always going to be evolving your stuff, how easy are you making it to replace individual components versus entire $100 million systems?

178
00:11:55,700 --> 00:11:57,720
I would think flexibility matters there.

179
00:11:57,720 --> 00:12:01,740
I like that focus more on carving things up for replaceability, not just reuse.

180
00:12:02,080 --> 00:12:02,380
All right.

181
00:12:02,440 --> 00:12:03,980
So let's jump into you.

182
00:12:04,040 --> 00:12:09,660
I want to chat with you a little more about kind of your role on your multiple hats, as Coté mentioned.

183
00:12:09,880 --> 00:12:16,400
I don't know, part of me really wanted to focus on some of the open-source governance piece, because I think sometimes these things are seen as a black box.

184
00:12:16,580 --> 00:12:22,600
Or even though it's open-source, it's seen as, well, you know, Pivotal does all this work, and it's not really an open-source project or whatever.

185
00:12:22,980 --> 00:12:26,860
So I just thought it'd be fun to chat with you about kind of what makes up Cloud Foundry.

186
00:12:26,920 --> 00:12:28,040
What is that experience like?

187
00:12:28,080 --> 00:12:32,100
So I thought I'd start with this kind of question of, if you look at Cloud Foundry, you think of it as a thing.

188
00:12:32,640 --> 00:12:34,560
But in reality, it's not just a thing.

189
00:12:34,660 --> 00:12:38,300
It's a set of, what, a couple dozen projects that make up the whole thing?

190
00:12:38,300 --> 00:12:43,940
And can you tell us a little bit about how Cloud Foundry is arranged and what makes up the platform as projects?

191
00:12:44,260 --> 00:12:45,800
Yeah, I'm happy to.

192
00:12:46,320 --> 00:12:54,980
Right now, Cloud Foundry is arranged into four different PMCs, Project Management Councils.

193
00:12:55,400 --> 00:13:01,560
The main ones are BOSCH, and that contains core BOSCH and all of the BOSCH CLIs.

194
00:13:02,560 --> 00:13:12,900
There's the runtime PMC, which contains most of the core bits from UA to Cloud Controller to Garden to the CLI.

195
00:13:13,040 --> 00:13:25,360
And then there's the extensions PMC, which is really a holding place where we'd like to nurture projects that have extension points on top of the core runtime.

196
00:13:25,360 --> 00:13:33,340
And then additionally, our newest PMC is the Open Service Broker API working group.

197
00:13:33,860 --> 00:13:44,380
And they've been kind of collaborating with the Kubernetes Red Hat community there on a service broker model that we can do there.

198
00:13:44,780 --> 00:13:46,800
And these are all very DevOps, right?

199
00:13:46,840 --> 00:13:48,020
I mean, these are independent teams.

200
00:13:48,120 --> 00:13:49,520
They all have different leads, I believe.

201
00:13:50,040 --> 00:13:53,540
So, I mean, these are all fairly independent units that come together to collaborate.

202
00:13:53,660 --> 00:13:54,060
Is that right?

203
00:13:54,720 --> 00:13:54,980
Yeah.

204
00:13:55,240 --> 00:13:59,080
They're all very independent teams with different PMs.

205
00:13:59,140 --> 00:14:03,040
We certainly have teams that are geared towards integration.

206
00:14:03,180 --> 00:14:23,440
So, we have a release integration team in the runtime PMC that, you know, basically helps with the tooling and how all of these teams contribute to, you know, a more or less a blessed set of releases that we believe work together, that we can tell the community.

207
00:14:23,680 --> 00:14:35,500
These sets of releases we believe work together, and we can provide you some tooling to help you figure out, well, if you need to change one of the releases within, how can you test that out?

208
00:14:35,640 --> 00:14:37,280
What sets of tests can you run?

209
00:14:37,760 --> 00:14:39,360
And how can you put that together?

210
00:14:39,640 --> 00:14:42,740
That's one of our main integration teams.

211
00:14:43,160 --> 00:14:50,300
We have an infrastructure team that works on some of the shared components like etcd and console.

212
00:14:50,300 --> 00:15:04,080
So, while each of the individual component teams function independently and the UAA team can prioritize UAA-related things, there's a lot of cross-cutting things that come up.

213
00:15:04,420 --> 00:15:10,460
And we all kind of work together to try to support each other in getting our next big feature out.

214
00:15:10,560 --> 00:15:11,880
How do you work that?

215
00:15:12,000 --> 00:15:17,020
So, I mean, that particular part, did the infrastructure teams and things like that, were they organic?

216
00:15:17,020 --> 00:15:23,360
Did they come up after a while where you realized that, I mean, your group here sits at the guts of what Cloud Foundry is.

217
00:15:23,400 --> 00:15:27,000
So, clearly, you can break everybody if you don't do things the right way.

218
00:15:27,100 --> 00:15:29,020
So, did that stuff just kind of emerge?

219
00:15:29,220 --> 00:15:30,540
Did you set that up in the beginning?

220
00:15:30,700 --> 00:15:41,640
How did you make sure that when you're making changes to these fundamental pieces of Cloud Foundry that a component like a metrics component in PCF or another component in Bluemix or whatever doesn't collapse?

221
00:15:41,720 --> 00:15:44,000
How do you keep it in sync and how did that come to be?

222
00:15:44,300 --> 00:15:49,020
So, we keep it in sync with a lot of testing, a lot of pipelines, a lot of integration.

223
00:15:50,080 --> 00:16:01,420
This kind of grew out of, there used to be literally a single runtime team that took care of DEAs, HM9000.

224
00:16:02,360 --> 00:16:05,000
We're now replacing all of those components.

225
00:16:05,000 --> 00:16:21,100
But there used to be literally one team that was maintaining all of this, a four-pair team that would cut across five or six different code bases and three or four different languages and still cut the release and work with the PWS team to get that deployed.

226
00:16:21,780 --> 00:16:29,380
And we found that, you know, we just spent a lot of time trying to keep the lights on and not being able to move forward.

227
00:16:29,600 --> 00:16:32,900
So, we started looking at, well, where are some dividing lines?

228
00:16:33,080 --> 00:16:39,460
Where can we, where are some natural boundaries where we can divide up the responsibilities?

229
00:16:39,800 --> 00:16:50,280
And I think the trust that we have in each other to keep moving forward and keep shipping, that kind of grows from starting with that small little team.

230
00:16:50,380 --> 00:17:01,080
I mean, I think I've seen slides from you or Ansi, who heads up engineering, kind of show like, hey, we had these few teams and it kind of exploded to here and now it's geographically all over the place and things like that.

231
00:17:01,160 --> 00:17:05,640
So, as you do think about that, I mean, how do you work on that communication piece?

232
00:17:05,700 --> 00:17:12,580
How do you make sure that teams that are distributed geographically kind of working for the most part in the same, hopefully, sprint cycle?

233
00:17:12,660 --> 00:17:16,560
I mean, you tell me if these teams typically work in the same rhythm, but is there a communication?

234
00:17:16,700 --> 00:17:17,800
Do you have a daily stand-up?

235
00:17:17,800 --> 00:17:19,900
How do you make sure that teams do stay in sync?

236
00:17:20,260 --> 00:17:22,920
There's a variety of mechanisms that we have.

237
00:17:23,080 --> 00:17:29,260
We've got each of the individual teams, they've got a daily stand-up for themselves.

238
00:17:30,100 --> 00:17:41,100
Some of the teams that are closer to each other, the Diego Garden Container Networking, have their own weekly sync-up where they talk about some cross-cutting things.

239
00:17:42,000 --> 00:17:50,140
I have a weekly meeting with each of the teams to talk with them about the health of the team, if there's any,

240
00:17:50,140 --> 00:18:01,580
any blocking issues that they're facing from other teams and what are their next big things that they'd like to work on and get some visibility or help with from the other projects.

241
00:18:01,800 --> 00:18:22,740
We have, in the runtime PMC, we have in the runtime PMC, a biweekly meeting where we just talk about, the project leads talk about what they've worked on in the past couple of weeks, what their new tracks of work are, and publishing that very publicly on CFDev, our mailing list for wider collaboration.

242
00:18:22,740 --> 00:18:35,500
And then we also have a monthly call that's open to the wider community to ask us whatever questions they want about what we're doing and how we do things.

243
00:18:35,900 --> 00:18:46,060
So when you're sorting through, I guess as we would say around Pivotal, the backlog of requests from all these different people, I mean, I guess you're sort of like there's at least three constituencies.

244
00:18:46,620 --> 00:18:49,960
Y'all are sort of managing requests from one yourselves, right?

245
00:18:50,000 --> 00:18:50,720
That's always fun.

246
00:18:51,160 --> 00:19:04,400
And like you're saying, kind of identifying like, well, we spend a lot of time self-managing, so we should figure out fixing that, kind of standardizing things and not having all these different internal scaffolding we have to maintain.

247
00:19:04,600 --> 00:19:05,760
I don't know, just to pick one example.

248
00:19:06,160 --> 00:19:10,580
And then there are the various vendors that use Cloud Foundry.

249
00:19:10,680 --> 00:19:19,580
And then I guess also to some extent, other commercial interests, you know, system integrators and others, and even end users who are doing things.

250
00:19:19,760 --> 00:19:32,000
And then I guess there's sort of like the third bucket, which is part of that as well, sort of the actual end users of Cloud Foundry stuff, but also individuals who are interested in it.

251
00:19:32,000 --> 00:19:36,460
And like, I don't know, what's the general thinking y'all go through when you're prioritizing things?

252
00:19:36,780 --> 00:19:47,560
There's, it's pretty complicated, because there's a lot of different stakeholders with different opinions and different abilities to influence that.

253
00:19:48,280 --> 00:19:53,480
There's certainly table stakes around addressing security issues.

254
00:19:54,360 --> 00:20:03,040
And that's important to the community and to foundation members who are producing their own distributions, right?

255
00:20:03,260 --> 00:20:07,340
That's just table stakes and pretty easy to prioritize those sorts of things.

256
00:20:08,080 --> 00:20:17,280
And then there's stability, you know, is, are we having issues in terms of scaling so-and-so component?

257
00:20:18,360 --> 00:20:25,760
AWS has a certain workload, and that certain workload is causing components to fall over, so how can we address that?

258
00:20:25,820 --> 00:20:31,940
Or Bluemix is having certain scaling issues because they have a lot of different users on their environment.

259
00:20:32,400 --> 00:20:40,900
So those kinds of things are pretty easy to prioritize, the security and stability, keeping the lights on sort of table stakes sort of thing.

260
00:20:41,000 --> 00:20:51,380
And for a lot of teams, that may take up, you know, 50% of the time, you know, 70% of the time addressing security issues or stability issues.

261
00:20:51,540 --> 00:21:08,520
And then what time you have left over, each of the teams, they all have public GitHub repositories where anyone's free to ask via a GitHub issue, you know, I'd like this kind of feature, this is causing me pain.

262
00:21:08,520 --> 00:21:15,040
And that's a direct line into each of the teams to try to plus one, a particular feature set.

263
00:21:15,160 --> 00:21:20,840
And the PMs, you know, take that into consideration about, you know, should we prioritize this?

264
00:21:20,880 --> 00:21:25,000
Because we're getting a lot of plus ones about one thing or another thing.

265
00:21:25,760 --> 00:21:34,980
The HA Proxy Bosch release, we were getting a bunch of requests about, you know, can we expose more features in HA Proxy?

266
00:21:34,980 --> 00:21:41,740
And one nice thing was the Stark and Wayne, they put out a community Bosch release that did a lot of these things.

267
00:21:41,840 --> 00:21:49,860
So we reached out to them and asked, you know, hey, can you come in and contribute that to the core Cloud Foundry?

268
00:21:49,960 --> 00:21:52,500
And now we're going into the incubation process.

269
00:21:53,500 --> 00:22:03,440
So we get a lot of signal just via GitHub issues or PRs that the community is able to communicate with us through or through the CFDev mailing list.

270
00:22:03,440 --> 00:22:20,600
Now, our commercial customers, IBM's commercial customers or SAP's commercial customers or Pivotal, there's additional conversations that we have with stakeholders from Pivotal and IBM where Pivotal needs a certain feature set.

271
00:22:20,600 --> 00:22:32,960
And what's interesting is that a lot of these are somewhat cross-cutting, like isolation segments is something that a lot of Pivotal customers were very interested in.

272
00:22:33,540 --> 00:22:37,740
And IBM was similarly very interested in it.

273
00:22:37,960 --> 00:22:47,660
And we thought about them a little bit differently, but we collaborated on what the MVPs should be and what the different phases were.

274
00:22:47,940 --> 00:22:49,560
And we kind of worked on that together.

275
00:22:50,220 --> 00:22:55,980
So I think, interestingly, we have a lot of common ground on what we want to do.

276
00:22:56,340 --> 00:23:03,680
And the edges where there's maybe conflict, those are kind of few and far between.

277
00:23:04,000 --> 00:23:15,360
And we try to mediate those by listening to each other and trying to carve out time for feature sets that people are interested in.

278
00:23:15,720 --> 00:23:19,440
And at the end of the day, we are governed by contribution.

279
00:23:19,440 --> 00:23:28,820
So we look at, well, IBM's contributing, you know, maybe 10%, 20%, 25% of the engineering effort for a particular team.

280
00:23:28,980 --> 00:23:36,040
They should have some sway over that 25% of the team's bandwidth, what they should do next.

281
00:23:36,240 --> 00:23:39,900
So I mean, does that, you know, we think about the occasional conflict that does come up?

282
00:23:39,900 --> 00:23:48,260
Because as you mentioned, we're all member companies of the Cloud Foundry Foundation, but we all are selling competing offerings and we have different business needs each company needs.

283
00:23:48,400 --> 00:23:50,680
So who becomes the arbiter of that?

284
00:23:50,740 --> 00:23:51,400
Is it the PM?

285
00:23:51,840 --> 00:23:56,380
Does it go up to, you know, someone like Chip at the CFF who kind of is the CTO up there?

286
00:23:56,700 --> 00:24:04,940
How do you, you know, if there is a design difference or even a prioritization difference, how do we start to come together and what sometimes finally wins the day?

287
00:24:04,940 --> 00:24:07,740
A lot of the times it's the PM.

288
00:24:08,280 --> 00:24:14,900
Some of the cross-cutting features, I help to facilitate that conversation and we try to find common ground.

289
00:24:16,040 --> 00:24:19,900
At the end of the day, Chip can step in.

290
00:24:20,020 --> 00:24:23,040
We very rarely have gone to that point.

291
00:24:23,040 --> 00:24:37,080
And I'm thankful to say we've never actually had to take anything to a vote because we've tried very hard to satisfy everyone's concerns just through the normal give and take that occurs.

292
00:24:37,080 --> 00:24:43,600
So we might say, hey, you know, we realize you want to prioritize this.

293
00:24:44,480 --> 00:24:52,060
Could you help us by sending out over a couple of engineers, you know, to spend time on this?

294
00:24:52,540 --> 00:25:00,600
So very recently, Microsoft is interested in adding support for SQL Server to UAA and CAPI.

295
00:25:01,980 --> 00:25:12,440
We didn't quite have bandwidth in the CAPI team's current set of priorities for SQL Server, but the Microsoft team, we had a discussion with them.

296
00:25:12,440 --> 00:25:30,660
And now they're contributing a developer to help us get it going and get it going in a repeatable way, not just throwing a PR over the fence, but helping us with our CI and making sure, you know, we can maintain that support into the future.

297
00:25:31,320 --> 00:25:31,960
That's exciting.

298
00:25:32,400 --> 00:25:33,640
Does the release cadence help?

299
00:25:33,720 --> 00:25:38,060
I mean, CF release seems to go out every, I don't know what we're at now, three, four, five, six weeks.

300
00:25:38,200 --> 00:25:40,800
I mean, it's fairly frequent that a new CF release gets cut.

301
00:25:40,880 --> 00:25:50,100
So does that sort of constant rhythm help that someone doesn't feel like if their priority doesn't get taken care of this release that I'm not waiting a year, like there's a decent chance it comes pretty quickly?

302
00:25:50,300 --> 00:25:52,840
Does release cadence kind of help mitigate the risk?

303
00:25:53,360 --> 00:25:54,280
I think so.

304
00:25:54,420 --> 00:25:55,440
I think that's key.

305
00:25:55,860 --> 00:26:07,280
David Sabeti, who's the PM on the release integration team, he's got a reminder on his calendar every Tuesday to, you know, try to push forward a CF release.

306
00:26:07,280 --> 00:26:21,260
I think if we can get to a weekly cadence with shipping, you know, this compatible set of bits works together and we believe that nothing is worse than before.

307
00:26:22,540 --> 00:26:37,080
It's only better than it does mitigate the concerns people have about can I get this one more thing in or this one more bug fix in and really slowing down our delivery cadence there.

308
00:26:37,500 --> 00:26:53,740
So one thing that's always interesting to, I don't know, for me, keep an eye on is as we mentioned, and you, I don't even know if you had a chance to, or you kind of cut yourself off from laundry listing all the various projects that you get involved in, let alone the ones that are in the whole Cloud Foundry world.

309
00:26:53,740 --> 00:27:07,220
But are there components in there that get used frequently like on their own or separately or all of these things sort of like interdependent with each other such that like you need all of them to be something and it would just be like a headless Voltron or something.

310
00:27:07,820 --> 00:27:21,420
I mean, every now and then this idea of using one part on its own comes up and in the other, in other parts of the world of whatever you want to call it, our cloud native ecosystem, there's always a lot of focus on the separate components rather than the whole.

311
00:27:21,420 --> 00:27:30,300
But, you know, I wonder if, in your experience or opinion, like having using any of these things separately makes any sense or it's just a bonkers notion.

312
00:27:31,520 --> 00:27:39,980
Yeah, I think we're trying, we're in favor of reusability where it makes sense.

313
00:27:39,980 --> 00:27:58,240
The UAE team, their release is actually used independently in a few places, not having to do with Cloud Foundry at all, because they're solving an important problem around OAuth there, and I think that that's really great.

314
00:27:58,240 --> 00:28:09,400
The etcd release is sometimes used independently, and I believe that team is also working with the team working on Kubo.

315
00:28:10,740 --> 00:28:25,200
The HA proxy release that we had in CF release was used as the base for the HAProxy Bosch release, I believe, and that is certainly also used independently.

316
00:28:25,200 --> 00:28:37,920
MySQL release and the Postgres release, they're used as the base for, you know, your own independent relational databases as well.

317
00:28:37,920 --> 00:28:55,140
We're looking at trying to, you know, at the garden and the Groot FS layers, where we can share some capabilities with other container orchestrators.

318
00:28:55,140 --> 00:29:07,660
So we're in conversation with them about where's some common ground where we can share some libraries, if not the entire components, but at least share some libraries, where we're all trying to do a similar thing.

319
00:29:07,660 --> 00:29:18,900
And then, you know, on the other end of the, I don't know, the stack of sophistication, as it were, I mean, you've been involved in the Cloud Foundry world for quite some time, as I recall, right?

320
00:29:19,900 --> 00:29:22,660
Yes. Well, since 2014.

321
00:29:23,140 --> 00:29:24,720
Sure. Long ago.

322
00:29:24,720 --> 00:29:45,180
But, you know, I only have sort of like a slight dilettante study of all this, but it seems like, and correct me if I'm wrong, it seems like there's a history of naming in the Cloud Foundry world, where it started off with the usual, just like, really silly names that engineers will come up with, right?

323
00:29:45,180 --> 00:29:48,620
Whether they're like recursive names or like named after robots or whatever.

324
00:29:48,880 --> 00:29:53,860
And then at some point, there was kind of like a softening or a slight maturation, right?

325
00:29:53,880 --> 00:29:56,000
Like you would have something like Garden or Diego.

326
00:29:56,640 --> 00:30:01,400
But then nowadays, it seems like there's a policy of like, name the thing the thing that it does, right?

327
00:30:01,440 --> 00:30:04,020
Like, don't come up with some funny name for it.

328
00:30:04,060 --> 00:30:05,840
Like, be extremely descriptive of what it is.

329
00:30:05,900 --> 00:30:09,100
And so like, is there some like policy on naming things?

330
00:30:09,100 --> 00:30:12,540
Or is my characterization of how it's evolved accurate or anything?

331
00:30:12,660 --> 00:30:15,920
What's been the name with like the first bucket of silly names?

332
00:30:16,080 --> 00:30:18,340
And nowadays, and I don't mean silly in a judgmental way.

333
00:30:18,420 --> 00:30:18,900
It's fun.

334
00:30:19,260 --> 00:30:23,720
But like, it seems like there was a bunch of just like, you know, let's come up with a funny name for something.

335
00:30:23,840 --> 00:30:27,640
And nowadays, it's just like very, I don't know how to describe it.

336
00:30:28,140 --> 00:30:28,500
Straightforward?

337
00:30:28,820 --> 00:30:29,760
I know what you mean.

338
00:30:29,940 --> 00:30:35,560
Like droplets versus, you know, isolation segments is the most boring corporate name, but makes total sense given what it is.

339
00:30:35,600 --> 00:30:36,040
Exactly.

340
00:30:36,220 --> 00:30:37,300
Versus something else.

341
00:30:38,060 --> 00:30:46,400
I think it's just an evolution where we found that even within people who are familiar with Cloud Foundry,

342
00:30:46,400 --> 00:30:54,840
it was getting kind of hard to keep track of what a particular component does or what it means within the system.

343
00:30:55,200 --> 00:31:04,160
So, you know, I tell Jules Friedman all the time that he is not allowed to name anything anymore.

344
00:31:07,420 --> 00:31:11,360
Because he'd always come up with interesting, punny names.

345
00:31:11,740 --> 00:31:17,920
But for someone coming in from the outside or wanting to reuse a particular component,

346
00:31:18,120 --> 00:31:23,640
it makes it just that much harder to find your component and want to reuse it.

347
00:31:24,360 --> 00:31:30,440
And just as the ecosystem or the number of projects grows and grows,

348
00:31:30,980 --> 00:31:34,360
we want to really reduce the barrier to entry.

349
00:31:34,360 --> 00:31:38,240
And naming kind of gets in the way sometimes.

350
00:31:39,000 --> 00:31:43,980
So what are some of those fun punny names that are now on the restricted list?

351
00:31:45,340 --> 00:31:53,840
I guess I'm not on the restricted list, but that are representative of fun instead of easy to comprehend ability.

352
00:31:55,620 --> 00:32:01,580
Also, Diego used to have a number of interesting component names.

353
00:32:02,640 --> 00:32:08,360
There was a Tinker, Taylor, Soldier, and a Circus.

354
00:32:09,580 --> 00:32:20,380
There was the theme there, and we ended up renaming all of those components to be a little bit more transparent about what they do.

355
00:32:22,000 --> 00:32:30,100
And the container networking team, they used to have a release called Netman.

356
00:32:31,700 --> 00:32:37,360
And they've since renamed it to CF Networking, to be a bit more clear there.

357
00:32:38,500 --> 00:32:43,460
The bit service, we still internally call the team Flintstones,

358
00:32:43,680 --> 00:32:47,420
but they wanted to call their release the Flintstones team,

359
00:32:48,000 --> 00:32:51,140
and that was an extrapolation from...

360
00:32:51,140 --> 00:32:57,760
I don't even remember how we got to Flintstones, but it made sense at the time.

361
00:32:58,460 --> 00:33:01,040
There was some association with Pebbles,

362
00:33:01,760 --> 00:33:06,980
and then it somehow went over to Flintstones.

363
00:33:07,880 --> 00:33:11,000
But the service, the team's now called the bit service team.

364
00:33:11,640 --> 00:33:15,840
So trying to be more clear and a bit more discoverable and a bit more accessible

365
00:33:15,840 --> 00:33:20,060
to new people coming into the Cloud Foundry ecosystem.

366
00:33:20,260 --> 00:33:25,640
Yeah, I guess as a sort of maybe more of an almanac than a grimoire,

367
00:33:25,720 --> 00:33:28,080
but as far as the grimoire of naming metaphors,

368
00:33:28,220 --> 00:33:29,820
like the Flintstones are pretty approachable,

369
00:33:29,820 --> 00:33:31,880
but you don't want to just throw like, what's the guy's name?

370
00:33:32,000 --> 00:33:37,140
Alacare, a Tinker Tailor spy thing at someone and have him figure out all the intricacies

371
00:33:37,140 --> 00:33:38,440
of what those metaphors mean.

372
00:33:38,760 --> 00:33:41,960
So speaking of, I mean, since you've done some work

373
00:33:41,960 --> 00:33:44,200
and also presenting and things on this topic,

374
00:33:44,560 --> 00:33:47,100
so we talked about like some of the isolation stuff last week,

375
00:33:47,260 --> 00:33:52,700
but just give us like an overview of what that bundle of capabilities is.

376
00:33:52,840 --> 00:33:54,300
And you were kind of alluding to this earlier,

377
00:33:54,480 --> 00:33:58,820
like why it became a high priority thing to work on

378
00:33:58,820 --> 00:34:03,780
and what motivated people to want it and made you all choose it as a thing to develop.

379
00:34:03,960 --> 00:34:10,080
Yeah, isolation segments, I'm pretty excited that we've got the capability out there now.

380
00:34:10,440 --> 00:34:14,360
The CLI just became available last week.

381
00:34:15,300 --> 00:34:21,820
So the big things there are trying to reduce complexity for operators.

382
00:34:21,820 --> 00:34:32,520
So for a number of companies, they end up deploying completely separate cloud foundries

383
00:34:32,520 --> 00:34:36,600
for many different reasons.

384
00:34:37,360 --> 00:34:40,580
And we're trying to look at, well, that's interesting.

385
00:34:40,760 --> 00:34:46,040
Why do you have 16 cloud foundries deployed at your company?

386
00:34:46,280 --> 00:34:51,620
You know, that seems like a lot of overhead, a lot of complexity that, you know,

387
00:34:51,700 --> 00:34:59,900
and some of the reasons were that, well, we are looking for ways of segmenting the workload

388
00:34:59,900 --> 00:35:05,240
so that it could just be a quality service saying,

389
00:35:05,420 --> 00:35:09,560
okay, these apps are higher priority, so maybe we'll stripe these across three AZs

390
00:35:09,560 --> 00:35:14,120
and maybe the dev environment will only stripe across two AZs or one AZ

391
00:35:14,120 --> 00:35:20,060
because they're lower priority or they get the, you know, cheaper hardware

392
00:35:20,060 --> 00:35:24,760
whereas our prod workloads get, you know, SSDs or something like that.

393
00:35:24,760 --> 00:35:32,860
So being able to make that a little easier for operators to say these workloads

394
00:35:32,860 --> 00:35:42,440
can have a better time on the platform without having to have a wholly separate login space

395
00:35:42,440 --> 00:35:46,840
and org management and management of quotas and whatnot that you have to do

396
00:35:46,840 --> 00:35:49,520
with every single new cloud foundry that you stand up.

397
00:35:49,940 --> 00:35:52,400
So there's sort of like at least two main motivations.

398
00:35:52,400 --> 00:35:56,000
One of them is, as you say, you know, you're looking to solve a problem

399
00:35:56,000 --> 00:36:00,560
and then you set up 16 foundations and now you have 16 problems, which is exciting.

400
00:36:00,880 --> 00:36:06,900
And that problem essentially is there is a, I don't know,

401
00:36:07,720 --> 00:36:11,640
a certain amount of management required, operational things and integrating.

402
00:36:12,000 --> 00:36:14,160
And then also what comes with that, as you're alluding to,

403
00:36:14,260 --> 00:36:17,840
is verifying that you've set all of your security stuff up correctly

404
00:36:17,840 --> 00:36:19,000
and you have everything configured.

405
00:36:19,000 --> 00:36:22,600
So you've got to go to all 16 of these instances to make sure that it's acting

406
00:36:22,600 --> 00:36:25,840
in the way you intended and you desired.

407
00:36:26,460 --> 00:36:30,840
And so it would be nice if you just had like one setup for all of that.

408
00:36:31,320 --> 00:36:35,600
And then the reasons people are motivated to do that, I mean, as the name would imply is,

409
00:36:35,940 --> 00:36:42,000
and I see this all the time, is they still, they have this mentality of dev and production,

410
00:36:42,160 --> 00:36:44,700
at least, or prod, as the kids like to say.

411
00:36:45,580 --> 00:36:49,860
And, you know, so at least you have that, but you might also have QA and other things.

412
00:36:49,940 --> 00:36:52,360
You might have all these different foundations out there.

413
00:36:52,440 --> 00:36:57,480
And so I guess the feeling is that like previous to having isolation segments,

414
00:36:57,700 --> 00:37:02,300
like you can't really effectively, I'm trying not to use the word isolate,

415
00:37:02,680 --> 00:37:06,560
but make it seem like to the end users and the various processes that are running in there,

416
00:37:06,620 --> 00:37:08,160
that they're in their own foundations.

417
00:37:08,160 --> 00:37:12,300
So you need controls in there to shield them off from other things.

418
00:37:12,300 --> 00:37:17,560
And I mean, do you think what's in there would allow people to fold down 16 foundations now?

419
00:37:17,700 --> 00:37:20,720
Or like, when do you think, when do you think that would be, you know,

420
00:37:20,920 --> 00:37:25,740
when's there going to be like a CF make it all one foundation with hyphens underneath there?

421
00:37:26,220 --> 00:37:31,760
I don't know if we're ever going to be able to get to CF make it all one foundation for certain customers.

422
00:37:33,300 --> 00:37:41,500
There are certainly, like some of the things are use cases that people want to solve is disaster recovery.

423
00:37:42,180 --> 00:37:45,760
And any two ways you look at that, you just need to.

424
00:37:46,620 --> 00:37:46,860
Right.

425
00:37:47,920 --> 00:37:52,360
Unless your mean time to recovery is really, really quick.

426
00:37:52,880 --> 00:37:56,640
But for the most part, a lot of people try to solve that with two.

427
00:37:57,120 --> 00:38:02,500
I think I could see maybe a reduction by half in certain environments,

428
00:38:03,080 --> 00:38:08,720
where maybe that 16 foundations goes down to eight,

429
00:38:09,280 --> 00:38:13,000
because you still have regional needs.

430
00:38:13,000 --> 00:38:18,740
You need your apps to be running close to the data, wherever that may be.

431
00:38:19,840 --> 00:38:27,100
So there's still some additional foundation, additional use cases that we need to look at

432
00:38:27,100 --> 00:38:31,680
and see how could we solve that and reduce the overhead.

433
00:38:32,200 --> 00:38:35,980
But I think right now with the capability we have for some customers,

434
00:38:36,140 --> 00:38:40,660
we could probably reduce the number of foundations they have by half.

435
00:38:41,020 --> 00:38:42,100
And that's pretty big.

436
00:38:42,100 --> 00:38:47,120
So when you're, I mean, I know from following some of what you all had to build for isolation segments,

437
00:38:47,240 --> 00:38:50,740
sometimes these things that appear straightforward are obviously complex under the covers.

438
00:38:50,860 --> 00:38:53,660
Are there other things that make up, especially your domain,

439
00:38:53,940 --> 00:38:58,880
that maybe are a little underrated in terms of how, you know, what they have to do?

440
00:38:59,000 --> 00:39:01,720
And where there's, I mean, Cloud Foundry is a really complex distributed system.

441
00:39:01,840 --> 00:39:04,180
It's exciting, but you can take a lot for granted,

442
00:39:04,240 --> 00:39:06,720
because we purposely shield people from a lot of the guts.

443
00:39:07,140 --> 00:39:08,820
What are some of the things underneath the covers, though,

444
00:39:08,880 --> 00:39:10,760
that maybe we should appreciate a little more?

445
00:39:10,760 --> 00:39:20,460
I've always thought CF push just, it's beautiful, but it's hiding away so much complexity.

446
00:39:20,720 --> 00:39:31,600
It's a massive orchestration of what's going on between, from the time we take your bits and put it together with a build pack

447
00:39:31,600 --> 00:39:39,760
and make it runnable code so that all you had to do was push that application source that you really care about.

448
00:39:40,960 --> 00:39:48,960
And then how we actually place it into and keep it running,

449
00:39:49,160 --> 00:39:54,520
how much we work hard to make sure if your instance goes down,

450
00:39:54,580 --> 00:40:05,160
if you go, ooh, we'll try to bring it back, if your route availability and how we can scale out horizontally across a lot of our components,

451
00:40:07,280 --> 00:40:15,120
and how much we do under the covers to make that CF push experience as transparent as this.

452
00:40:15,240 --> 00:40:16,540
I mean, the health stuff's interesting.

453
00:40:16,660 --> 00:40:21,520
I was reading this morning a little bit just on some of the other things public clouds do for things like scaling and health recovery.

454
00:40:21,600 --> 00:40:22,980
And they still focus a lot on the VM.

455
00:40:23,240 --> 00:40:28,920
Like, if the VM is unhealthy, we'll replace it, but your app could be flapping and they don't really notice or can't do anything.

456
00:40:29,120 --> 00:40:35,760
So, again, it can be underrated that CF's looking at the app health and it's also looking at host health because we're doing this dual scheduling thing.

457
00:40:36,220 --> 00:40:40,900
But that's a really interesting sophistication that, like, we're actually making sure your app instance is healthy.

458
00:40:41,020 --> 00:40:44,560
Even if the host is doing great, if your app isn't healthy, we'll take care of that.

459
00:40:44,700 --> 00:40:44,900
Good.

460
00:40:44,960 --> 00:40:46,120
Well, I just have one more question for you.

461
00:40:46,940 --> 00:40:52,480
You had mentioned, you know, that cool example of Microsoft pitching in some folks and this and that.

462
00:40:52,480 --> 00:40:58,260
Do you incorporate many public pull requests or the most contributors from people who have gone through the full-time committer process?

463
00:40:58,380 --> 00:41:03,940
I believe CF Foundation has some guidelines for what it takes to be a full-time committer, at least to be a real committer.

464
00:41:04,480 --> 00:41:05,720
So, what does it look like?

465
00:41:05,900 --> 00:41:10,420
How could I be a random person who wants to improve the log regator and actually send a pull request?

466
00:41:11,540 --> 00:41:11,860
Yeah.

467
00:41:13,140 --> 00:41:17,400
You'd have to sign our CLA agreement.

468
00:41:18,420 --> 00:41:19,000
But, yeah.

469
00:41:19,920 --> 00:41:21,120
What does it mean if I sign that?

470
00:41:22,320 --> 00:41:36,080
That more or less signs over the IP for the work that you've done and allows us to take it in as an open source and you agree to the license that we have for Cloud Foundry.

471
00:41:37,080 --> 00:41:43,720
But more or less, it's very easy to submit a pull request and improve the code base.

472
00:41:44,420 --> 00:42:00,680
If you want to become a full-time committer, that's a six-week process where we help you onboard onto a team and get up and going and learn how to run a Bosch Lite and deploy Cloud Foundry.

473
00:42:00,680 --> 00:42:14,380
And we have a number of – a lot of our teams actually have a good mix from Pivotal and IBM, SAP, and H8 – well, SUSE now.

474
00:42:15,440 --> 00:42:16,800
I was going to say HP.

475
00:42:17,280 --> 00:42:24,940
But we have a good – a really good mix and a growing mix of contributors on all of the core teams now.

476
00:42:25,160 --> 00:42:30,320
Well, so I had – before we wrap up, just one, I don't know, mildly related question.

477
00:42:30,440 --> 00:42:40,280
Now, if I was speed reading your LinkedIn profile correctly, it looks like you spent about half your career developing and the other half in QA, more or less.

478
00:42:40,840 --> 00:42:43,400
My calendar edition is pretty poor.

479
00:42:43,820 --> 00:42:58,660
But I'm curious, like, given that and now that you're sort of – to be on DevOps-y, on the other side of the QA-dev divide, like, how do you think – how do you think in the past, like, seven or so years, like, QA has changed?

480
00:42:58,660 --> 00:43:09,160
Like, I get – and I ask because I ask this question – I get asked a question a lot by sort of sad-looking QA people, and they're like, but what happens to me with all of this?

481
00:43:09,320 --> 00:43:15,980
And so, like, both in your day-to-day work and then just, like, the way you think about it, like, what's the involvement of QA in all this?

482
00:43:16,060 --> 00:43:18,000
What does a QA person do?

483
00:43:18,220 --> 00:43:27,920
Well, I think that I find, you know, the QA functionality and having come from that background, like, I think it's important.

484
00:43:27,920 --> 00:43:36,540
But I think what we've done with Cloud Foundry is we've tried to absorb that into the development team.

485
00:43:36,660 --> 00:43:58,400
So, we actually did have explicit exploratory testers, which is a bit different from QA, but we've converted all of those into devs on the team to, like, spread their knowledge and their thinking about testing and whatnot into all of the development teams and trying to take that in as a core responsibility into the development.

486
00:43:58,400 --> 00:44:10,260
I think the biggest change was just, you know, not quite being a black box tester anymore or even what they called white box tester, where it's all on the outside.

487
00:44:10,400 --> 00:44:21,920
You're thrown over a bunch of code, thrown code over the fence and told, you know, just can you make sure our code doesn't have bugs in it?

488
00:44:21,920 --> 00:44:39,760
And I think really shifting that responsibility back to the teams and ingraining in the teams that QA mentality, that that's their responsibility, that's part of definition of done, because they can help to build the right amount of tools at the right complexity level.

489
00:44:39,760 --> 00:44:52,660
Because I used to build so much automation that was outside, not trusting the dev team at all, to write a good unit test or anything like that.

490
00:44:52,900 --> 00:44:57,240
And it was just very brittle and a huge time sink.

491
00:44:57,740 --> 00:45:08,760
And I think shifting that responsibility to the dev team so that they can build the right tools at the right layer is one of the things that Pivotal believes in, in our pairing processes.

492
00:45:08,760 --> 00:45:13,180
And one of the things that we've tried to instill into Cloud Foundry.

493
00:45:13,180 --> 00:45:21,680
The way you describe sort of like traditional QA, it sounds like it flies under the bold flag of a whole lot and not very much fun, right?

494
00:45:21,760 --> 00:45:34,500
Like just sort of like writing your own things around stuff that's brittle and always kind of being sort of like, I don't know, cynical in your approach to making sure things are working well, which certainly you have to do if you're like separate groups.

495
00:45:34,720 --> 00:45:36,440
I think they call it the checks and balances.

496
00:45:36,440 --> 00:45:45,300
But, you know, I wonder, like hearing you describe it, for the serial listeners out there, not the podcast, but people who just listen to this in order.

497
00:45:45,480 --> 00:45:49,780
Like in the previous episode, Andrew Schaefer and I were talking about the Google SRE book.

498
00:45:49,860 --> 00:45:51,480
And I think there's an interesting framing.

499
00:45:51,620 --> 00:46:08,020
I don't know if you think this would apply to how it seems like QA is best done nowadays, but of course a Google SRE person, which is the people who are responsible for keeping Google stuff up and running and helping make sure they have a good platform that works to dramatically shortchange the description.

500
00:46:08,280 --> 00:46:16,580
But they're charged with basically spending 50% of their time doing like sysadmin stuff and the other 50% of their time developing software that helps run their stuff.

501
00:46:16,580 --> 00:46:27,980
And it seems like, again, I don't know if that balance is great for a QA person, but that sort of simplicity and clarity of how you spend your time seems to be, I don't know, it seems like what we want.

502
00:46:28,100 --> 00:46:28,940
I don't know who we is.

503
00:46:29,040 --> 00:46:33,880
But what the industry wants from QA people nowadays is for them to start being programmers more.

504
00:46:34,460 --> 00:46:36,820
Yeah, I think there's that.

505
00:46:37,140 --> 00:46:38,380
And why not, right?

506
00:46:38,620 --> 00:46:44,380
Why wouldn't we or why couldn't they be programmers more?

507
00:46:44,680 --> 00:46:59,020
Yeah, I mean, that's certainly what comes out is if you can automate a lot of the QA toil, as it were, then what becomes needed and valuable is a, I don't know, a meatware computer figuring out interesting things to do rather than just the automated stuff.

508
00:46:59,040 --> 00:47:01,540
And then also writing all the stuff that automates QAing.

509
00:47:01,640 --> 00:47:04,080
Well, thanks for being a guest on here.

510
00:47:04,300 --> 00:47:08,760
It's always nice to get an overview of various parts of the Cloud Foundry world.

511
00:47:09,600 --> 00:47:20,200
And yeah, so if people want to look up things that you're doing, correct my math about the time you've spent doing your QA versus development or otherwise find you.

512
00:47:20,360 --> 00:47:23,660
Like, what are some places you have online for people to find you?

513
00:47:24,220 --> 00:47:24,980
You've caught me.

514
00:47:25,080 --> 00:47:28,120
I don't really update my LinkedIn profile at all.

515
00:47:28,120 --> 00:47:28,920
Well, that's fine.

516
00:47:29,040 --> 00:47:32,840
And that's probably because I'm actually pretty happy working on Cloud Foundry.

517
00:47:32,960 --> 00:47:38,380
So I'm not trying to keep that too up to date.

518
00:47:39,720 --> 00:47:48,040
The places you can find me, I'm on Twitter at UETCow on Twitter.

519
00:47:48,180 --> 00:47:50,500
I'm sure that's probably going to be hard to sound at.

520
00:47:50,500 --> 00:48:01,860
But otherwise, you can reach me on CFDev or on the Cloud Foundry Slack at UE, at D-I-E-U on the Cloud Foundry Slack.

521
00:48:01,980 --> 00:48:04,120
So I'm reachable in a number of places.

522
00:48:04,340 --> 00:48:06,480
All over the place there, more or less.

523
00:48:06,860 --> 00:48:07,480
Well, great.

524
00:48:07,580 --> 00:48:09,180
Well, as always, thanks for listening.

525
00:48:09,300 --> 00:48:10,860
This has been Pivotal Conversations.

526
00:48:11,100 --> 00:48:19,240
The best way to get all of these episodes, as I was implying earlier, is if you should just subscribe to the feed and they'll automatically download to whatever it is you listen things in.

527
00:48:19,940 --> 00:48:28,860
And while you're doing, you know, if you want to find that, you can go into iTunes or Overcast or the podcast app or whatever and just search around for it and you'll be able to find it.

528
00:48:29,280 --> 00:48:38,100
And if you're not into that kind of thing and you're one of these people who, for whatever reason, likes to listen to things in web browsers, you know, there's no judgment about that.

529
00:48:38,100 --> 00:48:44,600
You go to SoundCloud.com slash Pivotal Conversations and see all of our past episodes forever.

530
00:48:45,800 --> 00:48:48,880
And also, if you want to see the full show notes, we post those.

531
00:48:48,980 --> 00:48:51,520
It's usually about trailing by a few days or a week.

532
00:48:51,760 --> 00:48:55,620
But we post all those notes over at Pivotal.io slash podcast.

533
00:48:56,180 --> 00:49:01,760
And we'll put links to most all of the stuff that we mentioned, including the thrilling news items.

534
00:49:01,980 --> 00:49:11,180
And it's always nice if you actually write to us or just do a little tweet thing, whether it's in whatever social world you're in, just so that we know that people are out there.

535
00:49:11,320 --> 00:49:12,440
That's always encouraging.

536
00:49:12,700 --> 00:49:18,180
As fun as it is to talk into a microphone to disembodied voices, it's good to know that there's listeners as well.

537
00:49:18,560 --> 00:49:20,680
And with that, we'll see everyone next time.

538
00:49:20,960 --> 00:49:21,420
Bye-bye.
