1
00:00:00,000 --> 00:00:05,940
We were talking a little bit before we were starting about haircuts and what goes on with hair.

2
00:00:05,940 --> 00:00:09,300
Now, Rita, you always have a haircut.

3
00:00:10,140 --> 00:00:11,300
So I want to start with you.

4
00:00:11,460 --> 00:00:17,340
What is your operating advice in these trying times for hair management?

5
00:00:17,740 --> 00:00:19,040
What do you do?

6
00:00:19,120 --> 00:00:20,660
Do you have your kid cut your hair for you?

7
00:00:21,080 --> 00:00:22,180
My husband cut it.

8
00:00:22,740 --> 00:00:28,240
But this is a fairly, well, new in the past couple of years.

9
00:00:28,300 --> 00:00:29,260
I got a really short haircut.

10
00:00:29,380 --> 00:00:31,720
Before that, it was meh.

11
00:00:31,720 --> 00:00:33,620
And I never really paid.

12
00:00:34,520 --> 00:00:36,480
I never liked paying a lot for haircuts.

13
00:00:37,380 --> 00:00:38,800
You're a supercuts girl.

14
00:00:40,500 --> 00:00:43,780
Yes, I've done supercuts for this haircut for sure.

15
00:00:44,020 --> 00:00:48,500
And before that, it was, you know, the woman across the street was an Ethiopian woman.

16
00:00:48,600 --> 00:00:56,820
She had a hair salon and she'd cut my hair there or I'd have friends trim it.

17
00:00:57,340 --> 00:00:59,980
So I never really had a style or a haircut.

18
00:01:00,060 --> 00:01:01,980
It was always pretty, whatever it was.

19
00:01:02,140 --> 00:01:08,060
But now I got this thing going on and I do great clips, which is like a supercuts.

20
00:01:09,360 --> 00:01:17,360
But I did earlier this year for the first time in many years, went and got a fancy haircut, you know, that cost me more than 20 bucks.

21
00:01:18,120 --> 00:01:19,640
And it needed it, right?

22
00:01:19,640 --> 00:01:22,300
Because it had a shape, you know, it gave it a shape.

23
00:01:22,300 --> 00:01:24,680
And it was definitely a nice haircut.

24
00:01:24,680 --> 00:01:29,320
I mean, I feel like living in the Bay Area, your decision was like 20 bucks.

25
00:01:29,400 --> 00:01:31,380
Do I get a cup of coffee or a haircut?

26
00:01:32,980 --> 00:01:33,380
Exactly.

27
00:01:33,960 --> 00:01:34,940
All right, might as well.

28
00:01:35,400 --> 00:01:40,040
But this time with the pandemic, I was wondering what to do.

29
00:01:40,160 --> 00:01:48,900
And my husband said, let's just use the clippers all over, you know, do a super, no guard on the side and then just do a four.

30
00:01:49,040 --> 00:01:56,240
And as he was doing it, actually, this is a funny story, he kept saying, it's doing that thing that dog hair does.

31
00:01:57,200 --> 00:02:00,580
I'm like, what thing that dog hair does?

32
00:02:00,820 --> 00:02:04,160
Do not compare my hair to dog hair while you're cutting it.

33
00:02:04,480 --> 00:02:05,260
Give me the mirror.

34
00:02:05,460 --> 00:02:08,180
And it actually wasn't that bad, but yeah.

35
00:02:08,180 --> 00:02:12,740
But what is that, like it gets maybe because the clippers like bite onto the hair too much?

36
00:02:12,860 --> 00:02:13,120
I think so.

37
00:02:13,300 --> 00:02:15,060
Yeah, I think it just kind of goes in that different direction.

38
00:02:15,220 --> 00:02:20,220
You know, like poodle hair sometimes does this thing and I'm like, oh my God, what are you saying?

39
00:02:20,880 --> 00:02:21,120
Yeah.

40
00:02:21,320 --> 00:02:25,680
No, I think your current hairstyle is very amenable to that approach.

41
00:02:26,260 --> 00:02:27,500
Yeah, it is.

42
00:02:27,540 --> 00:02:27,900
It's very good.

43
00:02:28,240 --> 00:02:32,640
How about, well, why don't you introduce yourself before we discover the mysteries of your hair care?

44
00:02:33,220 --> 00:02:33,820
Just why don't you say.

45
00:02:33,820 --> 00:02:34,320
Oh, very good.

46
00:02:34,400 --> 00:02:36,760
Oh, I never get asked about my hair care anymore.

47
00:02:37,140 --> 00:02:44,500
So I'm Bob Glitherow and I lead product marketing at VMware for the Tanzu data services portfolio.

48
00:02:45,160 --> 00:02:47,580
And this is a relatively new role for me.

49
00:02:48,040 --> 00:02:55,560
And before that, I actually headed up marketing for the Greenplum database at what used to be Pivotal.

50
00:02:55,900 --> 00:03:04,280
So it's kind of interesting moving from kind of a very relational centric world to this kind of brave new world of, you know, DevOps and microservices.

51
00:03:04,600 --> 00:03:17,960
And whereas before my previous role, I was concerned a lot about kind of model development because Greenplum is very, very well optimized for data science exploration and model training.

52
00:03:17,960 --> 00:03:25,600
And now, but, you know, one of the hardest things about data science arguably is getting models into production reliably at scale.

53
00:03:25,780 --> 00:03:34,080
And now kind of, I've kind of put a foot in that world and I've kind of seen that the tooling and the process that's geared towards that.

54
00:03:34,140 --> 00:03:37,180
It's kind of a very fascinating and eye-opening experience.

55
00:03:37,740 --> 00:03:48,660
And it's kind of given me a lens into the relationship between kind of the application teams and the database teams and kind of how they interact together.

56
00:03:49,060 --> 00:03:54,420
It's kind of the kind of, you know, let's get it done mentality of the application developer.

57
00:03:54,560 --> 00:04:03,280
I've got a ship at a certain time versus the kind of traditionally conservative nature of the DBA, whose primary concern is not having things blow up.

58
00:04:03,280 --> 00:04:10,680
That was exactly the thing you were making me think is an application developer does not care to make time for models, right?

59
00:04:10,780 --> 00:04:19,880
Which is not to say they would prefer at most to say there's an emergent model, not an a priori model.

60
00:04:20,120 --> 00:04:25,960
But so speaking of emergent models, what has been your way of handling hair?

61
00:04:26,160 --> 00:04:32,640
I have taken a very laissez-faire approach to my hair, if that makes any sense.

62
00:04:32,900 --> 00:04:33,180
Sure.

63
00:04:33,340 --> 00:04:35,000
Yeah, I'm just going back to high school.

64
00:04:35,300 --> 00:04:37,180
I'm just like, I'm back to the future.

65
00:04:37,340 --> 00:04:40,640
I'm just letting it go wild and it's cooperating.

66
00:04:41,420 --> 00:04:44,660
So basically, whatever it wants to do on a particular day, I just let it do.

67
00:04:44,960 --> 00:04:46,760
I've given up trying to control it.

68
00:04:47,160 --> 00:04:52,920
I think, you know, I'm sort of, I want to say I'm a hybrid of these two responses.

69
00:04:53,420 --> 00:05:01,540
I should be better at asking my wife to cut my hair because for many years, so I have a different hangup than not wanting to pay for haircuts.

70
00:05:01,540 --> 00:05:05,260
It's like, I just don't want to go somewhere or deal with someone, right?

71
00:05:05,300 --> 00:05:09,140
Because, you know, the haircutting people always, like, ask you who you are, how you're doing.

72
00:05:09,740 --> 00:05:16,600
And, like, I'm sure long-term listeners, like, you know, you sort of know what I do, but people, then they ask me what I do.

73
00:05:16,700 --> 00:05:19,500
And I'm just like, oh, my God, I don't want to go over that, right?

74
00:05:19,560 --> 00:05:23,680
Like, I just, my life is very confusing, inexplicable.

75
00:05:24,000 --> 00:05:29,180
And so, like, it's a very, like, and then do you, like, here, it's a little easier in Amsterdam.

76
00:05:29,440 --> 00:05:31,840
But then back in the States, it's like, do I tip this person?

77
00:05:31,960 --> 00:05:33,360
How much do I tip this person?

78
00:05:33,580 --> 00:05:35,280
Is this a 10, 15, 25?

79
00:05:35,560 --> 00:05:36,600
What am I doing here?

80
00:05:36,760 --> 00:05:42,740
Like, it's a very, for someone like me, getting my haircut is a very difficult experience.

81
00:05:43,080 --> 00:05:44,780
Traditionally, I would have my wife cut my hair.

82
00:05:44,880 --> 00:05:47,700
And I just feel, nowadays, I feel kind of bad asking her to do that.

83
00:05:47,760 --> 00:05:49,040
But I should ask her some more.

84
00:05:49,180 --> 00:05:52,540
I'm hoping as a result of all this, powdered wigs will come back into fashion.

85
00:05:52,820 --> 00:05:54,280
Oh, very nice.

86
00:05:56,440 --> 00:05:58,000
Powdered wigs encourage health.

87
00:05:58,380 --> 00:06:01,260
And you could, like, you could store stuff in there, too.

88
00:06:02,220 --> 00:06:02,620
Exactly.

89
00:06:02,940 --> 00:06:03,980
It's handy, right?

90
00:06:05,220 --> 00:06:07,660
So, back to the data topic.

91
00:06:07,740 --> 00:06:10,960
So, Rita, you had the idea to throw this together.

92
00:06:11,080 --> 00:06:12,720
Why don't you kick us off?

93
00:06:12,720 --> 00:06:25,540
So, as Bob mentioned, newly launched Tanzu Data Services kind of forced him to get smart on modern data architectures and practices pretty quickly.

94
00:06:25,820 --> 00:06:32,940
And so, I thought, you know, since he had to do all that learning and I'm a little lazy, he could come here and tell us about what he learned.

95
00:06:32,940 --> 00:06:45,360
I think it's also kind of, to set this up, it's useful to kind of contrast this with kind of the existing way of provisioning data services, you know, in a monolithic, you know, shared infrastructure kind of way.

96
00:06:45,460 --> 00:06:57,220
Because the way it used to be done and the way it still is done for a lot of legacy systems is there's this inordinate change management system that you have to go through.

97
00:06:57,220 --> 00:07:01,740
And a lot of coordination between the application teams and the DBAs.

98
00:07:01,820 --> 00:07:09,640
I mean, if you think about what you need to do to provision a new database today, absent a platform like Tanzu, for example.

99
00:07:09,860 --> 00:07:13,960
So, you start, you know, creating a request in your change control system.

100
00:07:14,160 --> 00:07:20,480
You know, the teams have to get together, review the sizing, review the other requirements initially for the change control meeting.

101
00:07:20,700 --> 00:07:25,520
You've got to create your diagrams, your data flows, you know, your connectivity between points.

102
00:07:25,520 --> 00:07:31,160
The infrastructure team has to look at it and decide who's going to do the work, you know, the change order is approved or not.

103
00:07:31,400 --> 00:07:32,800
You create your plans and your tasks.

104
00:07:32,980 --> 00:07:36,820
And then the app teams, the security teams, and the DBAs all start working on their piece.

105
00:07:37,200 --> 00:07:43,660
You install the database, you create the schemas, you verify the hardware, you create all the backup jobs and your other scripted jobs.

106
00:07:44,440 --> 00:07:51,180
You know, we aren't given a talk about, you know, having to deal with things like stored procedures and triggers if you're migrating from one to the other.

107
00:07:51,300 --> 00:07:53,240
And then the testing team has to validate everything.

108
00:07:53,240 --> 00:07:57,900
You've got to validate the backups and restores, create the credentials, the roles and permissions.

109
00:07:58,380 --> 00:08:00,120
And then finally, you've got the final sign-off.

110
00:08:00,300 --> 00:08:07,300
And I'll contrast all that with just being able to provision, you know, data services on the fly, you know, via a platform.

111
00:08:07,300 --> 00:08:30,420
And it's just like there's a lot of ways to satisfy the application developers need for velocity and rationalize that and balance that against the DBA's need to kind of create sane policies and configurations and defaults so that you can establish proper governance over the data while still giving the data team, the application teams, the flexibility they need.

112
00:08:30,420 --> 00:08:38,060
And so that was kind of like my biggest takeaway is kind of like the way a platform like Tanzu can really impact those workflows.

113
00:08:38,480 --> 00:08:47,120
And like, you know, so I have a background as an application developer and I only sparingly worked with data people.

114
00:08:47,460 --> 00:08:53,020
And then, in fact, like the main data people I worked for were like developers who were forced to understand databases.

115
00:08:53,640 --> 00:09:03,500
Right. So it's a different a different mentality and something that like that like and you touched upon this a little bit that I never I never felt like I understood fully is sort of like I don't even know how to phrase it.

116
00:09:03,520 --> 00:09:08,080
But like what is the code of ethics that a data person has?

117
00:09:08,480 --> 00:09:08,920
You know what I mean?

118
00:09:08,920 --> 00:09:24,360
Like like like as an example, like the code, the code of a the principles that an application developer like operates on is like as you as you're saying is like I need to be able to try out a bunch of stuff without people having me go to a meeting.

119
00:09:25,140 --> 00:09:37,260
Right. Like like right since I write like since I move pixels on the screen, the best quality stuff I'm going to get is if I am allowed to tinker and just like move the pixels on the screen and like see if it works.

120
00:09:37,260 --> 00:09:43,320
And whereas I feel like so that that's not exactly like the code that a data person has.

121
00:09:43,380 --> 00:09:49,140
I feel like there's a completely different just like way of thinking that a data person has.

122
00:09:49,680 --> 00:09:51,680
Yet I think you're right about that.

123
00:09:51,760 --> 00:10:02,120
And I think the nature of the DBA's job makes them very conservative because your first task is to not lose data above all.

124
00:10:02,120 --> 00:10:13,920
All right. And if you have a shared kind of monolithic database, then, you know, there are a lot of different groups that depend on kind of the stability of the underlying infrastructure.

125
00:10:14,320 --> 00:10:17,280
You know, changes to schemas have to be carefully considered and improved.

126
00:10:17,760 --> 00:10:20,720
None of this is really aligned to things like release velocity.

127
00:10:20,720 --> 00:10:34,840
And so, you know, it's it's nice if you can create a variety of data services that can basically serve the need of data at different points in the life cycle.

128
00:10:35,000 --> 00:10:42,940
So, for example, if we want to bring data into for analysis, one of the first things we have to figure out is does the data actually have any value?

129
00:10:42,940 --> 00:10:45,240
So we have to do some exploratory analysis.

130
00:10:45,860 --> 00:10:56,220
And, you know, as we increase our semantic understanding of the data and as different groups within the enterprise decide whether or not they can use it for their own purposes,

131
00:10:56,220 --> 00:11:02,760
it becomes increasingly codified and it becomes increasingly centralized in databases and warehouses.

132
00:11:03,480 --> 00:11:12,240
And the more centralized that get, the harder it is to get agility into the use of that data because there are so many different groups that are impacted by change.

133
00:11:12,660 --> 00:11:19,860
So it's not like, you know, a data scientist wants to go take a little data, maybe do some exploratory analytics, gather statistics on the data,

134
00:11:20,220 --> 00:11:23,900
do a little bit of feature engineering to see which features have explanatory power.

135
00:11:23,900 --> 00:11:30,320
And so that's been a primary driver of kind of like why the cloud has become so important in data science,

136
00:11:30,320 --> 00:11:35,900
because it gets you going quickly and allows you to do rapid modeling and exploration on smaller data sets.

137
00:11:35,900 --> 00:11:42,020
So you can kind of do tests and find out, OK, maybe there's some signal in this data or maybe this group of data is mostly noise.

138
00:11:42,540 --> 00:11:50,560
And tell me if I'm wrong, but it seems like there's two major sort of like guiding activities that you do with data.

139
00:11:50,660 --> 00:11:51,620
There might be other ones.

140
00:11:51,620 --> 00:11:56,600
Like I always forget sort of about like archive and retrieval, which is its own like fun area.

141
00:11:56,600 --> 00:12:02,660
But like it's basically like I want to read from this data or I want to like change the data or I want to write.

142
00:12:03,000 --> 00:12:07,420
And it seems like reading from the data is a little easier to the point of what you're saying.

143
00:12:07,460 --> 00:12:10,180
You have to make sure that it's good, right?

144
00:12:10,220 --> 00:12:24,520
Like that you're getting that you're getting not only relevant data, like you don't want to drown in data and you also don't want to like what starved but you die of thirst just to you don't want to like, you know, die of thirst of too much too little data.

145
00:12:24,520 --> 00:12:27,560
But you also want to make sure that you don't get like bunk stuff.

146
00:12:27,560 --> 00:12:36,220
I think just like pulling the data and doing something with it is a lot easier and less dangerous than actually writing the data.

147
00:12:36,440 --> 00:12:37,420
Or I don't know.

148
00:12:37,500 --> 00:12:38,360
Is that the case?

149
00:12:38,780 --> 00:12:39,000
Yeah.

150
00:12:39,220 --> 00:12:45,740
Although you what you don't want to do is like be running these experiments against the production database system.

151
00:12:45,740 --> 00:12:46,380
Right, right, right.

152
00:12:46,440 --> 00:12:48,760
I guess there's the performance implication, right?

153
00:12:48,940 --> 00:12:49,220
Like that.

154
00:12:49,760 --> 00:12:50,380
Yeah, yeah.

155
00:12:50,580 --> 00:12:50,880
Yeah.

156
00:12:50,920 --> 00:12:54,680
And I remember I remember hearing I forget who it was, but someone going over.

157
00:12:55,080 --> 00:13:00,520
It's not really like a data thing, but it's kind of representative like a a case where they were trying to remove.

158
00:13:00,820 --> 00:13:05,640
You know, they were going through a bunch of stored up emails that had never been used for anything.

159
00:13:05,640 --> 00:13:08,720
And that caused such a huge performance hit that it brought down production.

160
00:13:09,620 --> 00:13:11,420
So there are concerns like that.

161
00:13:11,420 --> 00:13:11,700
Right.

162
00:13:11,960 --> 00:13:16,300
And so, you know, we kind of kicked off this talking a little bit about analytics.

163
00:13:16,780 --> 00:13:22,400
And so, you know, one of the your imperatives for data science is getting faster feedback.

164
00:13:23,060 --> 00:13:30,280
And so anything you can do that will kind of shrink the communication time between different teams is critical for success.

165
00:13:30,460 --> 00:13:39,080
The other thing that's been fascinating talking about my transition into this role is that we've talked about the various flavors of, you know, DevOps, data ops, whatever, ML ops.

166
00:13:39,080 --> 00:13:50,940
And it's just it's just interesting to see how broadly applicable some of these practices are across DevOps or data engineering or this emerging practice area.

167
00:13:51,080 --> 00:13:53,080
That's ML ops, machine learning ops.

168
00:13:53,220 --> 00:13:56,360
You know, you've got like you have a notion of version control.

169
00:13:56,500 --> 00:14:05,560
Well, you also have a notion of version control in machine learning as well, because you've got to do code version control as well as data versioning, as well as model versioning.

170
00:14:05,560 --> 00:14:08,600
Right. So that you can quickly roll back if there's like a problem.

171
00:14:08,600 --> 00:14:15,600
So and of course, one of the one of the key attributes you have to design for is reproducibility of results.

172
00:14:16,060 --> 00:14:17,920
Right. You can't have inconsistent results.

173
00:14:18,280 --> 00:14:30,140
And so having kind of these DevOps practices that helps kind of standardize all that, I think is going to be an important asset and influencer in kind of how machine learning is approached, you know, in the future.

174
00:14:30,300 --> 00:14:41,160
You said the word consistency and that just reminds me of a conversation I was involved in listening to between a data person and a dev person.

175
00:14:42,300 --> 00:14:46,680
And the data person was actually a former dev person who needed to talk to data people.

176
00:14:46,740 --> 00:14:55,680
And they were talking about the concept of eventual consistency, which my understanding and Bob, maybe you can tell me a little bit about what it means is the data folks freak out.

177
00:14:55,800 --> 00:14:56,820
They don't like this concept.

178
00:14:56,960 --> 00:15:02,560
Whereas to move fast, developers need to embrace or are looking for this kind of concept.

179
00:15:02,800 --> 00:15:03,720
Well, it's kind of funny.

180
00:15:03,820 --> 00:15:14,340
We we had a listening exercise with some of our customers and the context was kind of like moving from kind of moving to a microservices or a cloud native type of patterns.

181
00:15:14,340 --> 00:15:31,620
And to a person, they highlighted consistency as the number one thing that they struggle with in this making this move from kind of a monolithic type of architect stacks to the microservices type.

182
00:15:32,140 --> 00:15:39,820
Like at the top of the hour, we talked a little bit about things like two phase commit, which is common in the relational world.

183
00:15:39,820 --> 00:15:47,720
But it's actually an anti-pattern in the microservices because it inadvertently creates tight coupling between services, which is something you don't want.

184
00:15:47,820 --> 00:15:52,720
But this notion of eventual consistency, you know, is definitely a problem.

185
00:15:52,800 --> 00:16:00,740
You've got basically three things according to the CAP theorem that you can optimize against, you know, availability, partition tolerance and consistency.

186
00:16:01,400 --> 00:16:16,520
And if you look at, for example, something like our in-memory data grid product, Gemfire, which is used also as an application cache, we've chosen to optimize for consistency and for partition tolerance.

187
00:16:16,520 --> 00:16:21,060
So, for example, you can avoid split brain effects if you lose part of your network.

188
00:16:21,620 --> 00:16:26,180
But, you know, you want to be able to give consistent results to queries.

189
00:16:26,320 --> 00:16:33,220
You don't want the inventory system saying something's in stock to one request and saying it's, you know, out of stock to a different request.

190
00:16:33,460 --> 00:16:37,200
And so managing the consistency, you know, is very, very important.

191
00:16:37,380 --> 00:16:39,820
Can you talk a little bit to me a little bit about that, right?

192
00:16:39,880 --> 00:16:45,720
Is it that, is it the belief or the setup that eventually the data will all be the same?

193
00:16:45,720 --> 00:16:50,420
But right now, while you're working on it, all you need is like an, almost like an MVP, like the MVP of data.

194
00:16:50,560 --> 00:16:52,540
Like this is just the data that I need right now.

195
00:16:52,680 --> 00:16:53,920
It's good enough for now.

196
00:16:54,020 --> 00:16:54,860
And eventually it will be.

197
00:16:55,520 --> 00:16:57,740
So you're balancing kind of two concepts.

198
00:16:57,740 --> 00:17:02,460
So you have this notion of eventual consistency versus strong consistency.

199
00:17:03,660 --> 00:17:10,500
And in strong consistency, you've got up-to-date data, but it comes at the cost of high latency.

200
00:17:11,420 --> 00:17:23,320
Whereas with eventual consistency, you're willing to tolerate some level of stale data since all the nodes of the database may not have the updated data, but that buys you low latency.

201
00:17:23,580 --> 00:17:25,760
So you can have very responsive applications.

202
00:17:26,500 --> 00:17:32,460
And so which of these you choose depends on kind of the use case and how much tolerance you have for stale data.

203
00:17:32,460 --> 00:17:37,140
Talk to me, like how stale can data be in that kind of eventual consistency model?

204
00:17:38,100 --> 00:17:40,600
Well, it depends on how fresh the insight you need.

205
00:17:40,700 --> 00:17:42,280
And then again, it's driven by your use case.

206
00:17:42,580 --> 00:17:55,320
Like if you're doing like recording financial transactions on behalf of a large bank with many trading desks, you want data to be as consistent as possible, right?

207
00:17:55,600 --> 00:17:56,860
And as quickly as possible.

208
00:17:57,620 --> 00:18:03,660
If you're talking about maybe an e-commerce application, you know, you may be able to tolerate a little more.

209
00:18:03,880 --> 00:18:06,940
So again, it just depends on kind of the situation you find yourself in.

210
00:18:07,200 --> 00:18:23,900
Yeah, is there like a, I'm just going to throw out a bunch of words here, like a methodology or a gradient or ironically a model that allows you to figure out when consistency can be more slack than not?

211
00:18:23,960 --> 00:18:25,560
Like you cited two things, right?

212
00:18:25,560 --> 00:18:38,020
Like I would imagine, I don't really know much about these things, but when you're doing like flash trading where you're profiting off of milliseconds, like that's, it's important to be accurate, right?

213
00:18:38,200 --> 00:18:48,020
With what you're doing, whereas like even in retail, like my experience using retail is like sometimes I get an email, it's like, oh, sorry, that's not available.

214
00:18:48,500 --> 00:18:54,760
It's just like, I know, I know I charged your card and I said we were going to ship that, but it turns out you don't get it, right?

215
00:18:54,760 --> 00:19:11,140
Like, or, and, and so in that instance, like, especially, I mean, I almost think at almost all of retail, like it's a huge, it's like at least multiple minutes, if not hours and days that the consistency window can just be whatever.

216
00:19:11,140 --> 00:19:16,260
Well, I could actually point to an example that we use every single day, right?

217
00:19:16,420 --> 00:19:24,940
So the internet's domain name system that we use is a, probably the best known example of a system with eventual consistency, right?

218
00:19:25,140 --> 00:19:34,100
So the servers that have, you know, the namespace that don't necessarily reflect the latest values, but they're cached and they're replicated across a lot of different directories.

219
00:19:34,100 --> 00:19:39,440
And it takes a certain amount of time for updates to percolate, you know, over the DNS system.

220
00:19:40,220 --> 00:19:46,340
And so in that case, you can have some tolerance because what's the risk of loss if there's an error, right?

221
00:19:46,640 --> 00:19:48,100
Well, you know, not that great.

222
00:19:48,240 --> 00:19:48,680
Yeah, yeah.

223
00:19:48,740 --> 00:19:56,960
It's almost like the measure is like, well, I'm being silly about it, but like how many, how many times are you willing to reload the webpage, right?

224
00:19:57,020 --> 00:20:00,480
Like, and with the DNS update, it's just like, I don't know, whatever, I'll reload it.

225
00:20:00,620 --> 00:20:02,340
It's like, I know it's fine.

226
00:20:02,460 --> 00:20:07,180
And, and like with all the, with most experiences people have, like you'll reload the webpage.

227
00:20:07,600 --> 00:20:18,520
I mean, the, I, in my, I mean, I'm getting kind of corny and simplistic here, but like the only frustration in a retail thing of losing data is when you've spent like, you know, an hour building up your grocery list and then it just disappears.

228
00:20:18,520 --> 00:20:18,760
Right.

229
00:20:19,240 --> 00:20:24,160
You know, it's, it's not the end of the world if, you know, your shopping cart dumps, you just reload.

230
00:20:24,340 --> 00:20:24,540
Right.

231
00:20:24,960 --> 00:20:25,700
Right, right, right.

232
00:20:25,760 --> 00:20:32,900
Whereas if you traded on like, you know, a fractional penny price and something and the price was wrong, then there's a bunch of money that you just lost.

233
00:20:32,980 --> 00:20:35,220
There's no, there's no, there's no, there's no reload on that.

234
00:20:35,700 --> 00:20:41,060
You may have, you know, a bad risk calculation that impacts your investment decisions, things like that.

235
00:20:41,300 --> 00:20:41,600
Yeah.

236
00:20:41,720 --> 00:20:41,980
Yeah.

237
00:20:42,040 --> 00:20:53,920
And then I guess on the other extreme end would be like, like some, I don't know if people call this anymore, but some like internet of things stuff, like, like autonomous driving.

238
00:20:53,920 --> 00:20:56,000
It's important for it to happen.

239
00:20:56,180 --> 00:21:04,660
I don't know if I'm confusing quickly with consistently, but like, you want to make sure that the data is good because you're going to be making a lot of decisions quickly.

240
00:21:04,780 --> 00:21:04,920
Yeah.

241
00:21:04,940 --> 00:21:10,440
So what do you do in that situation where you're like, you need like real time modeling and insights made?

242
00:21:10,780 --> 00:21:13,620
How, how's all the cap stuff and everything apply to that?

243
00:21:14,060 --> 00:21:23,600
Well, you know, just kind of taking a little different view is it's kind of like, that's why you have the, these so-called no SQL databases or non-relational databases.

244
00:21:23,600 --> 00:21:32,600
Because it allows the developer to kind of make a trade-off and choose the optimal balance between strong consistency and eventual consistency and latency.

245
00:21:33,220 --> 00:21:35,400
So you can kind of get the best benefits of both worlds.

246
00:21:35,900 --> 00:21:43,300
And so that's kind of one of the reasons why our portfolio for Tansu data services is structured the way it is.

247
00:21:43,660 --> 00:21:52,180
So you can choose the, the data backing service that's appropriate for whatever use case SQL isn't going to go away anytime soon.

248
00:21:52,280 --> 00:22:07,080
You're going to need to have a need for relational data for quick prototyping of your schemas or for transactional workloads or even some OLAP or in the context of analytics, data prep, data cleansing, things like that.

249
00:22:07,320 --> 00:22:18,080
Whereas, you know, if you need the ability to kind of independently scale your reads and writes in a particular use case, then you've got Gemfire.

250
00:22:18,260 --> 00:22:32,280
And then we also supplement that with our partner ecosystem of various NoSQL and SQL data stores so that, you know, you can kind of choose and mix and match the one that you need for your particular application.

251
00:22:32,700 --> 00:22:32,840
Right.

252
00:22:33,260 --> 00:22:41,720
But, you know, it's, it just depends on kind of how much tolerance you have for stale data in whatever setting you're in.

253
00:22:42,340 --> 00:22:42,500
Yeah.

254
00:22:42,700 --> 00:22:42,900
Yeah.

255
00:22:43,460 --> 00:22:43,860
Yeah.

256
00:22:43,940 --> 00:22:47,960
I mean, that seems like, that seems like it, that would be a good guidebook for developers.

257
00:22:48,800 --> 00:22:49,240
Right.

258
00:22:49,260 --> 00:22:51,720
Like, you know, how, how stale do you want your bread?

259
00:22:52,040 --> 00:22:56,200
Are you making French toast or like very something that's, that's more fresh?

260
00:22:56,400 --> 00:23:01,440
And, and, and so, so we talked about the, I mean, you know, the op side of things.

261
00:23:01,440 --> 00:23:08,620
What is, I mean, you've gotten over this a little bit, but like in, in the, in the data world, what is the ops stuff?

262
00:23:08,620 --> 00:23:19,660
And so, so what I, what I mean by that question is like in the application world, the ops stuff is largely about what older people like me would call release management and configuration management.

263
00:23:19,660 --> 00:23:19,880
Right.

264
00:23:19,880 --> 00:23:24,500
Like how do I package up and configure my application to run in production?

265
00:23:24,820 --> 00:23:29,720
And then also like, uh, how do I troubleshoot it in production?

266
00:23:29,880 --> 00:23:35,760
And so it's kind of like having developers do that is a lot of what the literal DevOps stuff is.

267
00:23:35,820 --> 00:23:42,400
You know, there's all the, uh, you know, dogs under desk cultural stuff, which is valid on its own, but it's a different related topic.

268
00:23:42,400 --> 00:23:50,220
But anyway, so in the data world, like what are the operations things that I guess you're letting developers or data modelers do?

269
00:23:50,220 --> 00:23:57,780
Well, one of the things you're doing is streamlining the provisioning workflows for data services, right?

270
00:23:58,380 --> 00:24:01,720
And so for example, I mean, I'm just going to reach back into my own past.

271
00:24:01,820 --> 00:24:05,140
I was kind of the accidental DBA earlier in my career.

272
00:24:05,880 --> 00:24:17,820
Um, and by that, I mean, so I was in charge of financial reporting at a large media conglomerate and we, you know, their application ship with some anonymous OEM database.

273
00:24:18,880 --> 00:24:23,780
And just, I would, that thing we're talking about way back in the days of client server.

274
00:24:24,240 --> 00:24:29,720
And, you know, I had to kind of, you know, babysit that thing because if we just looked at it the wrong way, it would go down.

275
00:24:29,800 --> 00:24:37,800
And one of the things I learned, you know, fortunately before I had, uh, any kind of severe situation is the importance of like rigorous and regular backups.

276
00:24:38,180 --> 00:24:46,400
And restores, especially specifically testing that because the vendor consultants didn't understand anything about the, the underlying OEM database.

277
00:24:46,400 --> 00:24:48,860
They just were experts in their business logic.

278
00:24:49,320 --> 00:24:49,460
Yeah.

279
00:24:49,640 --> 00:25:12,300
Um, and so, you know, kind of automating a lot of the, the day one and day two stuff, um, is of course really, really valuable because if you're kind of a DVA, the, the, the real thing, the real things that you're focused on solving, uh, is kind of like understanding kind of what's going on with your long running queries, right?

280
00:25:12,300 --> 00:25:17,620
Like what's going on, what's, what's, what's, what's blocking their execution, right?

281
00:25:17,640 --> 00:25:21,620
How are we balancing, you know, performance amongst the different, you know, execution?

282
00:25:22,120 --> 00:25:25,980
How do we make sure resource consumption, uh, isn't getting out of control?

283
00:25:26,900 --> 00:25:29,060
Um, you know, how are we isolating workloads?

284
00:25:30,020 --> 00:25:42,280
And so, you know, the, the, the data ops quote unquote, uh, practice kind of helps kind of reduce a lot of the busy work, uh, that data teams have to do.

285
00:25:42,300 --> 00:25:51,600
Um, the other application you can think of is for more practical, uh, data quality, uh, and data validation, right?

286
00:25:51,640 --> 00:25:57,480
So, you know, you, a good data pipeline usually starts by validating, uh, the input data.

287
00:25:57,480 --> 00:26:04,840
So it could be for file format and size, you know, or the column types, what you're expecting, how are you handling like null or empty values?

288
00:26:04,840 --> 00:26:21,040
What do you do with invalid values so that you can, for example, get this data prepped, uh, for, uh, analytics training and prediction around 45 to 55% of, you know, data scientists time is spent on data prep.

289
00:26:21,040 --> 00:26:39,300
So one of the key, uh, what I think one of the areas that's rich for mining, uh, is this notion of kind of using these, these data ops practices to help automate a lot of that work, uh, so that, you know, the data scientists and the data engineers can focus on the things that they'd rather be doing, uh, which is making, you know, kind of the higher level troubleshooting.

290
00:26:39,300 --> 00:26:43,260
You want to get as much of the infrastructure and ops out of the way as possible.

291
00:26:43,580 --> 00:26:50,720
And, you know, at the top of the hour, I talked a lot about kind of the, the basic, the change management process you have to go through and provisioning a data service.

292
00:26:51,240 --> 00:27:02,260
So, you know, data ops kind of takes away a lot of that and streamlines a lot of that so that the developers can kind of get the velocity they need, um, and, and, and work the way they want to.

293
00:27:02,260 --> 00:27:12,460
Whereas, um, the DBAs can set up the, the appropriate defaults, the appropriate policies and controls and governance over the data, um, as well.

294
00:27:12,460 --> 00:27:18,000
So it's kind of, it, it brings a lot of benefits, I think, to both the app developers as well as the data teams.

295
00:27:18,000 --> 00:27:21,600
You know, it's not just the, the app developers that are having all the fun with DevOps.

296
00:27:21,760 --> 00:27:23,820
Now that the data teams can benefit as well.

297
00:27:24,080 --> 00:27:27,900
Yeah, that's a good, like, I, I like, I like the way you approach that answer.

298
00:27:27,900 --> 00:27:35,560
Cause it is, uh, it's very similar to sort of like the answer to DevOps stuff, which is, which is what does the DBA actually do every day?

299
00:27:35,980 --> 00:27:36,380
Right?

300
00:27:36,420 --> 00:27:42,160
Like, like what, what, what are the, the activities that they go over just to like keep the thing up and running and not falling apart.

301
00:27:42,160 --> 00:27:52,640
And a lot of, a lot of what those are in the operations and infrastructure world is a lot of the technical stuff that like DevOps is trying to do better and, and, and automate.

302
00:27:52,720 --> 00:27:53,900
But that, that makes a lot of sense.

303
00:27:53,900 --> 00:28:00,900
A lot of what you said just sounds so familiar to me from conversations we've been having for several years now, uh, in the industry, right?

304
00:28:01,100 --> 00:28:11,080
And context of DevOps, which is reduction of toil, let the data folks do the thing they, they want to do and need to do, you know, um, more quickly and, uh, and consistently.

305
00:28:11,080 --> 00:28:17,900
So that's kind of, well, it helps to align the interests of the application developers and the DBAs.

306
00:28:18,660 --> 00:28:22,920
Um, there's kind of a running joke in the industry that DBA stands for don't bother asking, right?

307
00:28:23,640 --> 00:28:24,040
Right.

308
00:28:24,580 --> 00:28:25,720
Doctor, no, right.

309
00:28:25,860 --> 00:28:27,360
You know, you can't have that change.

310
00:28:27,620 --> 00:28:37,080
And so when you have a platform that supports these, you know, new types of workflows, I think it's easier to harmonize the culture and organization.

311
00:28:37,080 --> 00:28:44,840
It removes, it has a potential to remove a lot of friction between the app development teams and the data teams.

312
00:28:45,040 --> 00:28:45,320
It's funny.

313
00:28:45,500 --> 00:28:50,300
It made me think about the role of technology in, uh, transforming culture.

314
00:28:50,640 --> 00:28:54,960
I can't believe I just said transforming, but you know, uh, influencing culture and how people work.

315
00:28:54,960 --> 00:28:56,880
But I think there's something to be said for that.

316
00:28:56,880 --> 00:29:03,300
We, we talk a lot about, uh, the importance of culture for modernization and digital transformation and such.

317
00:29:03,300 --> 00:29:07,120
And I'm, I'm seeing that this is a conversation you have, uh, here as well.

318
00:29:07,340 --> 00:29:09,920
So, uh, yeah, which is kind of what I wanted to talk about.

319
00:29:10,020 --> 00:29:19,500
Have you, have you guys, have you all, uh, started to have conversations with customers or hearing any, uh, anything about the cultural implications of this?

320
00:29:19,860 --> 00:29:25,820
Uh, how do you change mindsets between, uh, DBAs and devs and folks to, to make this stuff reality?

321
00:29:25,820 --> 00:29:33,420
Well, I'll just say that, um, you know, again, just beating the, uh, reiterating this point, you kind of got two competing interests.

322
00:29:33,520 --> 00:29:40,720
The developers kind of want to ship quickly to meet, you know, their, their timeframes, their, their, their deliverable deadlines.

323
00:29:40,920 --> 00:29:42,780
And they're focused on the business uners.

324
00:29:42,780 --> 00:29:49,460
So they're kind of have a kind of a, I don't want to say a short-term focus, but they're, they're more kind of immediately focused on their goals.

325
00:29:49,460 --> 00:29:56,900
Whereas the DBAs are doing everything they can to try to kind of build out and govern the data answer and get the most long-term value out of the data.

326
00:29:56,900 --> 00:29:59,840
And these, these two things don't always harmonize.

327
00:29:59,980 --> 00:30:10,500
So to the extent that, you know, you have these data ops processes that can automate a lot of these workflows, it just kind of makes it, I think, easier to harmonize the interests of these two groups.

328
00:30:10,500 --> 00:30:20,820
Yeah. And I wonder, and we don't have to answer this, but I wonder what, uh, a data, a DBA's concept of an MVP, which is minimal viable product is versus a dev or an ops person's.

329
00:30:20,820 --> 00:30:31,360
Like minimal, minimal viable data that, you know, based on, based on what we've been talking about, even that, the way I was just thinking that would be, it's more, it's more like a minimum viable.

330
00:30:31,820 --> 00:30:35,100
I've got the right stuff and it's performant, right?

331
00:30:35,100 --> 00:30:42,920
Like it's like the data is, is almost a side effect of like the care and feeding and the gardening and the, and the, the way you're operating with it.

332
00:30:42,920 --> 00:30:47,360
Right. Like it's a, the data is fine, but it's really all the performance characteristics around it.

333
00:30:47,360 --> 00:30:49,940
And it's, it's, it's a consistency and latency and everything.

334
00:30:49,940 --> 00:30:52,280
That's the real like challenge to provide.

335
00:30:52,280 --> 00:30:56,920
So you sort of need like minimum viable reliability, which that sounds terrible.

336
00:30:57,460 --> 00:31:01,840
No one wants the minimum viable, eventual consistency.

337
00:31:02,100 --> 00:31:02,420
Just kidding.

338
00:31:03,080 --> 00:31:03,520
My favorite.

339
00:31:03,680 --> 00:31:06,900
I just think I like, I like the way eventual consistency sounds, I think.

340
00:31:07,180 --> 00:31:07,720
More than anything.

341
00:31:07,920 --> 00:31:08,040
Anyway.

342
00:31:08,240 --> 00:31:08,480
Yeah.

343
00:31:08,480 --> 00:31:13,980
So, uh, I, I mean, I mean, before, before we wrap up here, I, I always like find stories

344
00:31:13,980 --> 00:31:18,440
and case studies and stuff pretty illustrative of, of like more, some of the concepts we've

345
00:31:18,440 --> 00:31:18,780
talked about.

346
00:31:18,780 --> 00:31:23,180
Like, do we have some good ones to refer people to that kind of like hit on how to turn, you

347
00:31:23,180 --> 00:31:26,940
know, the, the don't bother asking role into the like, come, please ask.

348
00:31:27,060 --> 00:31:27,740
What would that be?

349
00:31:28,120 --> 00:31:28,520
CPL.

350
00:31:29,000 --> 00:31:35,160
Uh, but like, like what, how, how have people like moved beyond, like, don't ever talk to

351
00:31:35,160 --> 00:31:37,700
the DVA and like, let's do something useful here.

352
00:31:37,700 --> 00:31:40,560
Like, what are some, some stories you could refer people to?

353
00:31:40,700 --> 00:31:46,200
I don't know if we'll ever get to the point where, you know, don't talk to the DVA is,

354
00:31:46,200 --> 00:31:48,920
is, is, is part of the vocabulary.

355
00:31:49,280 --> 00:31:54,140
Um, at least I hope not because, you know, there, as I say, the DV is like to, I'd like

356
00:31:54,140 --> 00:31:59,500
to think that they had some value to add, but yeah, we recently wrote a blog post, uh,

357
00:31:59,500 --> 00:32:03,980
introducing kind of the Tanzu data services and what the rationale was.

358
00:32:04,340 --> 00:32:07,640
And one of the, we, we, we highlighted a number of case studies.

359
00:32:07,640 --> 00:32:13,120
And I, one thing I would refer people to is to look at that blog and look at the case

360
00:32:13,120 --> 00:32:21,140
study for MasterCard, which was basically using, um, Gemfire as their backing service for their

361
00:32:21,140 --> 00:32:26,600
fraud detection system and scaling that to, you know, billions of transactions a day and

362
00:32:26,600 --> 00:32:32,080
making, you know, instant decisions on, you know, whether or not a transaction is fraudulent

363
00:32:32,080 --> 00:32:36,760
or not, I think it's a really useful case study to look at just to kind of give you to see

364
00:32:36,760 --> 00:32:39,180
how it's possible to scale these things quickly.

365
00:32:39,180 --> 00:32:41,620
No, that's, yeah, that makes a lot of sense.

366
00:32:41,860 --> 00:32:46,880
I always, retail examples or, or anything involving like, you know, money changing hands is, is always

367
00:32:46,880 --> 00:32:48,920
helpful because most everyone understands that.

368
00:32:49,060 --> 00:32:52,600
I guess unless, I don't know, I don't know in the hills of Oakland, if there's some barter

369
00:32:52,600 --> 00:32:58,520
economies that, uh, you know, I find this case study useful, but yeah, well, great.

370
00:32:58,580 --> 00:33:01,980
Well, I, I, you know, thanks for being on is, it was, uh, it was nice.

371
00:33:02,060 --> 00:33:06,480
If people were beyond the case study, if they wanted to see what you were up to in a non-creepy

372
00:33:06,480 --> 00:33:10,560
way on the internet, you got a, you got some Twitter thing or a live journal you want to

373
00:33:10,560 --> 00:33:11,360
point people to?

374
00:33:11,860 --> 00:33:12,620
Yeah, absolutely.

375
00:33:12,780 --> 00:33:20,080
So if you want to follow my doings on Twitter, my handle is at BGlithero, B-G-L-I-T-H-E-R-O,

376
00:33:20,320 --> 00:33:22,160
um, which by the way is an English name.

377
00:33:22,160 --> 00:33:26,700
I'm always asked if it's Italian, but no, I'm from very, very far North of Italy, uh, up by

378
00:33:26,700 --> 00:33:35,280
London, um, and then, you know, I do, I do post a lot of readings, uh, on LinkedIn as

379
00:33:35,280 --> 00:33:35,580
well.

380
00:33:35,920 --> 00:33:40,940
Um, I know it's primarily used for bad recruiters, but actually I try to contribute some value to

381
00:33:40,940 --> 00:33:41,900
that platform as well.

382
00:33:41,900 --> 00:33:44,100
Uh, again, under the same name, BGlithero.

383
00:33:44,100 --> 00:33:44,500
Yeah.

384
00:33:44,500 --> 00:33:50,340
LinkedIn has become a strange, crazy, usually useful content stream.

385
00:33:50,600 --> 00:33:51,420
I don't know.

386
00:33:51,620 --> 00:33:56,200
I think I made some tactical mistake years ago and I just like uploaded my contacts to it

387
00:33:56,200 --> 00:33:57,600
and try to connect to everyone.

388
00:33:57,780 --> 00:34:04,120
And so I got a bunch of like irrelevant speaking of finding out if the data is valuable stuff in

389
00:34:04,120 --> 00:34:05,280
there, but right.

390
00:34:05,440 --> 00:34:12,160
And then I would encourage people also to follow, uh, the VMware Tanzu data accounts on both Twitter

391
00:34:12,160 --> 00:34:17,860
and LinkedIn, because we're always a highlighting, uh, interesting case studies as well as, uh,

392
00:34:17,860 --> 00:34:24,000
tutorials and best practices for things like application caching, uh, as well as for things like

393
00:34:24,000 --> 00:34:28,980
messaging, uh, and which is, and streaming, which is something we really didn't get a chance to touch

394
00:34:28,980 --> 00:34:29,400
on today.

395
00:34:29,880 --> 00:34:30,100
Yeah.

396
00:34:30,100 --> 00:34:30,420
Yeah.

397
00:34:30,740 --> 00:34:33,280
We should, we should reunite to go over those things.

398
00:34:33,280 --> 00:34:36,820
Cause those, yeah, because there's lots of interesting things going on with streaming

399
00:34:36,820 --> 00:34:38,620
data and streaming use cases these days.

400
00:34:38,640 --> 00:34:42,080
Well, I'll put a link to all of those things at the show notes, which, which you can get

401
00:34:42,080 --> 00:34:47,440
at, uh, I remember last time I was not sure what the URL anymore was, but what I should

402
00:34:47,440 --> 00:34:51,640
have done is just a simple test of what my assumption was, which turned out to be correct.

403
00:34:51,640 --> 00:34:57,060
That if you go to Tanzu.vmware.com slash podcast, you can find the show notes for this and how to

404
00:34:57,060 --> 00:34:57,920
subscribe and everything.

405
00:34:58,080 --> 00:35:01,960
Now, also, if you're feeling feisty, you can do the plural podcast.

406
00:35:02,520 --> 00:35:03,760
It doesn't have to be singular.

407
00:35:03,920 --> 00:35:05,380
I was, I was debating in my head.

408
00:35:05,480 --> 00:35:06,700
Do you make this a podcast?

409
00:35:06,780 --> 00:35:10,300
Cause then that implies there's only one, but maybe there's not more than, I don't know.

410
00:35:10,340 --> 00:35:13,540
It's very confusing what, which way we should, we should handle that.

411
00:35:13,620 --> 00:35:19,480
And, uh, maybe if you wanted to wait around for DNS updates, we could add in podcast.tanzu.vmware.com.

412
00:35:19,480 --> 00:35:22,820
I don't even know what, what happened, what do they call it when you're three levels up

413
00:35:22,820 --> 00:35:24,160
from, from a.com?

414
00:35:24,240 --> 00:35:25,760
Is that, uh, just madness?

415
00:35:26,000 --> 00:35:29,220
I forget, but, uh, that, that would be fun.

416
00:35:29,560 --> 00:35:33,980
Well, thanks for joining, uh, Bob and, uh, sharing your, your, what you've learned.

417
00:35:34,120 --> 00:35:35,160
Well, thanks for having me.

418
00:35:35,240 --> 00:35:37,760
I mean, this was, this was a treat and I hope to do it again soon.

419
00:35:38,160 --> 00:35:38,480
Yeah.

420
00:35:38,480 --> 00:35:38,960
All right.

421
00:35:39,020 --> 00:35:40,320
Well, we'll see everyone next time.

422
00:35:40,520 --> 00:35:41,140
Bye-bye.

423
00:35:41,560 --> 00:35:41,920
Bye.
