1
00:00:00,000 --> 00:00:03,520
Well, hello everybody. It's another Pivotal Conversations. I have a guest with myself this

2
00:00:03,520 --> 00:00:08,220
time. Why don't you introduce yourself? Hi, I'm John Faminella. I'm a platform architect with

3
00:00:08,220 --> 00:00:13,260
Pivotal. I'm based out of the New York City office and I like milkshakes, meta jokes, and

4
00:00:13,260 --> 00:00:17,320
long walks on the beach. Long walks on the beach. Very nice. You know, I'm going to a beach next

5
00:00:17,320 --> 00:00:21,940
week. Oh, you're not invited. Oh yeah. I'll just see if I can figure out some long walks there.

6
00:00:22,260 --> 00:00:26,080
You know, you're reminding me of another thing. I'm trying to like, you know, be all relaxed and

7
00:00:26,080 --> 00:00:29,980
laid back and wear t-shirts more as I'm doing now. Yes. And now I understand why people are

8
00:00:29,980 --> 00:00:33,840
always wearing like hoodies. Yes. Because if you, if you just wear a t-shirt, it's a

9
00:00:33,840 --> 00:00:39,220
little cold. Well, once I realized that it was acceptable, at least it was acceptable for

10
00:00:39,220 --> 00:00:43,200
James Watters to wear a hoodie while talking to Fortune 500 CEOs, I was like, oh, okay, it's

11
00:00:43,200 --> 00:00:47,160
probably okay for me to do that too. Yeah. Yeah. Yeah. I mean, you know, I live down in Austin

12
00:00:47,160 --> 00:00:50,880
and it's hot there. Yes. So I just can't get into like hoodie culture. Although it gets hot

13
00:00:50,880 --> 00:00:55,820
in New York, right? Right. I solved that by never going outside. Oh yeah. That's how I solve

14
00:00:55,820 --> 00:01:01,420
most problems associated. Well, I think that's a, that's a totally okay way to solve every

15
00:01:01,420 --> 00:01:06,400
problem just by becoming a hermit. So you, you, uh, you gave a talk here. I did. Why don't,

16
00:01:06,460 --> 00:01:10,420
why don't we start with, uh, with going over what that was? So what, what was the, it's like

17
00:01:10,420 --> 00:01:15,460
about, uh, how, how platforms have contracts and how you can't have a platform without contracts

18
00:01:15,460 --> 00:01:20,840
and things like that. Sure. So, um, I realized in the course of my job, uh, which is talking

19
00:01:20,840 --> 00:01:26,360
to customers about Pivotal in general, um, and also specifically, uh, some of Pivotal's

20
00:01:26,360 --> 00:01:32,520
products, one of which of course is Pivotal Cloud Foundry, um, that the, that oftentimes they

21
00:01:32,520 --> 00:01:41,240
were discussing the way that they built their own platforms, um, in terms of very strict cost

22
00:01:41,240 --> 00:01:49,160
benefit analysis that I felt weren't really a accurate description or a accurate summary of

23
00:01:49,160 --> 00:01:53,880
exactly what the total cost of ownership of that platform was. Yeah. Well, as, as, as they say,

24
00:01:53,880 --> 00:01:59,480
you said a mouthful there. Yeah. That's, that's a, uh, that's a huge thing in our collective

25
00:01:59,480 --> 00:02:06,920
craws, like whether it's our customers or ourselves to sort out. Right. And I think it's, I, I, you know,

26
00:02:06,920 --> 00:02:12,040
obviously the audience at SpringOne is not just other Pivotal people. So I wanted to kind of talk

27
00:02:12,040 --> 00:02:18,680
about what are some of the ways that one can evaluate a platform or platforms against each other

28
00:02:18,680 --> 00:02:22,920
and, you know, what, what makes sense and what doesn't make sense. And I felt like one of the

29
00:02:22,920 --> 00:02:29,320
things that does make sense is to think about the contract, the implicit contract that you're agreeing

30
00:02:29,320 --> 00:02:36,200
to when you are building a platform or agreeing to, uh, right include one in the organization.

31
00:02:37,640 --> 00:02:45,720
And so the, I felt that the biggest, most important thing to look at is the people that will be impacted

32
00:02:45,720 --> 00:02:51,480
by the choice of a platform because, you know, we can talk about technology all day long and the benefits

33
00:02:51,480 --> 00:02:56,120
it's going to bring, but at the end of the day, a human being is using it. So if you're not,

34
00:02:57,160 --> 00:03:02,920
if you're not, um, considering the people, the developers, the operators, the business owners,

35
00:03:02,920 --> 00:03:07,640
et cetera, that are involved in that, you're really missing a pretty critical piece that won't ever

36
00:03:07,640 --> 00:03:13,960
be captured in any kind of, um, P and L or, uh, it's like, it's like a, a user analysis of the users

37
00:03:13,960 --> 00:03:17,320
of the platform. Exactly. Right. That's a very good way of putting it. I mean, they're, they're kind of

38
00:03:17,960 --> 00:03:22,040
stakeholders in overcharge world word, but they're, they're the ones that you're doing this for. So

39
00:03:22,040 --> 00:03:25,960
it's probably a good idea to pay attention to what it, what's useful for them and what's helpful.

40
00:03:25,960 --> 00:03:30,520
And you'd be, you would be surprised or maybe you wouldn't be surprised at how often that seems to

41
00:03:30,520 --> 00:03:35,880
get ignored, um, by folks who are about who making these big technology choices. And for them, it's

42
00:03:35,880 --> 00:03:40,920
like, let's look at this rubric of like features that we need and not about like, how is this going

43
00:03:40,920 --> 00:03:46,120
to impact the way that we do work? Will it change anything? Or is it just going to be, we changed what

44
00:03:46,120 --> 00:03:51,480
we're deploying to, but not anything about how we do that or why we're doing it. So there's not enough

45
00:03:51,480 --> 00:03:57,160
opportunity for introspection in, uh, when, when you use tools that don't encourage that to begin

46
00:03:57,160 --> 00:04:03,880
with. Right. Right. Okay. So I mean to, I, I, I don't know, I'm starting to predict that there's

47
00:04:03,880 --> 00:04:09,880
like this interesting idea of like, use the, the, the word contract, which sounds all like serious,

48
00:04:10,840 --> 00:04:17,720
right. To, to this essentially as, as a, it's almost like a kind of a, a fake out approach

49
00:04:17,720 --> 00:04:22,600
of like just making sure you have good usability. Right. And, and, and, and the way you, I'm, I'm

50
00:04:22,600 --> 00:04:26,840
guessing you reduce it down is like, like you're saying, like if, if you have users of this platform,

51
00:04:27,480 --> 00:04:32,520
it's kind of like infrastructure or not kind of, I mean, it is infrastructure and you more think

52
00:04:32,520 --> 00:04:36,360
of like what you depend on the infrastructure for and what it's supposed to provide for you instead

53
00:04:36,360 --> 00:04:40,920
of like, you know, uh, what would, what would be more of like a usability thing, right? Like,

54
00:04:40,920 --> 00:04:46,600
Oh, it's delightful. Sure. When I like cropped this image or whatever. I don't think that's a sentence

55
00:04:46,600 --> 00:04:50,120
I've ever said in my life, but maybe that's because I haven't used the right tool for image

56
00:04:50,120 --> 00:04:55,960
copying. Exactly. Um, I have to say that's not a void in my life that I need like filled at the

57
00:04:55,960 --> 00:05:01,480
moment, but, uh, but if it were, maybe I'd be looking around for tools. No. Yeah. The, the contract

58
00:05:02,120 --> 00:05:07,160
idea, I think that's definitely part of it, what you just described. Um, I drew the analogy of course,

59
00:05:07,160 --> 00:05:13,320
like a legal contract and the, there are many elements to a correct and, uh, successful legal

60
00:05:13,320 --> 00:05:17,800
contract, but there are three big pieces. One's called consideration, which means that the two of

61
00:05:17,800 --> 00:05:23,000
us, the two parties or two or more parties in the contract have to agree that they're both getting

62
00:05:23,000 --> 00:05:27,800
something when they sign the contract. So there has to be an exchange of value of some kind. A contract

63
00:05:27,800 --> 00:05:32,600
without consideration where one party gets all the benefit and the other party gets none, uh, is not

64
00:05:32,600 --> 00:05:36,440
actually a valid contract. I think the technical term is a ripoff. I think the technical term is a

65
00:05:36,440 --> 00:05:45,560
terms of service. Yeah. Yeah. Yeah. Um, so that's the first piece. The second piece is, uh, the contract

66
00:05:45,560 --> 00:05:52,840
has to, um, there, there has to be sort of a meeting of the minds there. Uh, both people have to agree

67
00:05:52,840 --> 00:05:58,120
that what's in the contract is what they actually wanted. So if somebody, for example, uh, if you don't

68
00:05:58,120 --> 00:06:02,280
knowingly enter into part of the contract, then you'd really have a complete understanding of it. And so

69
00:06:02,280 --> 00:06:06,600
the legal contract would not be enforceable. You can use your terms of service joke again.

70
00:06:06,600 --> 00:06:11,320
Yes, exactly. Right. Thank you for reminding me that I think I will use it again. Um, but yeah,

71
00:06:11,320 --> 00:06:16,040
I mean courts have repeatedly held in many different cases that certain kinds of terms of service are

72
00:06:16,040 --> 00:06:20,360
not enforceable for that exact reason. Uh, but those are really the, there are many other elements of

73
00:06:20,360 --> 00:06:26,120
the contract. Those are sort of the two that I focus most on in the talk. Um, the consideration element

74
00:06:26,120 --> 00:06:33,720
is, uh, is, uh, is the most relevant because it's, uh, it's about evaluating what are you giving up

75
00:06:33,720 --> 00:06:39,080
to run some platform or kind of control. Are you ceding to the platform? Uh, and in many cases that,

76
00:06:39,080 --> 00:06:43,240
that control may be stuff you don't want to do anyway. Uh, nobody wants to run their, you know,

77
00:06:43,240 --> 00:06:48,520
network drivers or do orchestration and scheduling themselves necessarily, that kind of thing.

78
00:06:48,520 --> 00:06:53,640
Um, and you know, we at Pivotal talk all the time about how we want folks, we think folks should

79
00:06:53,640 --> 00:06:57,800
stay above the value line because that's, that's what drives revenue. That's what drives business.

80
00:06:57,800 --> 00:07:04,200
You want the way that you deploy applications and the way that you, um, run applications and services

81
00:07:04,200 --> 00:07:09,080
to kind of mirror that philosophy of what benefits your business the most is not to focus on things

82
00:07:09,080 --> 00:07:15,240
like network drivers or, uh, orchestration and scheduling. So, um, so the contract approach is,

83
00:07:15,240 --> 00:07:22,680
is meant to have you think a little bit more about, well, if you think about sort of platforms

84
00:07:22,680 --> 00:07:27,960
that don't ask you to change very much about what you do, where, you know, that seems like good at

85
00:07:27,960 --> 00:07:31,560
first, at first glance, because you're not changing very much. And so you get to do everything that

86
00:07:31,560 --> 00:07:35,880
you're currently doing. But of course that raises two questions. So first, if nothing really changes

87
00:07:35,880 --> 00:07:40,680
about the way that you're doing anything, then, you know, are you going to get any benefit as a result?

88
00:07:40,680 --> 00:07:45,160
Like, if your whole problem is that the way you're doing things now is painful or agonizing in some

89
00:07:45,160 --> 00:07:49,960
way and nothing is changing about that, then I'd really gain anything. But the second point I try to

90
00:07:49,960 --> 00:07:58,360
make is if the, uh, if you are running applications on some platform and that platform doesn't need you to

91
00:07:58,360 --> 00:08:05,160
change anything about your applications or it doesn't ask a lot of you, then in effect, it can't make very

92
00:08:05,160 --> 00:08:09,560
strong guarantees about the kind of things that are running on it because it, because anything could

93
00:08:09,560 --> 00:08:14,840
be running on it. And when you are asked to make assumptions about the universe of possibilities

94
00:08:16,040 --> 00:08:20,120
and arbitrary code could be executing in an arbitrary language, an arbitrary environment with no

95
00:08:20,120 --> 00:08:23,640
constraints at all, then you're not really running a platform. You're really just running a different

96
00:08:23,640 --> 00:08:28,920
flavor of infrastructure at that point. Yeah. Yeah. I mean, I like, I like the, the metaphor of this is that

97
00:08:28,920 --> 00:08:35,800
you need, uh, uh, a give and take in, in order to like, uh, an equanimous exchange. Right. And so,

98
00:08:35,800 --> 00:08:40,120
and so you kind of like personify the platform as like, you know, it needs to get something,

99
00:08:40,120 --> 00:08:44,760
right? Like, like, like, like what, what's the benefit to the platform, which you've done for me

100
00:08:44,760 --> 00:08:49,880
lately. Yeah. Which again is like metaphoric, but, but as, as it kind of points out, and, and I imagine

101
00:08:49,880 --> 00:08:57,240
there's another sort of thing of, uh, you could sort of use a technology without changing yourself,

102
00:08:57,240 --> 00:09:01,800
but then typically what happens is it's more constraining than you want and it's more brutal.

103
00:09:01,800 --> 00:09:08,440
And in the sense of you can always use the network like a network and it doesn't necessarily tell you

104
00:09:08,440 --> 00:09:13,480
how you have to change things, but it'll just like shut you down if it doesn't like you. Yeah. There's no,

105
00:09:13,480 --> 00:09:18,200
there's no contract right about what acceptable behavior is. Right. So, I mean, imagine that you,

106
00:09:18,200 --> 00:09:24,360
you've, you've got some, uh, imagine there's some hypothetical platform that will, uh, run anything

107
00:09:24,360 --> 00:09:31,160
you want on it. Um, well, what can that platform do for you? Uh, the answer is probably not very much

108
00:09:31,160 --> 00:09:38,040
because if you can run anything on it, uh, with un, unmodified, no, you know, no effort on your part,

109
00:09:38,600 --> 00:09:43,400
then, uh, as I said before, that platform is basically infrastructure. What I mean by that is

110
00:09:43,400 --> 00:09:47,960
its job is no longer to do something special for your applications or provide some kind of

111
00:09:47,960 --> 00:09:53,000
enhanced guarantee on the top of your applications. Its job is now just to run anything. Yeah. And

112
00:09:53,000 --> 00:09:57,960
that's like a hard drive. That's not a platform. Yeah. So yeah. Right. Okay. That makes sense. So,

113
00:09:57,960 --> 00:10:03,960
so then, so then like, what are some examples of the, uh, consideration of platform gets? Sure. So,

114
00:10:03,960 --> 00:10:10,120
uh, you know, at least with cloud foundry and other sort of similar, uh, platforms that operated that level

115
00:10:10,120 --> 00:10:16,040
of abstraction of running applications and services, you hear the phrase 12 factor app thrown around a lot. So

116
00:10:16,040 --> 00:10:23,880
the 12 factors are meant to, um, sort of optimize your application for being cloud native. And it's just

117
00:10:23,880 --> 00:10:28,840
the first step, of course, there's many, uh, steps along that journey, but that's sort of one easy

118
00:10:28,840 --> 00:10:35,000
barometer to, uh, to sort of gauge how effective your applications will be in a cloud native environment.

119
00:10:35,000 --> 00:10:39,560
And that's, that's an example of the kind of consideration you would give the platform. You'll

120
00:10:39,560 --> 00:10:46,520
agree to have applications that don't write to an ephemeral disk or, uh, get their variables from a

121
00:10:46,520 --> 00:10:52,360
environment, uh, or if we ever get their configuration from environment variables, um, and so on. So

122
00:10:52,360 --> 00:10:59,160
they agree to behave in a certain way and by exhibiting that behavior, the platform can make guarantees.

123
00:10:59,160 --> 00:11:05,160
So for example, in a 12 factor application, if it's stateless, you know that it's okay to, uh,

124
00:11:06,120 --> 00:11:10,360
swap out the ephemeral disk that's underlying the container because it's safe to do that because

125
00:11:10,360 --> 00:11:16,760
nobody depends on the ephemeral disk. Um, so since that's okay, then you can do things like have a

126
00:11:16,760 --> 00:11:21,320
massive disk failure and your applications won't even know if anything has happened at all.

127
00:11:21,320 --> 00:11:25,160
Yeah. And I guess, I tell me, this is another one. I, I hadn't thought of this one, but like, uh,

128
00:11:25,160 --> 00:11:29,000
previously until you're kind of getting going down this, this route, but like there's another one of

129
00:11:29,000 --> 00:11:33,640
the 12 factors is like, uh, I'm, I'm rephrasing it, but your configuration should be injected.

130
00:11:33,640 --> 00:11:37,080
Sure. Right. Like you don't, you don't, you don't ship with your own configuration. And then,

131
00:11:37,640 --> 00:11:41,480
and then that, so if you follow that, that part of the contract, what that means the platform

132
00:11:41,480 --> 00:11:47,720
can do is it's much easier, your configuration to use a service or some third party thing or a backing

133
00:11:47,720 --> 00:11:53,960
service. So then the platform can move that around and can not, to some extent reconfigure it, but,

134
00:11:53,960 --> 00:11:59,480
but you, you give up fully controlling how you connect to and even how you configure a service.

135
00:11:59,480 --> 00:12:03,800
But that means that the platform can manage it a lot more and optimize it. And I think of something

136
00:12:03,800 --> 00:12:09,000
that's worth pointing out too, is we're describing, we're using the words giving up, but in many cases,

137
00:12:09,000 --> 00:12:13,400
people don't want to do these things and probably shouldn't be managing them anyway. Um, so for

138
00:12:13,400 --> 00:12:17,960
example, the case you just brought up of like the, the server that can move, um, well, what if it

139
00:12:17,960 --> 00:12:21,880
wasn't the server that moved, what if the password changed? What if you wanted to change your password

140
00:12:21,880 --> 00:12:25,560
every five minutes? No, that's a great example. Like that would be cool because like now you're,

141
00:12:25,560 --> 00:12:30,280
now you can only be vulnerable to like someone stealing your password for five minutes at a time.

142
00:12:30,280 --> 00:12:33,080
And then you rotated the credentials and your application can't tell what difference

143
00:12:33,080 --> 00:12:38,360
because it's getting its configuration from a source outside of itself. I guess maybe a,

144
00:12:38,360 --> 00:12:43,800
a comical, comical version of giving up is like, you know, if you use a, uh, to do list manager,

145
00:12:43,800 --> 00:12:47,080
you're giving up the opportunity to have to keep track of all this stuff in your head.

146
00:12:49,800 --> 00:12:53,080
You're giving up a certain amount of control because you know, you, this other thing is

147
00:12:53,080 --> 00:12:57,320
remembering for you. And I think that's an important point too, is like, um, you know,

148
00:12:58,120 --> 00:13:03,720
we say all the time, at least in the software development community, that it's probably smart

149
00:13:03,720 --> 00:13:08,040
not to roll your own crypto. So people have gotten the message about that. Like banks don't write

150
00:13:08,040 --> 00:13:11,080
their own encryption algorithm. Well, good banks don't write their own encryption algorithms in

151
00:13:11,080 --> 00:13:16,200
general. They rely on, you know, trusted sort of ideas about how that works from the security community.

152
00:13:16,200 --> 00:13:23,400
You know, and yet people seem to think it's totally fine to, uh, you know, basically invent their own

153
00:13:23,400 --> 00:13:27,960
platforms from scratch when this requires a huge amount of work, a huge amount of effort. And there

154
00:13:27,960 --> 00:13:32,440
are great community solutions out there already. And, um, you know, reinventing the wheel on this

155
00:13:32,440 --> 00:13:37,240
kind of thing just seems like, uh, way below the value line for, for most folks.

156
00:13:37,240 --> 00:13:41,880
Yeah. There was a few little, I mean, like we're here at, you know, SpringOne platform,

157
00:13:41,880 --> 00:13:45,480
as I like to say, the most awesome name conference ever. And, uh, you know, there's,

158
00:13:45,480 --> 00:13:48,760
I need to go look through my notes and stuff and rewatch some of the videos, but there are a few

159
00:13:48,760 --> 00:13:54,200
good anecdotes of people who are using, uh, well, PCF, I guess, Pivotal Cloud Foundry. And

160
00:13:54,600 --> 00:13:59,480
it illustrates like need to be silly again. Like we talk a lot about day two problems, right? Like

161
00:13:59,480 --> 00:14:04,760
once you put an application into production, you have to monitor it, you've got a operation stuff,

162
00:14:04,760 --> 00:14:09,640
but it's almost like with a platform and you've got like day 425 problems. We're like, you know,

163
00:14:09,640 --> 00:14:13,080
now we need to update the platform. Right. Like we're, we've built this whole other product,

164
00:14:13,080 --> 00:14:17,960
which I mean, obviously we're, we're both at a vendor, so that neatly fits into our financial and

165
00:14:17,960 --> 00:14:22,760
everything interests. But it is, I mean, these are the anecdotes that, that there's like three or

166
00:14:22,760 --> 00:14:26,920
four I've noticed of people who would say like, oh yeah, we built our own thing. And that, that's not

167
00:14:26,920 --> 00:14:31,720
cool. Right. And then we realize like now, like with encryption, like you don't really want to have

168
00:14:31,720 --> 00:14:36,200
to manage encryption when there are much better sources out there to do it for you.

169
00:14:36,200 --> 00:14:40,120
Right. Of course, the danger is that you don't realize that until day 100, 425,

170
00:14:40,680 --> 00:14:44,440
something like huge amounts of investment into it. Do you come across that a lot? Like,

171
00:14:44,440 --> 00:14:46,680
like up in your, you're up in the Northeast there?

172
00:14:46,680 --> 00:14:50,920
Uh, less, you know, sort of more of an, I'd like, but less than I feared.

173
00:14:50,920 --> 00:15:00,840
And, um, the, uh, I think, I think there's a particular tendency in certain industries to

174
00:15:00,840 --> 00:15:06,200
believe that they are special snowflakes and are, the probability is higher that people in

175
00:15:06,200 --> 00:15:11,480
certain industries will probably write their own platform. Um, and that's sometimes expected,

176
00:15:11,480 --> 00:15:15,640
right? It's kind of like really big companies are often operating at a scale that on some,

177
00:15:15,640 --> 00:15:22,440
uh, some, uh, orthogonal metric is unique or is actually bigger than most other companies

178
00:15:22,440 --> 00:15:27,800
of their size. And so that can motivate the, like the decision to write your own platform.

179
00:15:27,800 --> 00:15:32,920
But the key there isn't about, um, you know, it, it isn't about like number of transactions per

180
00:15:32,920 --> 00:15:37,400
second or whatever that you need to do. It should motivate the decision for a platform. It's again,

181
00:15:37,400 --> 00:15:42,440
really about the, it's a combination of the people, the processes and the technology that you're looking

182
00:15:42,440 --> 00:15:49,560
at and not simply, uh, not simply a, uh, sort of like performance metrics. Yeah, exactly. The, um,

183
00:15:49,560 --> 00:15:54,760
and I think the way to, the way to get around that question is going back to contracts of like,

184
00:15:54,760 --> 00:15:59,720
what are you giving up and what are you getting? Yeah. And if you're, if you're trying to accommodate

185
00:15:59,720 --> 00:16:05,960
a huge volume of transactions or some other large unique metric for your company, you should look at,

186
00:16:05,960 --> 00:16:11,320
well, is maybe the platform solves that. Maybe the thing I'm going to write will solve that one

187
00:16:11,320 --> 00:16:16,760
problem. What am I going to do about the other day, hundred and 425 problems that are also part of

188
00:16:16,760 --> 00:16:20,760
running the same platform. So. And then, and then I imagine also, once you spell out a contract,

189
00:16:21,800 --> 00:16:26,680
I mean, and to cut myself off as a, I recorded one of my other podcasts, the Lords of computer

190
00:16:26,680 --> 00:16:30,760
computing episode with, with Matt Curry from Allstate. And I'm always asking him about like,

191
00:16:30,760 --> 00:16:34,200
you know, what metrics would you use? And like, what, what, and at one point he was just like,

192
00:16:34,200 --> 00:16:40,760
why, why are you always asking about metrics? Right. And, and so with that kind of like,

193
00:16:40,760 --> 00:16:45,080
like context for it, you know, maybe at some point this is ridiculous, but I imagine if you spell out

194
00:16:45,080 --> 00:16:49,320
all this contract stuff, you can start to associate like dollar figures to it. Oh yeah, absolutely.

195
00:16:49,320 --> 00:16:53,000
And so you can kind of walk yourself through that, that bootstrapping for sure. Like,

196
00:16:53,000 --> 00:16:56,920
I feel like there's a technological bootstrapping thing to going cloud native. I'm making air quotes,

197
00:16:56,920 --> 00:17:02,360
but there's also a, for lack of a better word, business bootstrapping of just getting the business

198
00:17:02,360 --> 00:17:07,480
to, to realize that like, Oh, this is not an ERP system installed. Like this is not a VMware install,

199
00:17:07,480 --> 00:17:12,680
and this is not an app server install. This is like a different thing that we need to wrap our

200
00:17:12,680 --> 00:17:15,480
thinking and decision processes around. Yeah. And I think that's,

201
00:17:15,480 --> 00:17:19,800
that's sort of another benefit of the like contracts approach is that a different mode of thinking may

202
00:17:19,800 --> 00:17:26,520
help you see that this is fundamentally a different beast than like an ERP system. I mean, we, we've

203
00:17:26,520 --> 00:17:32,520
definitely, humans tend to want to analogize to things they already know. So it's very natural to

204
00:17:32,520 --> 00:17:38,360
want to look at PCF or another similar product and say, well, what is this like that I've already seen?

205
00:17:38,360 --> 00:17:43,160
Yeah. And in many cases, it's totally different than what you've already seen. So it's hard to sort

206
00:17:43,160 --> 00:17:48,440
of make that analogy. So that's why I think thinking about it in terms of a platform where you run

207
00:17:48,440 --> 00:17:53,160
applications and services is most meaningful because there aren't many things that do that and,

208
00:17:54,040 --> 00:18:00,120
or do it well, I should say. And, and that will probably be most directly comparable to what you're

209
00:18:00,120 --> 00:18:04,360
trying to build internally. If you're trying to make the decision between PCF and doing it yourself.

210
00:18:04,360 --> 00:18:10,200
Yeah. I was talking with one of our, our, our salespeople down, down in the south earlier today,

211
00:18:10,200 --> 00:18:16,280
and he was saying in his, in his kind of like industry, he was finding a lot of traction with the idea of,

212
00:18:16,920 --> 00:18:22,440
of like pitching cloud native and pivotal cloud foundry is sort of like this kind of new thing

213
00:18:22,440 --> 00:18:26,440
you're indicating is like, it's not only to analogize, it's not only an app server.

214
00:18:26,440 --> 00:18:27,640
Sure. Right. Right.

215
00:18:27,640 --> 00:18:31,640
But it's like, it's like, I think, I think the phrase is like one and done, like it's all this

216
00:18:31,640 --> 00:18:36,280
other middleware stuff on top. And I think, I think that's part, I always jokingly say middleware,

217
00:18:36,280 --> 00:18:41,640
because it's like, because you know, it's an old word, right? So it's hilarious. But I, I think that was

218
00:18:41,640 --> 00:18:46,360
one of the sort of epiphanies he had is like, at least for the people he talks with, if you tell

219
00:18:46,360 --> 00:18:51,160
them that it also includes middleware, then they're kind of like, Oh, right. So it's like,

220
00:18:51,160 --> 00:18:57,000
not only is it like infrastructure as a service, but it's also all this stuff on top. So you can just

221
00:18:57,000 --> 00:19:01,640
start to do applications. And I think, I mean, I, other than being crassly commercial like that,

222
00:19:01,640 --> 00:19:04,840
that kind of illustrates the point of like, how dare you, they haven't, yeah, they haven't,

223
00:19:04,840 --> 00:19:09,560
there haven't been that many stacks that sort of like have all this stuff in it. Like, and

224
00:19:09,560 --> 00:19:14,120
the only one that I could really think of was basically like as a Java developer, what I think

225
00:19:14,120 --> 00:19:19,720
of as .net, right? Like if you, if you're, if you're a Microsoft developer, I'm going crazy with

226
00:19:19,720 --> 00:19:25,080
the air quotes here. Like you have, you sort of historically, and nowadays as well, like you sort

227
00:19:25,080 --> 00:19:30,520
of have that, you're just like, I just get the MSDN DVDs and I'm done, right? Like I have everything,

228
00:19:30,520 --> 00:19:36,120
essentially. So, and I don't, outside of that world, aside from interesting little exotic stuff

229
00:19:36,120 --> 00:19:39,640
here and there, you don't really have, there hasn't really been a lot of that full stack.

230
00:19:39,640 --> 00:19:40,680
The batteries included.

231
00:19:40,680 --> 00:19:46,120
Yeah, exactly. And in fact, I think, I mean, at least way back when I, maybe even to the present,

232
00:19:46,120 --> 00:19:52,440
when, when I was a programmer, it was almost like you didn't want that, right? Like you wanted as much

233
00:19:52,440 --> 00:19:57,160
modularity as a developer, you wanted, or even architect, as much modularity as possible.

234
00:19:57,160 --> 00:20:01,800
And it was even delightful to go through and have the week long meetings deciding which frameworks

235
00:20:01,800 --> 00:20:06,280
to use on, on down the, the chain. Yeah. I mean, I think, you know, nowadays,

236
00:20:06,280 --> 00:20:10,920
especially with Microsoft being such a great partner for us, there's, you know, I think the

237
00:20:10,920 --> 00:20:18,040
days of like downloading the MSDN DVD are sort of behind us at this point, but the, you know,

238
00:20:18,040 --> 00:20:23,160
now you can grab a tiny slice of a .net framework if you want. Right. Yeah.

239
00:20:23,160 --> 00:20:27,960
They have it all broken up. It's been decomposed. Yeah, exactly. It's super modular as compared to,

240
00:20:27,960 --> 00:20:34,280
hey, I've got this enormous, you know, C++ runtime DLL, but like contains the entire C standard library. Yeah.

241
00:20:34,280 --> 00:20:40,920
And, you know, it's not the, it's not the, the, the, you're not boiling the ocean just to get one

242
00:20:40,920 --> 00:20:47,800
library inside your application. Yeah. I think there's definitely been a trend towards modularity. And I think,

243
00:20:47,800 --> 00:20:58,520
and I think also, especially with the rise of open source as a accepted, accepted tool chain for big

244
00:20:58,520 --> 00:21:04,120
businesses to use. Yeah. I think that's really helped things like Pivotal Cloud Foundry because

245
00:21:04,120 --> 00:21:13,480
we're at least in part a competition of various open source tools with our sort of proprietary Pivotal

246
00:21:13,480 --> 00:21:20,200
digital magic sprinkles in there for the support and the excitement of, um, of, uh, of, of how we're,

247
00:21:20,200 --> 00:21:25,720
of how we're like actually putting that platform together. So I think that's, uh, that represents

248
00:21:25,720 --> 00:21:32,600
something that I think is unique about PCF, um, as compared to say an arbitrary enterprise stack that

249
00:21:32,600 --> 00:21:36,760
you might be finding out. Yeah. Well, you remind me of something I've, I've been wondering and since,

250
00:21:36,760 --> 00:21:41,480
since you mentioned it also, I think kind of being in the, the, the like Northeast area, right? Like,

251
00:21:41,480 --> 00:21:48,200
so I, I, yesterday we had like our, our CIO round table, you know, which, which is, that was fun to,

252
00:21:48,200 --> 00:21:52,840
to present at and, and like hang out and listen to that. And, and in that, in that, that day,

253
00:21:52,840 --> 00:21:58,440
and then also other days I've noticed, um, there's been a lot of discussion or let me say more than

254
00:21:58,440 --> 00:22:04,920
the zero discussion I assumed about how it's basically like, so open source is cool. You should use it.

255
00:22:04,920 --> 00:22:10,360
And, and for me it's kind of like, I didn't even know that was a question still, but, but I mean,

256
00:22:10,360 --> 00:22:13,640
because you raised it up, like, what do you, what do you encounter out there as far as like,

257
00:22:13,640 --> 00:22:19,480
is there like skepticism or worry? Well, I mean like now, no, but like five years ago,

258
00:22:19,480 --> 00:22:24,840
I think it would be, I mean, five years ago we have said that Microsoft was like pushing an open

259
00:22:24,840 --> 00:22:29,560
source code editor and like all of this stuff. So like things have changed really fast. But, but like on,

260
00:22:29,560 --> 00:22:35,160
on, on, on the, the, the enterprise side, like, like, do they fret about using open source or?

261
00:22:35,160 --> 00:22:39,560
No. I mean, I think that again, five years ago that this would have been a totally different.

262
00:22:39,560 --> 00:22:42,920
Yeah. So not, not that long ago. It's easy to forget that was like 2011.

263
00:22:42,920 --> 00:22:48,360
Right. Exactly. Yeah. Well, actually I teach a class at a university in Charlottesville,

264
00:22:48,360 --> 00:22:54,200
Virginia, at UVA. And, uh, when you, when you start the class, they give you a roster of everyone

265
00:22:54,200 --> 00:23:01,960
who's in the class and their birth dates are, are on there too. And it's so sobering to look at that

266
00:23:01,960 --> 00:23:07,080
and see that they're all born like after 1995. Yeah. And that just makes me feel like super old.

267
00:23:07,080 --> 00:23:12,600
Like the, the video game systems they were playing were like Xbox and like it was on, you know, NES.

268
00:23:12,600 --> 00:23:14,600
Yeah. They never got to watch Seinfeld.

269
00:23:15,160 --> 00:23:16,920
Never got to watch Seinfeld. Maybe that rant, whatever.

270
00:23:16,920 --> 00:23:20,280
How can you live like that? Exactly.

271
00:23:20,280 --> 00:23:24,760
Well, so, so how, so how was your talk received? Did you, did you get questions or like what?

272
00:23:24,760 --> 00:23:27,400
Nobody booed. So that's always my threshold for a great talk.

273
00:23:28,840 --> 00:23:33,160
That would be awesome if, if like we were in some kind of industry where when you give

274
00:23:33,160 --> 00:23:34,920
a presentation where that was a possibility.

275
00:23:36,760 --> 00:23:40,120
Well, maybe I just haven't given it to the right audience where like people could boo at me.

276
00:23:40,120 --> 00:23:44,040
I mean, yes. Um, yeah, no, it was great. I think it was really well received. I think,

277
00:23:44,040 --> 00:23:50,200
uh, I was up against Josh Long and Casey West at the same time slot.

278
00:23:50,200 --> 00:23:53,640
So I think I was definitely competing with them on, uh, on attendance and, you know,

279
00:23:53,640 --> 00:23:58,600
lost miserably. But, uh, the, the people that did come were, uh, pretty excited about it.

280
00:23:58,600 --> 00:24:03,480
I got really great feedback afterwards. One person said that they were going to like,

281
00:24:03,480 --> 00:24:08,280
when they got back on Monday, they were going to like immediately start looking at the platform

282
00:24:08,280 --> 00:24:14,040
that they were considering and deciding if it was sort of holding up under this contracts approach.

283
00:24:14,040 --> 00:24:17,560
So I've, I was like the best possible thing someone could have said to me is that they got

284
00:24:17,560 --> 00:24:19,720
something out of the talk and they're going to put it into practice.

285
00:24:19,720 --> 00:24:21,080
That's awesome right afterwards. So.

286
00:24:21,080 --> 00:24:25,720
Huh? So other than the presentation, which I'll have to find the link to it when it gets posted,

287
00:24:25,720 --> 00:24:30,120
uh, you know, cause it's recorded. Um, but like, is, is there some other, like,

288
00:24:30,120 --> 00:24:33,400
I mean, do you have like a document or a blog post or something that goes over it?

289
00:24:33,400 --> 00:24:38,360
I don't know. I honestly, I honestly, this has been the synthesis of just like random ideas

290
00:24:38,360 --> 00:24:43,720
like while I'm in the shower of like, Hey, you know, I, I feel like I'm saying the same things

291
00:24:43,720 --> 00:24:49,240
a bunch of times to people in general. And it makes sense for me to kind of, um, start putting

292
00:24:49,240 --> 00:24:52,760
these thoughts down into a deck and that's usually my first like thing is like, how do I, how do I

293
00:24:52,760 --> 00:24:58,120
explain this to other people? And you know, my first stop, uh, at least for me is usually like,

294
00:24:58,120 --> 00:25:01,320
let me give a talk about it somewhere. So yeah, no, that's good. I mean, that's, that's a,

295
00:25:01,320 --> 00:25:04,360
that's an approach I use all the time, sort of presentation as whiteboard.

296
00:25:04,360 --> 00:25:08,520
Yeah, to kind of sort out your ideas and force yourself to do it.

297
00:25:08,520 --> 00:25:12,920
I'm certainly grateful to the conference organizers and, uh, you know, Humphrey for

298
00:25:13,640 --> 00:25:16,360
giving me a platform to blather on about this for a little bit.

299
00:25:16,360 --> 00:25:17,880
A platform for platforms.

300
00:25:17,880 --> 00:25:18,840
Yeah, exactly.

301
00:25:18,840 --> 00:25:22,360
What do you have anything else you, you want to go over on that, that topic or did we miss anything?

302
00:25:22,360 --> 00:25:26,760
No, I just, I, so I guess I'll just say that there, uh, you know,

303
00:25:26,760 --> 00:25:31,160
system stuff that I'm working on that I think is fun that other people might want to check out.

304
00:25:31,160 --> 00:25:33,960
I mentioned to you before we started the podcast and I'm looking at Kotlin,

305
00:25:33,960 --> 00:25:39,160
which is a really cool JVM based language that's trying to bring more of a functional style to,

306
00:25:40,040 --> 00:25:44,280
uh, keep like the flavor of Java, but have a more functional approach and,

307
00:25:44,280 --> 00:25:49,480
you know, introduce, um, some typing ideas from languages like Haskell and,

308
00:25:49,480 --> 00:25:52,840
um, and a little bit of OCaml sprinkles and things like that.

309
00:25:52,840 --> 00:25:55,880
So you're getting, you're getting a sort of functional experience without,

310
00:25:56,440 --> 00:26:03,800
without really needing to, uh, become fully functional programming zealot type stuff.

311
00:26:03,800 --> 00:26:07,000
Uh, and the other cool thing that I've been looking at lately is, um,

312
00:26:07,000 --> 00:26:13,320
a containerization technology called unikernels, which are sort of represent a next step in,

313
00:26:13,320 --> 00:26:18,440
uh, contain, or I should say a step in a certain direction for containers, not necessarily a next

314
00:26:18,440 --> 00:26:21,000
step, but, uh, expansion of the idea of what containers can be.

315
00:26:21,000 --> 00:26:21,000
Sure.

316
00:26:21,000 --> 00:26:27,160
And unikernels are super neat for very, very, very specific and very, very niche use cases at the

317
00:26:27,160 --> 00:26:32,600
moment. But, you know, no one thought that Docker or other containerization technologies would get

318
00:26:32,600 --> 00:26:39,080
as big as they were in 2012. So the fact that, uh, the fact that unikernels are starting to become a

319
00:26:39,080 --> 00:26:44,840
thing is I think very interesting to me and, um, and definitely worth checking out. They're really hard

320
00:26:44,840 --> 00:26:49,640
to use right now, but they're, they're getting better. And, uh, I suspect that maybe a couple of

321
00:26:49,640 --> 00:26:53,560
years from now, we'll be talking a lot more about unikernels than, than we were before.

322
00:26:53,560 --> 00:26:57,240
Yeah. Yeah. I mean, what little, we, we should, we should record another whole episode

323
00:26:57,240 --> 00:27:00,920
about that at some point, but like that, what little I know about unikernels, it seems like if you

324
00:27:00,920 --> 00:27:05,560
have the right kind of, I'm sure by this time we'll have a different word for it, but orchestration

325
00:27:05,560 --> 00:27:11,720
or choreography or management overlay thing of a jiggy on top of it, that it would actually be

326
00:27:11,720 --> 00:27:21,640
really interesting just for like, like really, really, uh, componentized and also oddly secure

327
00:27:21,640 --> 00:27:26,760
and trusted trusted is a better word than secure. Sort of just like processes, a little one-off process.

328
00:27:26,760 --> 00:27:29,800
I guess it wouldn't even have to be one-off, but just processes that you want to execute.

329
00:27:29,800 --> 00:27:34,600
Right. And you'd have these like little, little atoms of in out. And I mean, it's kind of,

330
00:27:34,600 --> 00:27:38,360
I guess it seems like a good way to implement like all this serverless mumbo jumbo. Yeah,

331
00:27:38,360 --> 00:27:42,120
definitely. Yeah. But you need, you need a, a management straight above that. Otherwise it's

332
00:27:42,120 --> 00:27:46,680
just, you know, you're a hundred percent right. A bunch of people yelling at you. Yeah. You know,

333
00:27:46,680 --> 00:27:51,640
a thousand like tiny voices is just a cacophony. That's not actually orchestration. Exactly.

334
00:27:51,640 --> 00:27:56,440
Or you got, you got my wacky analogy. Yeah. All right. Well, perfect. Well, where, where are you, uh,

335
00:27:56,440 --> 00:28:02,520
online and in Twitter and everything? So you can find me at JXXF on Twitter. And of course you can

336
00:28:02,520 --> 00:28:07,240
always find me on Pivotal, uh, or just, you know, yell at me somewhere on the internet and I'm sure

337
00:28:07,240 --> 00:28:12,520
I'll find myself. Perfect. Well, great. Well, as always, this has been Pivotal Conversations. You

338
00:28:12,520 --> 00:28:18,040
can find us, uh, like our, our raw SoundCloud page at soundcloud.com/pivotalconversations,

339
00:28:18,040 --> 00:28:24,760
because URL should be long to type. And, uh, you can also just go to, uh, blog.pivotal.io or I

340
00:28:24,760 --> 00:28:29,720
think it's, what is it? Pivotal.io/podcast. Man, I really need to memorize that. And you can see the,

341
00:28:29,720 --> 00:28:33,880
uh, lengthy show notes that get posted and everything. Uh, and with that, we'll see everyone next time.
