1
00:00:00,000 --> 00:00:01,620
All right, well, why don't you introduce yourself, guest?

2
00:00:01,820 --> 00:00:03,100
Well, I am Robert Reeves.

3
00:00:03,240 --> 00:00:06,440
I'm the CTO and one of the co-founders of Datacool.

4
00:00:06,720 --> 00:00:09,800
And what we do is bring DevOps to the database.

5
00:00:10,300 --> 00:00:11,120
This is good.

6
00:00:11,260 --> 00:00:13,380
You know, I think, what is this, 20?

7
00:00:13,540 --> 00:00:17,740
I was looking up the 451 research articles written about you

8
00:00:17,740 --> 00:00:18,680
because I wanted to get updated.

9
00:00:19,120 --> 00:00:23,020
And I think the last one written was by me in 2013.

10
00:00:23,320 --> 00:00:26,540
So five years later, I finally know how to pronounce the name.

11
00:00:26,540 --> 00:00:31,060
I always say Datacool, but Datacool, that sounds better.

12
00:00:31,820 --> 00:00:32,180
Exactly.

13
00:00:32,320 --> 00:00:33,080
Rhymes with radical.

14
00:00:33,460 --> 00:00:34,160
Oh, yes.

15
00:00:34,380 --> 00:00:34,780
Radical.

16
00:00:35,300 --> 00:00:36,180
Now I got it.

17
00:00:36,420 --> 00:00:37,720
I'll have to remember that.

18
00:00:37,820 --> 00:00:41,180
We should have put a pronunciation guide in that report that I wrote.

19
00:00:41,900 --> 00:00:45,640
I don't know how to do declensions and hats over O's and stuff,

20
00:00:45,700 --> 00:00:48,220
so I wouldn't be able to do that anyways, but like radical.

21
00:00:48,860 --> 00:00:51,180
So speaking of radical, that was a pretty nice sweater you had

22
00:00:51,180 --> 00:00:52,120
before we turned the video off.

23
00:00:52,120 --> 00:00:53,900
What would you call that type of situation?

24
00:00:54,400 --> 00:00:57,920
Well, it's just, you know, it's just a, you know,

25
00:00:58,040 --> 00:01:01,880
wool shawl collared sweater, you know.

26
00:01:02,100 --> 00:01:03,100
You ever turn that collar up?

27
00:01:04,080 --> 00:01:05,140
Nah, not really.

28
00:01:05,280 --> 00:01:06,680
I'm not cool enough for that.

29
00:01:07,220 --> 00:01:11,120
I'm, you know, moving very comfortably into my 40s,

30
00:01:11,180 --> 00:01:13,100
so it's sweaters and slippers.

31
00:01:13,700 --> 00:01:14,540
Oh, slippers.

32
00:01:15,380 --> 00:01:17,080
You know, elastic band pants.

33
00:01:17,140 --> 00:01:18,160
I'm really enjoying that.

34
00:01:18,460 --> 00:01:18,680
Yeah.

35
00:01:18,820 --> 00:01:19,500
Sansa belt.

36
00:01:19,820 --> 00:01:20,980
That's what you should look into.

37
00:01:23,460 --> 00:01:23,820
Yeah.

38
00:01:23,960 --> 00:01:28,760
You know, I actually have a pair of old Sansa belt that has one of those,

39
00:01:28,780 --> 00:01:31,380
like, black, it's not tartan, but, you know,

40
00:01:31,420 --> 00:01:34,740
it's sort of like graph papery kind of look from long ago.

41
00:01:35,400 --> 00:01:37,740
Man, those are nice pants, but I need to lose a little bit of weight.

42
00:01:38,600 --> 00:01:45,240
I unfortunately got them altered, I think you would say, when I was at my minimum healthy

43
00:01:45,240 --> 00:01:48,500
weight, and now they're a little too small.

44
00:01:50,060 --> 00:01:54,100
Our listeners have a lot of mental images right now from the two of you, so this is great.

45
00:01:54,280 --> 00:01:55,980
I'll have to go take a picture of those pants.

46
00:01:56,700 --> 00:01:57,600
Yeah, exactly.

47
00:01:58,340 --> 00:01:59,300
They're good pants.

48
00:01:59,460 --> 00:01:59,840
Good pants.

49
00:01:59,940 --> 00:02:06,980
Well, we brought you on to talk about DevOps and data or radical things and things,

50
00:02:07,080 --> 00:02:11,500
stuff like that, and also, y'all have some interesting things you've done with Concourse

51
00:02:11,500 --> 00:02:15,260
and stuff like that, all sorts of things relative to listeners' interests.

52
00:02:15,380 --> 00:02:19,020
But first, as always, we have some news to go over.

53
00:02:19,020 --> 00:02:21,520
So, I was just catching up on things, Richard.

54
00:02:21,880 --> 00:02:25,220
We have the big Pivotal Container Services GA announcement.

55
00:02:25,340 --> 00:02:28,840
I think that still stands for general availability, if I remember my acronyms.

56
00:02:29,020 --> 00:02:31,460
But that was made GA today, right?

57
00:02:31,560 --> 00:02:32,800
What's in there?

58
00:02:33,620 --> 00:02:35,040
It was GA today.

59
00:02:35,160 --> 00:02:38,620
And for those who feel like they keep having a sense of deja vu, this is the real one.

60
00:02:38,880 --> 00:02:43,220
So, we kind of did the, hey, it's coming back in August at VMworld, and then December,

61
00:02:43,720 --> 00:02:45,740
talked about it as part of the SpringOne platform.

62
00:02:45,860 --> 00:02:47,280
But this is the real one, we promise.

63
00:02:47,660 --> 00:02:48,860
So, this is really GA.

64
00:02:49,040 --> 00:02:54,080
So, you can download today from the Pivotal network at network.pivotal.io.

65
00:02:55,500 --> 00:03:03,140
And so, what's in the box is the current version of Kubernetes managed with VMware NSX for the networking components.

66
00:03:03,500 --> 00:03:04,820
You've got Harbor, the registry.

67
00:03:05,120 --> 00:03:08,740
You've got the multi-cloud for both GCP and VMware to start with.

68
00:03:09,380 --> 00:03:10,440
And, yeah, it's exciting.

69
00:03:10,800 --> 00:03:13,560
It's been fun to watch this go through the paces with early customers.

70
00:03:13,900 --> 00:03:15,840
And it's ready to go.

71
00:03:16,100 --> 00:03:22,800
So, we're excited to see how people start using it and how our customers start seeing the types of workloads that also belong in an environment like this,

72
00:03:22,840 --> 00:03:30,220
which may come up in our chat today as we think of kind of where do data workloads go as you think of continuous delivery and you think of more agile databases.

73
00:03:30,640 --> 00:03:32,900
Something like Kubernetes can be a great home for a lot of that.

74
00:03:33,100 --> 00:03:34,320
At least that's the assumption.

75
00:03:35,040 --> 00:03:35,440
Indeed.

76
00:03:36,160 --> 00:03:42,300
And then, well, you know, I always like to provide pointers to further homework and to interleave our stuff.

77
00:03:42,480 --> 00:03:43,780
I'll throw in one here.

78
00:03:43,840 --> 00:03:44,580
I'm not done reading.

79
00:03:44,700 --> 00:03:47,740
I think I might have mentioned this book already, but I'm not done reading it.

80
00:03:47,800 --> 00:03:50,320
But you've got Mark Schwartz's A Seat at the Table.

81
00:03:50,440 --> 00:03:53,820
Now, you may remember him from his previous book.

82
00:03:53,980 --> 00:03:59,420
It was something like The Art of Business Value, which all sorts of fun subtitles you could have for that.

83
00:03:59,720 --> 00:04:02,640
Sort of like a mystical look at being a CIO.

84
00:04:02,900 --> 00:04:14,720
I think I forget the full acronymization, but he used to be the CIO of the, as they would joke, the immigration service that welcomes people for the U.S. government.

85
00:04:14,920 --> 00:04:20,820
And now I just notice he's at AWS, you know, traipsing around, telling them about enterprise things.

86
00:04:21,600 --> 00:04:23,800
But it's a nice book.

87
00:04:23,800 --> 00:04:40,460
Look, I excerpted a part earlier in Twitter last week about questions managers would ask their teams when they're planning things out to avoid the, I don't know, big upfront waterfall planning that is very inflexible.

88
00:04:40,620 --> 00:04:42,600
But it's definitely worth looking into.

89
00:04:42,860 --> 00:04:43,820
It's a nice book.

90
00:04:44,140 --> 00:04:49,780
Now, also, another thing that GA'd, we have Spring Cloud on Google Cloud Platform.

91
00:04:51,300 --> 00:04:52,740
What's the story with that, Richard?

92
00:04:53,620 --> 00:04:59,620
Yeah, they announced the kind of alpha release of some of the Spring Cloud components that work with GCP.

93
00:04:59,980 --> 00:05:19,000
So basically, if you're a Spring Boot developer and you want to consume Google Cloud services like Google Cloud SQL, or you've got things like their PubSub messaging bus or cloud storage, which is their object storage, any of those things, you can use the Spring Boot starters and the like to immediately make them accessible as, you know, easy first class objects in your Spring Boot app.

94
00:05:19,080 --> 00:05:20,840
So we saw this happen with Azure.

95
00:05:20,840 --> 00:05:26,520
You know, we continue to see ways to make it easier to talk to these different clouds without having to know each individual API.

96
00:05:26,920 --> 00:05:31,100
You just get to use these nice typed objects that work in Spring Boot and play nicely.

97
00:05:31,220 --> 00:05:32,620
So it was really cool to see that get released.

98
00:05:32,760 --> 00:05:35,140
I'm sure they'll keep evolving it, but you could use that today.

99
00:05:36,800 --> 00:05:37,120
Tasty.

100
00:05:37,640 --> 00:05:50,620
Now, also, as another thing, you know, I think it's been a while since we talked about like industrial IoT stuff, but there's a – I don't always look at this, but I probably will more now that I've refreshed myself.

101
00:05:50,860 --> 00:06:05,140
But also fellow Austinite, I believe, Stacey Higginbotham, if I can be so bold as to try to say her full name, she used to be at GigaOM and wrote somewhere else, but now she covers like IoT stuff, and she's got a pretty good roundup newsletter.

102
00:06:05,340 --> 00:06:07,460
But she had something that I think was fun.

103
00:06:07,540 --> 00:06:11,180
I think maybe it was all quoted from vendors, and you know how trustworthy vendors are.

104
00:06:11,300 --> 00:06:11,780
Am I right?

105
00:06:12,300 --> 00:06:24,480
But like it was still a good point about if you're trying to start up IoT things and you're worried about the ROI or the business case, it's good to, as always, start small with things.

106
00:06:24,480 --> 00:06:31,820
And it's a good sort of brief overview that you can find a link to in the show notes if you go to pivotal.io slash podcast.

107
00:06:32,820 --> 00:06:40,140
And it's nice to know that just like in the normal software world, if you start like a big gigantic thing, that's probably a terrible idea.

108
00:06:40,240 --> 00:06:51,440
I'm not sure why that's nice to know, but you can apply the same tactics of starting out slow and experimenting, which I think is a good tip for anyone who's trying to improve their computering.

109
00:06:52,300 --> 00:06:55,020
But I think that's all the news we have for this week.

110
00:06:55,020 --> 00:07:02,180
So, Guest, why don't you give us an overview of what it is Radical Datical does?

111
00:07:02,820 --> 00:07:04,460
Well, sure.

112
00:07:04,720 --> 00:07:09,960
I mean, look, at the end of the day, we are releasing software faster and faster.

113
00:07:10,600 --> 00:07:16,300
We certainly saw that in, you know, 2002, right?

114
00:07:16,360 --> 00:07:21,840
Agile Manifesto comes out, and we're going to change the way we build software.

115
00:07:22,420 --> 00:07:25,560
And since then, we've gotten better and better at it.

116
00:07:25,560 --> 00:07:34,740
And I think it's reached a point, you know, certainly with customers that use PCF, that they're able to focus on the application itself.

117
00:07:34,900 --> 00:07:37,480
They don't have to worry about the infrastructure.

118
00:07:37,940 --> 00:07:40,700
They don't have to worry about how am I going to get there from here.

119
00:07:41,780 --> 00:07:53,460
The problem is, is that all of those things that have happened, Agile, DevOps, the cloud, containerization, none of that has helped the database.

120
00:07:54,420 --> 00:08:01,960
We are still updating the database the same way we've done for the past 25 years, which is what?

121
00:08:01,960 --> 00:08:05,760
We create a ticket, send it to some external data services team.

122
00:08:06,400 --> 00:08:11,780
They manually review and execute the script, and then somebody closes the ticket.

123
00:08:12,700 --> 00:08:15,200
That's the problem we try to solve.

124
00:08:15,860 --> 00:08:30,240
And at the end of the day, we're just trying to align database changes with your application code changes so that all the benefits you've gotten from platform as a service, containers, the cloud, can be applied to the database as well.

125
00:08:30,580 --> 00:08:32,260
And so what's the deal with that?

126
00:08:32,420 --> 00:08:37,440
Why is the database world so, like, isolated from change?

127
00:08:37,440 --> 00:08:47,880
I mean, to some extent, so isolated from change that a whole other set of databases were created over the past 10 years to sort of, like, work around relational databases.

128
00:08:48,640 --> 00:08:56,500
It's sort of like – I always like to think – I always think, like, on the diagram, the thing that's still a silo is always the database.

129
00:08:56,920 --> 00:08:59,500
Like, it's always that, like, cylinder of isolation.

130
00:09:00,280 --> 00:09:01,180
And I don't know.

131
00:09:01,220 --> 00:09:06,720
I mean, why do you think it's been, like – it hasn't been invaded by all the agile and DevOps hordes of people?

132
00:09:07,280 --> 00:09:09,700
How have they so successfully defended themselves?

133
00:09:10,540 --> 00:09:17,860
Well, it is – they have a huge billy club, the data folks.

134
00:09:18,360 --> 00:09:25,500
They can use that – what they can say is, we're not going to change because we put the data at risk.

135
00:09:26,380 --> 00:09:36,560
And you tell that to a CEO, a CIO, CSO, they're going to listen, maintain the status quo, don't change anything.

136
00:09:37,680 --> 00:09:39,240
That's not working anymore.

137
00:09:39,240 --> 00:09:52,360
Right now, you have got customers that are going so fast with updating their application that it is really killing that external data services team.

138
00:09:52,500 --> 00:09:57,440
And they can no longer use that billy club of you put the data at risk.

139
00:09:59,240 --> 00:10:02,080
That's why it's been that way for so long.

140
00:10:02,580 --> 00:10:04,220
It's also a hard problem.

141
00:10:04,480 --> 00:10:05,440
It's not sexy.

142
00:10:05,680 --> 00:10:11,480
You can't look at a web browser and say, oh, wow, look at how they updated that database.

143
00:10:11,640 --> 00:10:12,420
That was phenomenal.

144
00:10:12,580 --> 00:10:12,900
That's right.

145
00:10:14,180 --> 00:10:17,120
No, no, it's not – it's not cool.

146
00:10:17,720 --> 00:10:23,780
But when you get a new app updated and say, oh, look what we did here, that's exciting.

147
00:10:24,900 --> 00:10:30,860
But you've got to fix it because a herd is only as fast as its slowest member.

148
00:10:31,100 --> 00:10:34,120
And right now, it's that data tier.

149
00:10:34,120 --> 00:10:41,420
It is slowing down these large corporations that are trying to put out software like the small startups are doing.

150
00:10:42,600 --> 00:10:44,720
So let's talk specifics then.

151
00:10:44,860 --> 00:10:49,740
So you all messed around a little bit with Concourse and Daticle and things like that.

152
00:10:49,800 --> 00:10:56,880
So can you tell me – we'll drill into then some of the more esoteric topics about data and teams and legacies and things like that.

153
00:10:56,900 --> 00:11:03,720
But what have you done specifically around Concourse, especially for folks who are thinking about how do you drag the data tier into the 21st century?

154
00:11:04,380 --> 00:11:09,340
Well, let me start out by saying that at Daticle, we don't come up with anything.

155
00:11:09,340 --> 00:11:09,960
All right.

156
00:11:10,140 --> 00:11:17,860
So the way we're – what we focus on as a company is the challenges that customers are having.

157
00:11:18,280 --> 00:11:25,740
So we were working with a PCF customer that was updating their applications.

158
00:11:26,300 --> 00:11:27,580
And they were using Concourse.

159
00:11:27,760 --> 00:11:30,600
They were using Concourse to push those applications out.

160
00:11:30,840 --> 00:11:41,700
But what was happening is that they were waiting 7 to 12 business days is what they told us to update the database.

161
00:11:41,960 --> 00:11:46,240
So, for example, you add a new attribute to an object.

162
00:11:46,720 --> 00:11:46,860
Okay.

163
00:11:46,940 --> 00:11:50,400
Well, typically, you've got to add a new column to a table.

164
00:11:50,860 --> 00:11:53,140
And they would have to wait 7 to 12 days.

165
00:11:53,600 --> 00:12:08,660
And since they were using Concourse, we looked at the problem and we said, well, hey, we can integrate Daticle with Concourse so that when you go prior to pushing your application out, prior to saying build and release that to dev, test, prod, whatever,

166
00:12:08,660 --> 00:12:18,380
let's go ahead and do a forecast of changes and review those changes and then let's go ahead and actually make them, oh, that was successful.

167
00:12:18,380 --> 00:12:19,080
Well, great.

168
00:12:19,240 --> 00:12:22,340
Now we know that our application push is going to be successful.

169
00:12:22,980 --> 00:12:37,560
And so what we were able to do by integrating Daticle with Concourse is have a single place where you can push the entire application, not just the compiled bits, not just the microservices, but also the changes to the database.

170
00:12:37,560 --> 00:12:40,500
Because one will not work without the other.

171
00:12:40,600 --> 00:12:41,920
So it has to go out together.

172
00:12:42,400 --> 00:12:46,460
So then how, like, you were saying it's like 7 to 10 days to make a change?

173
00:12:46,460 --> 00:12:49,000
Like, what's the result that they have after that?

174
00:12:49,780 --> 00:12:52,960
Well, that's the thing that's really killing me.

175
00:12:53,200 --> 00:12:58,380
I mean, because I hear from customers that are saying, oh, we're waiting 3 days, 7 days, 2 weeks.

176
00:12:59,520 --> 00:13:00,800
Some are longer than that.

177
00:13:01,400 --> 00:13:02,840
And I ask why.

178
00:13:03,420 --> 00:13:05,320
And they say, well, we have to get approval.

179
00:13:05,960 --> 00:13:11,280
We have to send this out to a DBA to review this stuff.

180
00:13:11,440 --> 00:13:13,260
And then I ask, well, why?

181
00:13:13,260 --> 00:13:16,440
You know, doing the Toyota 5Ys, right?

182
00:13:16,720 --> 00:13:17,420
Why, why, why?

183
00:13:17,500 --> 00:13:19,560
Eventually, we get down to the root cause.

184
00:13:20,220 --> 00:13:38,740
And it turns out that what they wanted was the world's best computer, the human brain, to review these SQL scripts, these proposed changes for correctness, for adherence to corporate standards, like, you know, table names must start with T underscore, stuff like that.

185
00:13:40,280 --> 00:13:44,660
And then we were looking at it, and we were like, well, that's what Daticle does.

186
00:13:45,120 --> 00:13:48,280
Daticle has a rules engine that can enforce these standards.

187
00:13:48,280 --> 00:13:59,120
And whether it's naming conventions or things like, hey, don't add too many indexes to a table, the stuff that DBAs look for all the time, we can automate that.

188
00:13:59,620 --> 00:14:08,680
And so there was really no reason to take time away from our DBAs who are focused on scalability, performance, high availability, security.

189
00:14:08,880 --> 00:14:13,960
Why have them focused on this tsunami of application changes that are coming?

190
00:14:14,380 --> 00:14:19,500
Let's get them focused on the things that they do really well, and let's automate this task.

191
00:14:20,040 --> 00:14:21,260
Let's not automate the role.

192
00:14:21,340 --> 00:14:29,620
Let's automate the task so that we can decentralize data management and push it to the app team so that, you know, you build it, you run it.

193
00:14:30,420 --> 00:14:33,700
And do these, do DBAs respond well to that?

194
00:14:33,980 --> 00:14:37,780
Like, how do you, well, let me ask a question and then make a bunch of statements.

195
00:14:38,380 --> 00:14:51,720
Like, there's, like, I encounter a similar thing with audit people and, like, enterprise architects who, I don't know, you're sort of, like, stealing their point of existence.

196
00:14:52,180 --> 00:15:00,720
And so there's different answers you give to people, you know, it's always good to assure people you're not going to fire them because you've just automated their job.

197
00:15:00,840 --> 00:15:01,740
So that's a nice step.

198
00:15:02,320 --> 00:15:03,160
Hopefully it's true.

199
00:15:03,680 --> 00:15:15,800
But then, you know, it also, it seems like a lot of the times, like with compliance people, what you sort of get to is the idea of, like, you already work too much, so maybe you could work less if you automate this stuff.

200
00:15:15,840 --> 00:15:19,640
Because, you know, it's one thing to have the, you can do higher value activities.

201
00:15:19,760 --> 00:15:24,360
I guess a good response by an employee would be, like, then you should pay me more since they're higher value.

202
00:15:25,060 --> 00:15:35,060
But, you know, like, how do you win over the sort of, like, the hearts, let alone the minds of the DBAs who feel like they really like checking if the table begins with T underscore?

203
00:15:36,700 --> 00:15:43,140
Well, I got to tell you, I have never run across a DBA who really likes reviewing SQL scripts.

204
00:15:43,480 --> 00:15:43,820
Right, right.

205
00:15:44,720 --> 00:15:47,300
It's just not something that they're excited about.

206
00:15:47,800 --> 00:15:59,860
What they do get excited about is things like, hey, how do I move off this Oracle RAC server, this physical server I have that I can touch in my data center, to the cloud?

207
00:16:00,320 --> 00:16:07,580
How can I make certain that we're providing valid test data to all our teams in a self-service fashion?

208
00:16:07,680 --> 00:16:09,300
So, that gets them really excited.

209
00:16:10,520 --> 00:16:19,440
Basically, being, in essence, a release janitor for these things, cleaning up after the dev team, does not get them excited.

210
00:16:19,680 --> 00:16:27,620
So, there are some folks that certainly a large majority of DBAs will say, oh, thank God you're here.

211
00:16:28,080 --> 00:16:29,020
Get this off my plate.

212
00:16:29,240 --> 00:16:35,780
I'm so sick of those guys and having an argument every single time we have a change.

213
00:16:36,140 --> 00:16:39,400
And then they get to focus on the things that they really like to do.

214
00:16:40,680 --> 00:16:45,920
But there are some folks that you get into a who moved my cheese kind of moment.

215
00:16:46,260 --> 00:16:47,420
And it is threatening.

216
00:16:47,620 --> 00:16:48,460
It is disruptive.

217
00:16:50,480 --> 00:17:01,220
One of a very large customer of ours, a real big consumer bank, there was a DBA that was not on board with Daticle.

218
00:17:01,680 --> 00:17:06,160
He had a real challenge with it and wanted to see it work.

219
00:17:06,340 --> 00:17:11,220
And then once it started, they started using it to push to production for changes.

220
00:17:12,160 --> 00:17:13,400
His tune changed.

221
00:17:13,900 --> 00:17:14,100
All right.

222
00:17:14,160 --> 00:17:19,060
He was really pushing back because he knew how scary and fraught with risk it was.

223
00:17:19,380 --> 00:17:22,920
But once he saw it working, he was totally on board.

224
00:17:23,020 --> 00:17:26,560
And now he's in charge of the enterprise rollout at this bank.

225
00:17:26,860 --> 00:17:38,980
So not only did he move away from his job of handling scripts, but now he's in a management role tasked with improving the rest of the company by rolling the stuff out.

226
00:17:39,840 --> 00:17:42,200
So, yes, roles are going to change.

227
00:17:42,620 --> 00:17:43,720
Tasks are going to change.

228
00:17:43,840 --> 00:17:45,420
And to some folks, that's scary.

229
00:17:45,940 --> 00:17:49,720
But we can't put this toothpaste back in the tube.

230
00:17:50,180 --> 00:17:50,900
It's out.

231
00:17:50,900 --> 00:17:58,720
So we need to fix this problem now or else you're not going to have a company to work at if you don't resolve this.

232
00:17:59,220 --> 00:18:09,100
Yeah, that's a good point of like, you know, no one wants to be the – well, I assume most people don't want to be the release janitor cleaning up the developer's throw up, right?

233
00:18:09,220 --> 00:18:15,580
Like it's a much better job to be a little more constructive rather than just like mopping the floor all the time.

234
00:18:15,880 --> 00:18:21,240
Can you imagine putting that on a job description, you know, post that to LinkedIn?

235
00:18:21,720 --> 00:18:24,240
Hey, can you clean up developers' throw up?

236
00:18:24,420 --> 00:18:25,840
Well, we've got a job for you.

237
00:18:26,340 --> 00:18:26,740
Exactly.

238
00:18:27,980 --> 00:18:28,880
Sign me up.

239
00:18:29,460 --> 00:18:31,040
So I was interested.

240
00:18:31,160 --> 00:18:37,540
I mean you listed a few things there as people kind of get started with this and especially as DBAs start to adjust to this new world.

241
00:18:37,940 --> 00:18:41,900
What do you see as – are there things, sometimes things people forget with this?

242
00:18:41,980 --> 00:18:50,940
They think, okay, we're going to automate just the release cycle, but are there aspects around, you know, on-demand provisioning of data environments or, to your point, even data migration and things?

243
00:18:51,020 --> 00:18:56,080
Are there things that when you get excited about automating the data tier that might not be top of mind but should be?

244
00:18:57,220 --> 00:18:58,480
Well, absolutely.

245
00:18:58,480 --> 00:19:05,960
I would argue that it is the expand, migrate, contract model, all right?

246
00:19:06,020 --> 00:19:14,700
So a lot of our mutual customers have monolithic applications that they are trying to piece apart into microservices.

247
00:19:15,900 --> 00:19:24,140
And that model of expand, migrate, contract is exactly what they need for the database, all right?

248
00:19:24,180 --> 00:19:33,760
So, for example, let's say you are trying to – you're building a microservice that's going to handle user registration now.

249
00:19:34,120 --> 00:19:42,060
Previously, it was in your monolithic application, but the first microservice you're doing or series of microservices is to pull that out.

250
00:19:42,380 --> 00:19:44,160
So first you build it, okay?

251
00:19:44,560 --> 00:19:53,520
And then you start updating the monolithic app to call those – the new microservice, you know, driven application.

252
00:19:54,100 --> 00:19:54,620
All right, great.

253
00:19:54,860 --> 00:19:58,580
And then when that's all done, we take out the old busted code and we're done.

254
00:19:58,680 --> 00:19:59,880
So expand, migrate, contract.

255
00:20:00,200 --> 00:20:02,220
We can do the same thing with the database.

256
00:20:02,480 --> 00:20:10,080
So, for example – now, this is a bad example, but just for, you know, sake of, you know, because people are listening, I can't whiteboard this.

257
00:20:10,540 --> 00:20:15,460
So let's say you've got a column with first and last name, all right?

258
00:20:15,660 --> 00:20:16,600
And that's bad.

259
00:20:16,660 --> 00:20:18,760
We need to separate that into two different columns.

260
00:20:18,760 --> 00:20:27,660
So part of that model is we need to create two new columns and then we need to populate the data.

261
00:20:28,120 --> 00:20:33,260
But then we've got bits of code that is using the old column and now the two new columns.

262
00:20:33,360 --> 00:20:38,760
So we need a trigger that's going to keep those two – now three columns in sync.

263
00:20:39,320 --> 00:20:45,680
You can, with Datacle, enforce expansion, migration, and contraction.

264
00:20:45,900 --> 00:20:50,400
You could say, all right, this release is where we expand.

265
00:20:50,480 --> 00:20:53,340
So we're only going to create new objects.

266
00:20:54,480 --> 00:21:00,840
And then at some later date, we're going to have a contraction where we're actually dropping things.

267
00:21:01,380 --> 00:21:06,800
And so at that point, you can have reporting that says, hey, we're dropping this.

268
00:21:06,900 --> 00:21:08,080
This is what's going to happen.

269
00:21:08,760 --> 00:21:10,680
And to alert the right people.

270
00:21:10,680 --> 00:21:25,400
So if you are able to automate your release process with the database along with the application, you're able to tackle these problems of how do we go from A to B.

271
00:21:26,020 --> 00:21:30,200
We have a real challenge with data, keeping data in sync.

272
00:21:30,460 --> 00:21:34,180
Well, let's go ahead and tackle that problem because now we have all this free time.

273
00:21:34,180 --> 00:21:40,480
Because we've automated a lot of this drudgery, we can now tackle this other stuff.

274
00:21:40,760 --> 00:21:42,920
And that's what companies are looking for.

275
00:21:43,060 --> 00:21:50,260
They're not looking to say, all right, great, let's go to the cloud and let's double our dev team.

276
00:21:50,580 --> 00:21:55,200
No, they want to enable that dev team that they have to move to the cloud.

277
00:21:55,860 --> 00:22:02,440
And so it's imperative on companies like Pivotal and Datacle to just really take a lot of that heavy lifting off their shoulders.

278
00:22:03,660 --> 00:22:04,320
Makes sense.

279
00:22:04,380 --> 00:22:06,220
What do you do with the legacy data stores?

280
00:22:06,480 --> 00:22:20,340
You know, the ones that maybe don't have APIs that make automation simple that you can't just, you know, programmatically update tables or add store procedures or do, you know, do extra monitoring from the outside in because maybe it's a vendor proprietary interface.

281
00:22:20,560 --> 00:22:28,020
So do you start to wall those off and suffocate those to move to platforms that are more friendly or sometimes you can't have that freedom to do that?

282
00:22:28,080 --> 00:22:30,060
How do you approach the legacy data store?

283
00:22:30,740 --> 00:22:32,760
Well, I think, good question.

284
00:22:32,760 --> 00:22:33,180
All right.

285
00:22:33,180 --> 00:22:46,540
And I think a good example of that is a lot of airlines use platforms like Siebel to keep track of their frequent flyer programs.

286
00:22:46,540 --> 00:23:02,440
And they don't actually make queries to the database to get information, all right, which is probably one of the reasons why it takes like a day after you fly to see your updated, you know, statement to see the miles that you earned.

287
00:23:03,560 --> 00:23:16,000
And they don't actually, you know, they don't actually change the data structure.

288
00:23:16,000 --> 00:23:20,880
So for those sorts of things, we, you know, Datacle doesn't work with that stuff.

289
00:23:21,180 --> 00:23:27,740
So for those sorts of things, what we work with is custom applications that they've built where they do have to update the database.

290
00:23:28,140 --> 00:23:37,340
So if it's things like Siebel or Salesforce.com, you know, that kind of stuff, we, you know, we have our customers use the APIs to get the data.

291
00:23:37,600 --> 00:23:46,040
And we focus on managing those database schema changes when you update the application itself.

292
00:23:46,540 --> 00:23:48,760
So we really focus on the custom stuff.

293
00:23:49,560 --> 00:23:49,740
Got it.

294
00:23:50,160 --> 00:23:58,560
So one thing that comes up a lot is, you know, especially in our realm of cloud native awesomeness is how easy it is to release things.

295
00:23:58,760 --> 00:24:04,460
And, you know, one of the secrets of that is like everything's easy if you're stateless.

296
00:24:05,520 --> 00:24:07,780
Like all sorts of things are nice.

297
00:24:07,780 --> 00:24:26,180
And one thing in particular that I think people get excited about is the idea of if we're doing weekly or daily releases or whatever it is we're doing, it's a good idea to basically do sort of like blue-green deploys or incremental deploys or whatever fancy word the kids are using nowadays.

298
00:24:26,580 --> 00:24:44,320
But at the data level, the data layer, like if I, if I want to like incrementally do a release, right, I want to release to like 5% of the user population and 30% and 100% or whatever, like, you know, I can't like go change the database once.

299
00:24:44,320 --> 00:24:47,960
Like I almost need to have two databases running or something.

300
00:24:47,960 --> 00:24:56,600
But like, I mean, what, what are people doing in that area to help out with sort of more incremental releases or do you just not do that with data?

301
00:24:56,700 --> 00:24:57,960
What are you seeing people do?

302
00:24:58,860 --> 00:25:00,960
Oh, you, you absolutely have to do that.

303
00:25:01,180 --> 00:25:02,680
You have to support that.

304
00:25:03,420 --> 00:25:10,720
You know, one of, one of the things that there's kind of two layers here to your question, I think.

305
00:25:10,720 --> 00:25:17,460
One is everything that you've said is true if you are making direct calls to the database.

306
00:25:17,960 --> 00:25:18,260
All right.

307
00:25:18,520 --> 00:25:27,800
So if you say this data here, the only way that you can access it and change it is through a microservice.

308
00:25:27,800 --> 00:25:35,520
That problem goes away because then it's, you're only changing the database that that microservice uses.

309
00:25:35,780 --> 00:25:38,380
And typically it's going to be a lot smaller.

310
00:25:39,000 --> 00:25:41,280
It's going to be a single team managing it.

311
00:25:41,580 --> 00:25:49,940
So you don't have to worry about changing a table name or something like that or splitting a table into two.

312
00:25:51,140 --> 00:26:00,340
However, if you are on that path from monolithic to microservices, you are going to have to make some pretty significant changes.

313
00:26:01,480 --> 00:26:09,840
And they typically come from, the biggest problem that you're going to have is drops or a rename.

314
00:26:10,780 --> 00:26:13,320
Another issue is changing data types.

315
00:26:14,120 --> 00:26:17,080
And so sometimes that makes sense.

316
00:26:17,080 --> 00:26:26,700
But a lot of the time, it does cause challenges with your deployment strategy, blue, green, or you have different zones or what have you.

317
00:26:27,220 --> 00:26:32,880
And so you can enforce standards with Datacle that just says, we don't drop.

318
00:26:33,560 --> 00:26:40,820
As part of this automated release process, we're not dropping, we're not renaming, we're not changing data types.

319
00:26:41,220 --> 00:26:48,120
Now, if you want to do that, well, then that's the time you need to engage the external data services team.

320
00:26:48,540 --> 00:26:52,760
That's the time where you need to work with them and say, okay, guys, how are we going to do this?

321
00:26:53,220 --> 00:27:01,660
Will our, you know, maybe we've got three data centers or that we're using GoldenGate to replicate data around.

322
00:27:01,900 --> 00:27:03,560
How is this going to impact that?

323
00:27:04,240 --> 00:27:07,020
And, yes, you're going to have to engage with that team.

324
00:27:07,080 --> 00:27:13,660
But I would argue that it's far better level of engagement than, hey, I added this column, go run this script.

325
00:27:14,580 --> 00:27:17,160
There will be times you have to engage those folks.

326
00:27:17,160 --> 00:27:22,040
And that's what, you know, Martin Fowler has always been preaching, that cross-functional team.

327
00:27:22,620 --> 00:27:29,940
So I would like to see in an ideal world, we bring a lot of those DBAs from operations into the product team.

328
00:27:30,320 --> 00:27:33,860
You know, we're not calling them development anymore because they build it and run it.

329
00:27:34,340 --> 00:27:43,540
Let's bring those DBAs in so that they can answer those questions on day one of design as opposed to waiting until our maintenance window for a production push.

330
00:27:44,100 --> 00:27:44,940
Yeah, that's interesting.

331
00:27:44,940 --> 00:27:54,320
You raise up an interesting, well, for me, always interesting question is sort of like, I don't know, what are the design standards that apply here?

332
00:27:54,720 --> 00:28:06,720
And like, as you were saying, there's a standard that you might have or policy or whatever fancy word you want to use of, well, if changing a column name breaks things, how about don't do that?

333
00:28:07,500 --> 00:28:07,740
Yeah.

334
00:28:07,980 --> 00:28:18,720
And I think it's easy to get caught up in, like, all the, I don't know, rapid delivery of stuff where you're just like, you know, a bunch of keystone cops changing things around.

335
00:28:18,860 --> 00:28:27,860
But it does seem like, you know, to show my age, I always think back to that book Effective Java, maybe there was one of these in the .NET and other worlds.

336
00:28:28,140 --> 00:28:34,740
But like, Effective Java was basically a bunch of like, rules you would follow in Java to avoid doing dumb stuff, right?

337
00:28:34,780 --> 00:28:39,360
Like, you know, you should not remove methods once you've made them, things like that.

338
00:28:40,020 --> 00:28:46,900
And so I wonder, like, like, are people collecting what these, like, rules of DevOps database are somewhere?

339
00:28:47,160 --> 00:28:48,960
Or do these kind of style things exist?

340
00:28:49,020 --> 00:28:54,580
Because a lot of them seem obvious, but probably are not until you type them down, as it were.

341
00:28:55,300 --> 00:29:07,920
Oh, yeah, that's the real, that's a real challenge, because a lot of these rules, okay, these concepts are stuck in between a DBA's ears.

342
00:29:09,060 --> 00:29:12,760
And just like, you know, these best practices, don't remove a method.

343
00:29:13,760 --> 00:29:17,200
That is stuck between a developer's ears, okay?

344
00:29:17,680 --> 00:29:20,800
And so what we have to do is tease that out.

345
00:29:21,140 --> 00:29:26,640
And that's what we've done at Datical, that we've got hundreds and hundreds of rules that are standard.

346
00:29:27,380 --> 00:29:29,000
You could certainly write your own.

347
00:29:29,220 --> 00:29:35,280
It's based on rules, so it's a very Java-esque looking way of programming.

348
00:29:36,100 --> 00:29:43,540
But, you know, we sometimes have to just sit down with a customer and say, look, what are you trying to do here?

349
00:29:43,540 --> 00:29:50,280
Can you show me the last three sternly worded emails your DBAs have sent out?

350
00:29:50,820 --> 00:29:54,860
Have you, you know, put this on Confluence or Word doc?

351
00:29:55,400 --> 00:30:00,220
Have you written this in stone on some tablets perhaps we could look at?

352
00:30:01,040 --> 00:30:07,520
And let's, you know, bring these rules into code and apply it across the entire enterprise.

353
00:30:08,460 --> 00:30:12,460
Well, they've got them written up in their ITIL runbooks, right?

354
00:30:12,460 --> 00:30:14,160
So you basically just have to copy that.

355
00:30:14,280 --> 00:30:14,900
It's no problem.

356
00:30:15,580 --> 00:30:16,020
Yeah, sure.

357
00:30:16,120 --> 00:30:17,080
Just cut and paste, man.

358
00:30:17,180 --> 00:30:17,800
Super easy.

359
00:30:18,460 --> 00:30:19,340
No problem.

360
00:30:20,060 --> 00:30:26,460
So with that said, do you think that, I mean, the DBA plays a part in, I mean, I'm trying to think of the future role of the DBA.

361
00:30:26,600 --> 00:30:27,800
And you kind of touched on this earlier.

362
00:30:27,800 --> 00:30:33,120
If they're not going to be release janitors, they're not going to just do, you know, low-level running scripts and things like that.

363
00:30:33,380 --> 00:30:34,740
So, you know, walk me through.

364
00:30:34,820 --> 00:30:38,140
What's the job posting for a modern DBA?

365
00:30:38,260 --> 00:30:39,840
Are they helping write some of those policies?

366
00:30:39,940 --> 00:30:41,000
Are they building automation?

367
00:30:41,000 --> 00:30:47,560
What are those things that I would be hiring for today with a sort of DevOps, cloud-native data DBA sort of type person?

368
00:30:48,260 --> 00:31:01,740
Well, look, I love affording people, individuals, the opportunity to grow the career, grow, reach new heights of self-actualization, make more money.

369
00:31:02,680 --> 00:31:05,700
And because that's exactly what you're talking about.

370
00:31:06,440 --> 00:31:14,240
The days of being pigeonholed by the technology that you have mastered is over.

371
00:31:14,940 --> 00:31:19,720
You're expected to learn more and more as you continue in your career in tech.

372
00:31:20,380 --> 00:31:23,660
And we, you know, I also look for analogs.

373
00:31:23,840 --> 00:31:34,180
And I see a lot of similarities between what happened to system administrators with the advent of the cloud and Puppet and Chef to what we're seeing with DBAs right now.

374
00:31:34,820 --> 00:31:39,320
Remember, SQL is still the number one language used.

375
00:31:39,640 --> 00:31:39,960
All right.

376
00:31:40,320 --> 00:31:42,460
It's in all the job posting.

377
00:31:42,580 --> 00:31:44,180
SQL is number one.

378
00:31:44,580 --> 00:31:44,920
Okay.

379
00:31:46,660 --> 00:31:49,340
And that is still going to be needed.

380
00:31:49,660 --> 00:31:55,260
Certainly, people that understand the difference between outer and inner joins, very valuable.

381
00:31:55,740 --> 00:32:08,340
But we need our DBAs to stop being focused on this system of record and being an Oracle DBA or a DB2 DBA or MySQL or whatever.

382
00:32:08,600 --> 00:32:12,720
And we need them to focus on what data means to the company.

383
00:32:12,900 --> 00:32:15,240
And I would argue it is the most important thing.

384
00:32:15,380 --> 00:32:19,900
At the end of the day, that system of engagement, the application is supposed to change.

385
00:32:20,160 --> 00:32:22,240
But the data should always be there.

386
00:32:22,280 --> 00:32:23,680
And we're collecting more and more.

387
00:32:24,300 --> 00:32:38,240
So as far as job description, I would argue for a solid foundation with databases, exposure to NoSQL and big data, but also to be gifted generalists.

388
00:32:38,240 --> 00:32:43,440
They should know how to write code that's not SQL.

389
00:32:43,740 --> 00:32:49,740
They need to be able to automate their jobs because that's where we're going, and that should be the expectation.

390
00:32:51,060 --> 00:32:51,860
Yeah, that's interesting.

391
00:32:52,000 --> 00:33:06,260
That's like a – maybe it's biased from programmers, but a reoccurring theme for every role in this process is like you should know how to program more better, which makes sense.

392
00:33:06,260 --> 00:33:12,480
I guess it is to some extent part of what being a generalist would be.

393
00:33:12,840 --> 00:33:19,000
Like if you can do some programming, you can manipulate a wide range of things rather than just the specialist thing you have.

394
00:33:19,080 --> 00:33:22,420
Well, I had like two more things I wanted to ask about.

395
00:33:22,520 --> 00:33:23,720
One of them just occurred to me.

396
00:33:24,140 --> 00:33:27,820
You know, I'm always curious about, you know, what goes on in the industries.

397
00:33:27,980 --> 00:33:38,120
And since you just like easily rattled off that the airline industry uses Siebel a lot, which as they say in that movie, that's a name I haven't heard in a long time.

398
00:33:38,840 --> 00:33:41,920
But anyways, like when, you know –

399
00:33:41,920 --> 00:33:43,360
What is it from Star Wars?

400
00:33:43,500 --> 00:33:45,600
It's an older code, but it checks out.

401
00:33:46,000 --> 00:33:46,400
Exactly.

402
00:33:46,700 --> 00:33:47,320
There you go.

403
00:33:48,200 --> 00:33:49,540
But – exactly.

404
00:33:49,780 --> 00:33:56,060
But like so in other industries, you know, what would be your generalization about the databases they use in other industries?

405
00:33:57,360 --> 00:34:00,660
Well, banks use a lot of DB2 on ZOS.

406
00:34:01,040 --> 00:34:01,300
Yeah.

407
00:34:01,460 --> 00:34:02,000
Makes sense.

408
00:34:02,800 --> 00:34:05,860
They are using – everybody's using Oracle.

409
00:34:06,300 --> 00:34:06,520
Yeah.

410
00:34:07,320 --> 00:34:10,800
Now, one thing that I have seen is a move away from it.

411
00:34:11,440 --> 00:34:20,600
I've seen a rise of certainly at Fortune 500 financial services, whether it's insurance or banking investments.

412
00:34:20,600 --> 00:34:29,680
I've certainly seen a appetite to move away from Oracle to either Postgres or MySQL.

413
00:34:31,560 --> 00:34:38,940
And I think that's shown in – you know, Gartner puts out that annual software marketplace revenue share.

414
00:34:38,940 --> 00:34:52,500
And I think a couple years ago, they started putting Amazon on the relational database and semi-structured component or bucket of revenue.

415
00:34:53,320 --> 00:34:57,980
And so we're starting to see people are adopting open source relational databases.

416
00:34:59,340 --> 00:35:02,300
They are adopting them very quickly in the cloud.

417
00:35:03,900 --> 00:35:12,380
And they are not adopting semi-structured, so no SQ on big data, as fast as we predicted five years ago.

418
00:35:13,640 --> 00:35:15,680
That's one thing that we're certainly seeing.

419
00:35:15,780 --> 00:35:18,140
Now, there's a place for it, and it's important.

420
00:35:18,800 --> 00:35:22,320
There's a lot of value in those NoSQL document stores.

421
00:35:23,700 --> 00:35:32,120
But the idea that they are going to totally replace the transactional nature of the relational database, nah, nah, it's not there.

422
00:35:32,300 --> 00:35:38,140
So you're saying there's a more SQL afoot, not just less SQL, as they used to say.

423
00:35:38,340 --> 00:35:42,040
Yeah, look, it's – when all you have is a hammer, everything looks like a nail, right?

424
00:35:42,100 --> 00:35:44,140
So we put everything in Oracle.

425
00:35:44,320 --> 00:35:45,720
We put it all in SQL Server.

426
00:35:46,720 --> 00:35:52,260
But now there's certainly a place for those document stores.

427
00:35:52,500 --> 00:35:57,060
Like Cassandra for fraud detection is phenomenal.

428
00:35:57,060 --> 00:36:00,160
So I've seen a big uptick in that usage.

429
00:36:01,360 --> 00:36:12,020
But it is – the idea that there is a zero-sum game, that if one data platform wins, the others lose, that's not happening.

430
00:36:12,200 --> 00:36:14,040
In fact, everything is going up.

431
00:36:15,040 --> 00:36:18,360
Everything is increasing in usage, including DB2 for Z.

432
00:36:18,360 --> 00:36:30,780
No, I mean that's what we definitely see in the perch that we're in is people will use anything that works and not get – not force the hammer to work on everything, to use the old metaphor.

433
00:36:31,100 --> 00:36:33,260
Well, that goes back to the gifted generalist.

434
00:36:33,340 --> 00:36:38,280
You need somebody that is not – all they know is Oracle.

435
00:36:38,760 --> 00:36:42,280
So they're going to try and use Oracle to solve every problem.

436
00:36:42,280 --> 00:36:44,420
We need technologists.

437
00:36:44,980 --> 00:36:54,760
Fortune 500 needs technologists that can look at a business problem and apply the best technology to solve that problem regardless of what it is.

438
00:36:55,040 --> 00:36:59,740
Well, so the last thing I wanted to ask about, I remember a long time ago when I was talking with you all.

439
00:36:59,940 --> 00:37:01,200
We're both in Austin.

440
00:37:01,480 --> 00:37:03,000
So, of course, we would run into each other.

441
00:37:04,420 --> 00:37:09,380
I forget what you all are based on, but like what's the stack of software that you all use?

442
00:37:09,480 --> 00:37:12,220
I mean what's it composed of nowadays?

443
00:37:13,480 --> 00:37:17,280
Well, we're certainly – we're based on Liquibase.

444
00:37:17,500 --> 00:37:17,660
All right.

445
00:37:17,680 --> 00:37:22,580
So Liquibase is an open source project for database migration.

446
00:37:23,180 --> 00:37:28,220
So that is our core, you know, what we do.

447
00:37:28,800 --> 00:37:30,400
Use that to update the database.

448
00:37:31,000 --> 00:37:33,000
But then we go a little bit further.

449
00:37:33,600 --> 00:37:40,620
So to add certainly the forecast functionality and the rules engine, that's based on drools.

450
00:37:41,380 --> 00:37:45,680
Daticle 4, which is currently released, is based on Eclipse.

451
00:37:47,200 --> 00:37:54,320
And we are re-platforming to microservices using Docker containers for Daticle 5.

452
00:37:54,380 --> 00:37:57,160
And that comes out on the 20th of February.

453
00:37:57,640 --> 00:38:05,020
And so what that's going to allow customers to do is, one, you don't have to install Daticle as a desktop app, all right?

454
00:38:05,060 --> 00:38:13,120
It is now a long-running server process that you integrate or interact with using either a browser or web services.

455
00:38:14,180 --> 00:38:25,200
So we have moved over this past year, 2017, from Eclipse to Docker containers, and it has been phenomenal.

456
00:38:26,040 --> 00:38:28,660
It is just the best move we ever made.

457
00:38:28,660 --> 00:38:38,620
Back in the day when we started, it made sense for our customers to have Daticle installed on their desktop and their servers.

458
00:38:39,020 --> 00:38:46,980
But now, as they move to the cloud, they move to virtualized servers, they're really jumping both feet into this.

459
00:38:47,540 --> 00:38:51,960
It's imperative that we're skating to where the puck is going to be.

460
00:38:52,520 --> 00:38:54,800
And for our large customers, that's the cloud.

461
00:38:55,080 --> 00:38:56,100
That's microservices.

462
00:38:56,540 --> 00:38:58,580
And so that's the stack that we're based on now.

463
00:38:59,020 --> 00:39:08,180
So does that mean, like, if you're moving from Eclipse, like you move from, like, OSGI Eclipse-y bundle things to container services that you wrap a UI around?

464
00:39:08,240 --> 00:39:10,380
Or, like, what does that mean?

465
00:39:11,020 --> 00:39:23,820
Because, I mean, you're essentially a tool with sort of like a, I don't know, headless running process that can hook into your pipeline, right, to do all this enforcement and everything.

466
00:39:23,820 --> 00:39:32,900
And so it's interesting to think about, like, how microservices applies to a non-production thing, if that makes sense.

467
00:39:34,100 --> 00:39:35,920
Well, it was certainly a challenge.

468
00:39:36,620 --> 00:39:46,060
You know, there is workflow enforcement in the Eclipse UI, and they're certainly using those OSGI bundles, how we put the software together.

469
00:39:46,720 --> 00:39:54,440
But it turns out that we were able to take those bundles and wrap them instead of in the Eclipse UI in microservices.

470
00:39:55,500 --> 00:39:55,980
Right.

471
00:39:56,140 --> 00:39:58,400
You know, use a lot of spring, of course.

472
00:39:59,080 --> 00:40:06,420
And so, you know, that's, it was actually, it made a lot more sense than we thought it would.

473
00:40:07,480 --> 00:40:08,120
Yeah, yeah.

474
00:40:08,120 --> 00:40:19,600
You know, it's, it's, it's like Fowler, you know, he's certainly talked about microservices, that there is value in creating a monolithic app first, because at least you get your domain model down.

475
00:40:19,860 --> 00:40:20,060
Right.

476
00:40:20,120 --> 00:40:22,820
And that's what we were able to do with the Eclipse stuff.

477
00:40:22,960 --> 00:40:32,680
But now, a new day has dawned, and it's time for, if we're going to take advantage of scalability with the cloud, this is a direction we had to go in, and we have.

478
00:40:32,760 --> 00:40:49,040
Yeah, that's interesting, because I guess, in theory, you could scale up from a laptop, just running all this stuff to basically doing like, I'm going to embarrass myself, but you could horizontalize like running everything to get more, more horsepower behind it.

479
00:40:49,040 --> 00:41:01,380
When you're doing all your analysis and stuff by sticking it up, not only on a server, but into a whole cluster of servers or a cloud, as people would want to call it, and centralize that a lot more.

480
00:41:02,220 --> 00:41:03,720
So that's, that's interesting.

481
00:41:04,480 --> 00:41:06,380
Well, we certainly could have done that.

482
00:41:06,660 --> 00:41:08,900
But the time was right.

483
00:41:09,020 --> 00:41:17,200
I mean, look, companies want to purchase solutions that mirror the direction that they're going.

484
00:41:18,060 --> 00:41:23,460
And if we're pushing, you know, five-year-old technology, it just doesn't make sense to them.

485
00:41:23,960 --> 00:41:41,820
And so we also wanted to personally, you know, if we're going to help our customers move to the cloud, move to microservices, cloud-native applications, if we're going to solve this persistence problem for them, we need to do it in a way that they themselves want to do it.

486
00:41:42,300 --> 00:41:51,100
Yeah, and then I guess, I guess to cite the obvious thing, well, do y'all run it as a service or is it like you run it, a user runs it on its own?

487
00:41:51,160 --> 00:41:56,500
Because once, once you can containerize it and stick it in a cloud somewhere, you could potentially run it for someone.

488
00:41:57,320 --> 00:41:58,320
Well, absolutely.

489
00:41:58,540 --> 00:42:00,200
And that's the direction that we're going.

490
00:42:01,000 --> 00:42:07,120
First, what we want to do is we want this installed inside our company's data centers.

491
00:42:07,240 --> 00:42:08,360
Now they're virtualized.

492
00:42:08,700 --> 00:42:11,480
A lot of our large customers have not moved to the cloud.

493
00:42:11,480 --> 00:42:14,040
They're certainly going there, but today they're not.

494
00:42:14,560 --> 00:42:21,220
So what we wanted to do was put this behind the firewall and we wanted to make certain that they were satisfied with it.

495
00:42:21,720 --> 00:42:30,920
Once you've made these, you know, Fortune 25 companies happy, it's then very easy to release this as a service.

496
00:42:31,420 --> 00:42:39,860
One of our challenges is going to be releasing it to every single cloud that our customers want to go to.

497
00:42:40,660 --> 00:42:44,440
And so that's, you know, one of the things that we're working on this year.

498
00:42:44,540 --> 00:42:57,900
How do we make a change to a microservice and then hit a button and then it goes out to all the different locations that we have it installed and also using a shared data store?

499
00:42:58,740 --> 00:43:01,920
I hear that there's some companies out there that are really good at managing that.

500
00:43:01,920 --> 00:43:02,940
Do you guys know of any?

501
00:43:03,540 --> 00:43:04,080
That's right.

502
00:43:04,180 --> 00:43:05,300
I'll have to go check my notes.

503
00:43:07,160 --> 00:43:07,340
Exactly.

504
00:43:07,340 --> 00:43:07,960
You know, some people.

505
00:43:08,440 --> 00:43:08,580
Yeah.

506
00:43:09,080 --> 00:43:09,380
Yeah.

507
00:43:09,780 --> 00:43:10,980
No, that's interesting.

508
00:43:11,160 --> 00:43:15,000
It's always fun to see the, I don't know, across, let's see, what year is this?

509
00:43:15,080 --> 00:43:25,000
2018, across the last 10 years or so, the two steps forward, one step back move of getting like IDEs somehow running in the cloud.

510
00:43:25,260 --> 00:43:29,740
And there's been a lot of two steps forward and everything, but everything gets closer and closer to that.

511
00:43:29,800 --> 00:43:32,520
So we'll see how all that pans out.

512
00:43:32,600 --> 00:43:40,640
Maybe one day we'll all be running on, well, I'm not a developer anymore, but developers will all be running on Chromebooks and we'll say, what happened to the sun rays?

513
00:43:40,920 --> 00:43:41,800
It'll be very sad.

514
00:43:43,220 --> 00:43:44,440
I remember those.

515
00:43:44,520 --> 00:43:45,360
Those were sexy.

516
00:43:45,580 --> 00:43:46,060
Yeah, yeah.

517
00:43:46,240 --> 00:43:52,020
I still have an old one that they gave me up on the shelf behind me that I don't know why I keep it.

518
00:43:52,020 --> 00:43:56,360
Maybe one day my kids will inherit it and they'll be, what is this piece of crap?

519
00:43:56,960 --> 00:44:00,320
But stick it on whatever eBay, eBay of the space future.

520
00:44:00,840 --> 00:44:06,140
Anyhow, well, on that note, as we contemplate the space future, thanks for being on.

521
00:44:06,240 --> 00:44:07,300
It was fun to talk about.

522
00:44:07,360 --> 00:44:09,220
It's always good to go over data stuff.

523
00:44:09,260 --> 00:44:16,280
If people want to follow up with you, maybe follow you around the internet in a non-creepy way, like what would you point them at?

524
00:44:16,540 --> 00:44:22,400
Well, certainly there's the Datical Twitter account, D-A-T-I-C-A-L.

525
00:44:22,800 --> 00:44:26,420
There's certainly at Robert Reeves, which is my Twitter handle.

526
00:44:27,080 --> 00:44:38,640
If Pivotal customers want to learn more about Datical for Concourse, they can go to our website, datical.com slash partners slash Pivotal.

527
00:44:38,640 --> 00:44:42,260
Or you can just put Datical, Pivotal, and Google, and it'll be the first link.

528
00:44:42,600 --> 00:44:43,160
Yeah, no doubt.

529
00:44:43,460 --> 00:44:47,840
Pretty unique combination of words there, probably, unless there's something I don't know about.

530
00:44:48,380 --> 00:44:48,680
That's right.

531
00:44:48,680 --> 00:44:50,940
Well, as always, thanks for listening.

532
00:44:51,300 --> 00:44:54,300
This has been another exciting episode of Pivotal Conversations.

533
00:44:54,360 --> 00:45:10,060
If you want to easily peruse the back catalog and find the RSS feed to subscribe to and all of that kind of stuff, see some highlights of other episodes we've had and end users we've talked to and other partners, you can go to soundcloud.com slash Pivotal Conversations.

534
00:45:10,320 --> 00:45:23,760
I think, as you may recall, if you haven't listened to last week's, relevant to us having PKS released this week, we talked with our buddy Paul here on the same team I am about Kubernetes and what it is and why you might be interested in.

535
00:45:23,860 --> 00:45:26,000
So check that episode out if you haven't seen it.

536
00:45:26,480 --> 00:45:34,220
And every Thursday, we post the full show notes, which will have links to the things we talked about and other related stuff over at Pivotal.io slash podcast.

537
00:45:34,960 --> 00:45:36,960
And with that, we'll see everyone next time.

538
00:45:37,240 --> 00:45:37,700
Bye-bye.
