1
00:00:00,000 --> 00:00:07,500
We're here in Austin, Texas at the Five Runs headquarters, we have two exciting guests

2
00:00:07,500 --> 00:00:08,500
with us.

3
00:00:08,500 --> 00:00:09,500
Would you like to introduce yourself, guest?

4
00:00:09,500 --> 00:00:10,500
Sure.

5
00:00:10,500 --> 00:00:11,500
I'm Steve Sanderson.

6
00:00:11,500 --> 00:00:14,500
I'm the VP of Development and Technology here at Five Runs.

7
00:00:14,500 --> 00:00:15,500
Yeah.

8
00:00:15,500 --> 00:00:16,500
I'm Bruce Williams.

9
00:00:16,500 --> 00:00:17,500
I'm a developer here at Five Runs.

10
00:00:17,500 --> 00:00:21,000
I was here today, you guys were telling me about sort of the exciting new release you

11
00:00:21,000 --> 00:00:22,500
guys have coming out.

12
00:00:22,500 --> 00:00:26,500
And I mean, before we get to exactly what's in the new release, do you want to just give

13
00:00:26,500 --> 00:00:28,500
a quick overview of what Five Runs does?

14
00:00:28,500 --> 00:00:35,260
Our products are for the Ruby and Rails market monitoring, we also have an installed product

15
00:00:35,260 --> 00:00:40,500
that builds up an environment, provides an environment for developers, but generally we're focusing

16
00:00:40,500 --> 00:00:45,100
on how to create success for the application developer and deployment in the whole Ruby and

17
00:00:45,100 --> 00:00:46,100
Rails world.

18
00:00:46,100 --> 00:00:47,100
Right.

19
00:00:47,100 --> 00:00:50,400
So essentially you're sort of everything except actually writing the code for Rails.

20
00:00:50,400 --> 00:00:51,400
Yes.

21
00:00:51,400 --> 00:00:53,400
We haven't figured out how to solve that for them.

22
00:00:53,400 --> 00:00:55,700
That's a problem that's not too hard to solve.

23
00:00:55,700 --> 00:00:56,700
Yeah.

24
00:00:56,700 --> 00:00:59,520
I think more than anything we're kind of focused on the end.

25
00:00:59,520 --> 00:01:03,460
So developing a Rails application isn't really a difficult thing to do.

26
00:01:03,460 --> 00:01:08,280
It takes some skill and it takes some time, but it's definitely a lot easier to do than

27
00:01:08,280 --> 00:01:10,220
using some other application frameworks.

28
00:01:10,220 --> 00:01:15,040
So we're focused on the harder part, which is deploying and maintaining once it's out there.

29
00:01:15,040 --> 00:01:16,040
Right.

30
00:01:16,040 --> 00:01:18,980
At the moment, what are the different components you have in your portfolio for doing those

31
00:01:18,980 --> 00:01:19,980
things?

32
00:01:19,980 --> 00:01:20,980
Yeah.

33
00:01:20,980 --> 00:01:23,800
The main component we've got, the flagship one, is Manage.

34
00:01:23,800 --> 00:01:27,740
As you mentioned, we're coming out with a new version of that.

35
00:01:27,740 --> 00:01:34,800
Manage provides for production operations, whether you might be a developer that's managing several

36
00:01:34,800 --> 00:01:39,080
apps in production or you're actually a dedicated operations person.

37
00:01:39,080 --> 00:01:44,040
We provide the ability to monitor those applications in production, get feedback on what their status

38
00:01:44,040 --> 00:01:48,720
is, and drill really deeply into what's going on with them from a Rails and Ruby perspective,

39
00:01:48,720 --> 00:01:53,640
and then see how they fit into a larger ecosystem of other components like MySQL or Apache or what

40
00:01:53,640 --> 00:01:54,640
have they.

41
00:01:54,640 --> 00:01:55,640
Right.

42
00:01:55,640 --> 00:01:56,640
So what do you think about the Rails application?

43
00:01:56,640 --> 00:02:01,020
I mean, is it, I mean, if I just had a naive straw man, I mean, is it, it's gotta be more

44
00:02:01,020 --> 00:02:03,320
than just like your database is down or something like that.

45
00:02:03,320 --> 00:02:08,100
I mean, what, what does it get to that makes it Rails management versus just normal management?

46
00:02:08,100 --> 00:02:12,580
Well, the, the, the quick answer to that is, is we drill really deeply into, uh, what's

47
00:02:12,580 --> 00:02:16,320
going on within the Rails framework and your code's interaction with that.

48
00:02:16,320 --> 00:02:20,560
And we are able to instrument all those key points, allow you to set all sorts of triggers

49
00:02:20,560 --> 00:02:27,320
to say, um, tell me, send alerts out when certain, uh, thresholds are crossed.

50
00:02:27,320 --> 00:02:31,960
So that, um, you can use some of the existing triggers that we have out of the box, or you

51
00:02:31,960 --> 00:02:37,000
can start to customize them and say, well, I really need to know if this part of my application

52
00:02:37,000 --> 00:02:38,500
is behaving in a certain way.

53
00:02:38,500 --> 00:02:40,000
I want to be notified of that.

54
00:02:40,000 --> 00:02:41,000
Right.

55
00:02:41,000 --> 00:02:43,740
Obviously that the more, the more straightforward piece, which is, well, tell me if a piece

56
00:02:43,740 --> 00:02:47,880
of my environment is down, like you said, that's, you know, that's pretty standard.

57
00:02:47,880 --> 00:02:52,420
Um, but what's key for us is to really talk about how we drill down into the Rails world

58
00:02:52,420 --> 00:02:58,740
and tell you, uh, you know, what you can hook up to, what you can monitor, and then generate

59
00:02:58,740 --> 00:03:01,220
events and feedback for you so that you can go fix some things.

60
00:03:01,220 --> 00:03:05,120
Yeah, we do a lot more than just say, it's broke, which is, which is the other approach.

61
00:03:05,120 --> 00:03:06,120
Yeah, right.

62
00:03:06,120 --> 00:03:12,160
Um, and we let you know what's broke, at least as far, as far as a, uh, as a computer can tell

63
00:03:12,160 --> 00:03:13,160
you.

64
00:03:13,160 --> 00:03:17,280
In what context did it break, so we let you take a look at, you know, what happened

65
00:03:17,280 --> 00:03:22,440
in MySQL at the same time, what happened in your OS at the same time, um, so you have

66
00:03:22,440 --> 00:03:26,700
a little bit firmer of an idea and you can, you can follow, you can follow up and try to

67
00:03:26,700 --> 00:03:27,700
figure it out.

68
00:03:27,700 --> 00:03:28,700
Right.

69
00:03:28,700 --> 00:03:32,940
The typical, sort of, um, what would you call it, sort of sibling technologies that people

70
00:03:32,940 --> 00:03:37,020
end up having in Rails, and we mentioned the database, and one would, one would assume

71
00:03:37,020 --> 00:03:40,300
that you have Apache or a web server running, but I mean, what are other things that, that

72
00:03:40,300 --> 00:03:44,340
you guys manage that, that, uh, that might be running alongside these things?

73
00:03:44,340 --> 00:03:45,740
Uh, Memcache is a good example.

74
00:03:45,740 --> 00:03:49,920
The funny thing with Rails is, it's not just a cut and dry framework and here's your, here's

75
00:03:49,920 --> 00:03:50,920
your box and it just runs.

76
00:03:50,920 --> 00:03:54,920
There's a lot of things that end up running along with it in the ecosystem, so.

77
00:03:54,920 --> 00:03:55,920
Right.

78
00:03:55,920 --> 00:03:58,260
Besides your OS and your database, there's a, there's a lot of things that you might run

79
00:03:58,260 --> 00:03:59,260
alongside.

80
00:03:59,260 --> 00:04:01,140
Memcache is a, is a really, really simple example.

81
00:04:01,140 --> 00:04:03,980
And there's a wide range of web servers that you can use with it.

82
00:04:03,980 --> 00:04:09,480
And we try to take care of all of that for you.

83
00:04:09,480 --> 00:04:10,480
Right.

84
00:04:10,480 --> 00:04:13,740
That's an interesting, sort of, difference from, say, like, J2EE, where it's, sort of,

85
00:04:13,740 --> 00:04:17,600
you're locked down as, as what, uh, the sanctioned things to run.

86
00:04:17,600 --> 00:04:21,820
And so, I mean, as, and when you guys are thinking of different technologies to support,

87
00:04:21,820 --> 00:04:25,080
what's sort of the heuristic you go through to say, like, oh, we should support Memcache,

88
00:04:25,080 --> 00:04:27,300
or we should support this other thing, or something like that?

89
00:04:27,300 --> 00:04:28,360
To some degree it is subjective.

90
00:04:28,360 --> 00:04:32,640
Um, it's certainly not a mathematical formula we can just punch numbers into and see what comes

91
00:04:32,640 --> 00:04:33,640
out of the other side.

92
00:04:33,640 --> 00:04:34,640
Yeah.

93
00:04:34,640 --> 00:04:38,140
But, you know, being hooked into the community, I think, is an important part of, of what we

94
00:04:38,140 --> 00:04:39,140
do.

95
00:04:39,140 --> 00:04:43,420
And so, we, we see what the community is really interested in, what they're using, and, uh,

96
00:04:43,420 --> 00:04:46,140
some of the leading companies, what, what they're focused on, and what they're supporting.

97
00:04:46,140 --> 00:04:50,340
And what we've found, not surprisingly, is that the community is, um, you know, passionate

98
00:04:50,340 --> 00:04:51,340
about what they're doing.

99
00:04:51,340 --> 00:04:54,980
They don't have a problem giving us feedback and saying, you know, we're really interested in

100
00:04:54,980 --> 00:04:55,980
this widget.

101
00:04:55,980 --> 00:04:57,980
Please help us with this, support this widget.

102
00:04:57,980 --> 00:04:58,980
So, um.

103
00:04:58,980 --> 00:04:59,980
I think developers have no problems with opinions.

104
00:04:59,980 --> 00:05:00,980
Yeah.

105
00:05:00,980 --> 00:05:01,980
That's right.

106
00:05:01,980 --> 00:05:02,980
Absolutely.

107
00:05:02,980 --> 00:05:04,980
And so, you know, obviously we want that so that we can figure out what the next thing...

108
00:05:04,980 --> 00:05:10,640
And as that community matures more, I mean, what are you finding the...is the task of managing

109
00:05:10,640 --> 00:05:14,100
and deploying things a lot different, or are there sort of...is it sort of like old wine

110
00:05:14,100 --> 00:05:15,980
and new bottles, or is it new bottles with old wine?

111
00:05:15,980 --> 00:05:16,980
The idea being that, um...

112
00:05:16,980 --> 00:05:18,980
I guess it's more like moonshine sometimes.

113
00:05:18,980 --> 00:05:19,980
There you go.

114
00:05:19,980 --> 00:05:20,980
That's right.

115
00:05:20,980 --> 00:05:21,980
So it's new stuff.

116
00:05:21,980 --> 00:05:26,720
But, you know, you can always...there's always a very salt-encrusted, or yet to be salt-encrusted

117
00:05:26,720 --> 00:05:28,980
people might say, this is the same old stuff, just different...

118
00:05:28,980 --> 00:05:30,480
I think people are trying a lot of new ways.

119
00:05:30,480 --> 00:05:35,320
I mean, and, you know, I think you're eminently more qualified about this than I am.

120
00:05:35,320 --> 00:05:41,360
However, you know, my, my sort of perspective is people are trying new ways about, about stuff.

121
00:05:41,360 --> 00:05:44,980
They're challenging the convention about, well, you always got to do it this way.

122
00:05:44,980 --> 00:05:49,980
This is the way they did it in, you know, favorite language 5, and 10, and 15, and 20 years ago.

123
00:05:49,980 --> 00:05:53,900
Yeah, I think there's a real danger in assuming that the best practice from something else

124
00:05:53,900 --> 00:05:55,980
is going to work just fine here and now, too.

125
00:05:55,980 --> 00:05:56,980
Sure, sure.

126
00:05:56,980 --> 00:05:57,980
So that's the whole Cargo Cult concept.

127
00:05:57,980 --> 00:06:00,860
You were talking about this earlier, and maybe you can shed some more light on it, but there's

128
00:06:00,860 --> 00:06:07,860
a certain new thing you can do with the dynamic nature of Ruby itself that really would be

129
00:06:07,860 --> 00:06:08,860
thought of as insanity.

130
00:06:08,860 --> 00:06:10,860
Right, people's minds occasionally, yeah.

131
00:06:10,860 --> 00:06:12,980
There's a fine line between insanity and genius.

132
00:06:12,980 --> 00:06:13,980
Absolutely.

133
00:06:13,980 --> 00:06:14,980
So you have to drill the line.

134
00:06:14,980 --> 00:06:15,980
Yeah.

135
00:06:15,980 --> 00:06:16,980
You have to be a little careful.

136
00:06:16,980 --> 00:06:18,980
I mean, it's one of those things, a double-edged sword.

137
00:06:18,980 --> 00:06:22,980
So it does open up a lot of doors, but it does open up a lot of dangers as well.

138
00:06:22,980 --> 00:06:23,980
Right.

139
00:06:23,980 --> 00:06:27,980
And I think that's kind of where we do come in.

140
00:06:27,980 --> 00:06:32,980
We try to at least, the thing is when you're dealing with a dynamic language, sometimes these

141
00:06:32,980 --> 00:06:33,980
problems don't pop up until you're in production.

142
00:06:33,980 --> 00:06:34,980
Right.

143
00:06:34,980 --> 00:06:38,980
So you can do all the testing that you want to in your development environment, but once

144
00:06:38,980 --> 00:06:44,980
you start adding weird new data from customers and it's up running in some slightly different

145
00:06:44,980 --> 00:06:49,980
configuration, which is different from everybody else's because there is no standard, you know,

146
00:06:49,980 --> 00:06:50,980
things pop up that you don't expect.

147
00:06:50,980 --> 00:06:54,980
Well, I think that actually sort of points out a reason why, you know, going and having

148
00:06:54,980 --> 00:06:58,980
deep rails monitoring, you know, the sort of integration of the rails and Ruby world and

149
00:06:58,980 --> 00:06:59,980
the components is really important.

150
00:06:59,980 --> 00:07:06,980
It's because unlike, you know, non-dynamic languages, unlike frameworks in the past, there's

151
00:07:06,980 --> 00:07:10,980
a desire, there had been a desire in sort of the larger technical community.

152
00:07:10,980 --> 00:07:11,980
Let's figure out everything.

153
00:07:11,980 --> 00:07:13,980
By the time we go to production, it's frozen.

154
00:07:13,980 --> 00:07:14,980
You stamp it out.

155
00:07:14,980 --> 00:07:16,980
It's really a distribution issue.

156
00:07:16,980 --> 00:07:17,980
Right.

157
00:07:17,980 --> 00:07:18,980
It's a manufacturing issue.

158
00:07:18,980 --> 00:07:20,980
And, you know, it's like a car.

159
00:07:20,980 --> 00:07:23,980
We've sent it out and, you know, maybe we need to touch up the paint when we dig it.

160
00:07:23,980 --> 00:07:28,980
But after that, it's pretty much still a car, you know, with the dynamic nature that we've

161
00:07:28,980 --> 00:07:29,980
got with Ruby.

162
00:07:29,980 --> 00:07:36,980
And there's a lot more possibilities and a lot more things that can change, that can be

163
00:07:36,980 --> 00:07:40,980
connected, you know, with the data and having the right tools to be able to give you insight

164
00:07:40,980 --> 00:07:41,980
into that.

165
00:07:41,980 --> 00:07:46,980
You need tools that are a little more tuned in that perspective than the more conventional

166
00:07:46,980 --> 00:07:48,980
sort of systems management, systems monitoring tools.

167
00:07:48,980 --> 00:07:52,980
They really need to understand the fact you're dealing with a really much more dynamic.

168
00:07:52,980 --> 00:07:57,980
And it seems like the main sort of technological difference is you guys actually, well, you

169
00:07:57,980 --> 00:08:00,980
guys, one who would be doing this, meaning you guys in this case.

170
00:08:00,980 --> 00:08:01,980
It's a royal we.

171
00:08:01,980 --> 00:08:02,980
That's right.

172
00:08:02,980 --> 00:08:03,980
Yes.

173
00:08:03,980 --> 00:08:06,980
That's the thing that you're managing and monitoring rather than like more traditional

174
00:08:06,980 --> 00:08:08,980
approaches don't so much instrument.

175
00:08:08,980 --> 00:08:11,980
They treat the components at some level as a black box.

176
00:08:11,980 --> 00:08:12,980
Right.

177
00:08:12,980 --> 00:08:15,980
And we're, you know, we're not thinking of that world as a black box, just the opposite.

178
00:08:15,980 --> 00:08:19,980
And when we go to think about things like MERB, you know, when we actually instrument inside

179
00:08:19,980 --> 00:08:25,980
the Rails framework, you know, A, we're using the stuff, you know, we're actually, oh boy,

180
00:08:25,980 --> 00:08:27,980
I'll use that cliche phrase, we're eating our own dog food, right?

181
00:08:27,980 --> 00:08:28,980
Sure.

182
00:08:28,980 --> 00:08:29,980
Because we're using these tools in production.

183
00:08:29,980 --> 00:08:32,980
We're monitoring our own stuff in production.

184
00:08:32,980 --> 00:08:35,980
So the instrumentation we get, we're immediately, of course, turning around in our own little

185
00:08:35,980 --> 00:08:39,980
feedback loop and saying, is that data that we're getting out for, you know, this interaction

186
00:08:39,980 --> 00:08:41,980
here really interesting and relevant to us?

187
00:08:41,980 --> 00:08:42,980
Right.

188
00:08:42,980 --> 00:08:44,980
So it has to pass sort of that giggle test.

189
00:08:44,980 --> 00:08:49,980
But, you know, we're actually in there trying to figure out what's the right kind of data.

190
00:08:49,980 --> 00:08:53,980
And there are, you know, pretty regular dialogues about, yeah, we got that number out, but that's

191
00:08:53,980 --> 00:08:54,980
a goofy number.

192
00:08:54,980 --> 00:08:57,980
So do we really need to put that number out?

193
00:08:57,980 --> 00:09:01,980
Or is there some other aspect that we need to surface that's going to help people understand?

194
00:09:01,980 --> 00:09:04,980
Really have, you know, I think the world, because of the dynamic aspects, really moved

195
00:09:04,980 --> 00:09:09,980
away from this sort of treating all these as fixed, already baked black boxes.

196
00:09:09,980 --> 00:09:10,980
You just don't need to worry about it.

197
00:09:10,980 --> 00:09:16,980
You deploy them and you get someone at the other end of the console who's not necessarily

198
00:09:16,980 --> 00:09:18,980
caring about what's inside that black box.

199
00:09:18,980 --> 00:09:24,980
I think the sort of Rails and Ruby world demands at this point that the consumer of some of

200
00:09:24,980 --> 00:09:29,980
that information does have sort of propensity to think, well, this isn't just a black box.

201
00:09:29,980 --> 00:09:32,980
I do want to know what's in there because it is going to change, even from an operations

202
00:09:32,980 --> 00:09:33,980
point of view.

203
00:09:33,980 --> 00:09:34,980
I see this is going on.

204
00:09:34,980 --> 00:09:36,980
I need to change some of my operations infrastructure.

205
00:09:36,980 --> 00:09:37,980
That's interesting.

206
00:09:37,980 --> 00:09:41,980
I mean, it reminds me of anecdotes I always hear about Amazon, or always.

207
00:09:41,980 --> 00:09:46,980
Not that I hear them every day, but every now and then I hear about Amazon where there's

208
00:09:46,980 --> 00:09:49,980
essentially more of a philosophy of if you write the code, you own the code and production.

209
00:09:49,980 --> 00:09:53,980
Additionally, in management, there's more of a split between the developers and there's

210
00:09:53,980 --> 00:09:55,980
a giant wall that the code gets thrown over to operations.

211
00:09:55,980 --> 00:09:56,980
Yeah.

212
00:09:56,980 --> 00:09:58,980
And I mean, I wonder if that, you know.

213
00:09:58,980 --> 00:09:59,980
That would be nice.

214
00:09:59,980 --> 00:10:00,980
Yeah.

215
00:10:00,980 --> 00:10:01,980
That was good.

216
00:10:01,980 --> 00:10:07,980
And I'm sure being a SaaS company, it seems like SaaS companies run like that, absolutely,

217
00:10:07,980 --> 00:10:10,980
just because they seem to run like that.

218
00:10:10,980 --> 00:10:13,980
But in your customer base, do you find people are having this splitter?

219
00:10:13,980 --> 00:10:20,980
When I first got here, you know, we've all sort of been around the web 1.0 and there's

220
00:10:20,980 --> 00:10:22,980
web 2.0 and all of that sort of tag.

221
00:10:22,980 --> 00:10:27,980
And then we sort of sat back, I think, some of us and said, well, yeah, we understand what

222
00:10:27,980 --> 00:10:29,980
developer 2.0 looks like, right?

223
00:10:29,980 --> 00:10:30,980
It's Ruby.

224
00:10:30,980 --> 00:10:31,980
It's agile.

225
00:10:31,980 --> 00:10:32,980
It's dynamic languages.

226
00:10:32,980 --> 00:10:35,980
It's, you know, very short, rapid feedback, iterative cycles.

227
00:10:35,980 --> 00:10:42,980
We had a product that supposed what we, you know, don't stick by this name, but, you know,

228
00:10:42,980 --> 00:10:43,980
sort of an Ops 2.0.

229
00:10:43,980 --> 00:10:45,980
What does Ops 2.0 look like?

230
00:10:45,980 --> 00:10:46,980
Right.

231
00:10:46,980 --> 00:10:51,980
Are they the classic ops guys who have drunk the 2.0 Kool-Aid?

232
00:10:51,980 --> 00:10:55,980
Are they developers who also happen to pick up ops stuff?

233
00:10:55,980 --> 00:10:57,980
We don't really know.

234
00:10:57,980 --> 00:11:00,980
And that's part of what we're finding out when the product goes out there.

235
00:11:00,980 --> 00:11:05,980
But a lot of people that are using our product, I think, have developer sensibilities.

236
00:11:05,980 --> 00:11:07,980
If not, they are developers themselves.

237
00:11:07,980 --> 00:11:08,980
Right.

238
00:11:08,980 --> 00:11:09,980
So they're more prepared to deal with it.

239
00:11:09,980 --> 00:11:10,980
At least at this point.

240
00:11:10,980 --> 00:11:14,980
We'll see if it changes in time when we have a lot more corporate interests and we've got

241
00:11:14,980 --> 00:11:17,980
some more of these traditional structures that pop up.

242
00:11:17,980 --> 00:11:18,980
Right.

243
00:11:18,980 --> 00:11:19,980
That have pre-existing roles in hiring.

244
00:11:19,980 --> 00:11:20,980
Yeah.

245
00:11:20,980 --> 00:11:23,980
And so that's, as the wave gets larger and it starts to, you know, overtake, you know,

246
00:11:23,980 --> 00:11:29,980
the last Java developer to, you know, convert, you know, what happens to the Ops guys?

247
00:11:29,980 --> 00:11:30,980
Right.

248
00:11:30,980 --> 00:11:35,980
Do they, do they sort of drink the Kool-Aid and see a, and then in turn come back to us

249
00:11:35,980 --> 00:11:37,980
and go, you know, this isn't interesting.

250
00:11:37,980 --> 00:11:38,980
I need something else.

251
00:11:38,980 --> 00:11:39,980
Right.

252
00:11:39,980 --> 00:11:40,980
So, okay.

253
00:11:40,980 --> 00:11:42,980
You have the, the 2.0 version of Manage coming out.

254
00:11:42,980 --> 00:11:44,980
And so what, what's going to be in that version?

255
00:11:44,980 --> 00:11:47,980
I mean, what, what was the baseline of things that we already discussed sort of the baseline

256
00:11:47,980 --> 00:11:49,980
that's in there already sort of just monitoring rails things.

257
00:11:49,980 --> 00:11:50,980
Right.

258
00:11:50,980 --> 00:11:54,980
It's associated goodness, but, but what's the deal with the 2.0 version?

259
00:11:54,980 --> 00:11:56,980
Well, there's, there's a lot of things that have changed.

260
00:11:56,980 --> 00:12:00,980
It's a, it's a complete, completely different product in a lot of ways.

261
00:12:00,980 --> 00:12:05,980
Um, we've, we've taken some things out and we've, that didn't really make sense, um, in this

262
00:12:05,980 --> 00:12:07,980
space and we've added some things in.

263
00:12:07,980 --> 00:12:12,980
Um, we, we've taken out some of the, some of the corrupt your components that we, we didn't

264
00:12:12,980 --> 00:12:16,980
see a lot of use out of, like, uh, monitoring Tomcat, things of that nature.

265
00:12:16,980 --> 00:12:23,980
We've added more interesting things like Nginx, memcache, um, much better rails instrumentation,

266
00:12:23,980 --> 00:12:29,980
um, yeah, with a, the capability to extend that much faster, um, to new subsystems.

267
00:12:29,980 --> 00:12:30,980
That makes sense.

268
00:12:30,980 --> 00:12:33,980
We've also, I think probably the biggest change would probably be the trigger system that we

269
00:12:33,980 --> 00:12:34,980
have now.

270
00:12:34,980 --> 00:12:38,980
Um, previously we just had these kind of basic thresholds of people to be able to set on

271
00:12:38,980 --> 00:12:42,980
metrics and now they can kind of mix and match and create their own triggers.

272
00:12:42,980 --> 00:12:48,980
Um, so they can, they can, uh, they can make the events make a lot more sense to what, what

273
00:12:48,980 --> 00:12:49,980
their needs are.

274
00:12:49,980 --> 00:12:52,980
Can you say a little bit more about the difference between a threshold and a trigger is?

275
00:12:52,980 --> 00:12:53,980
Yeah.

276
00:12:53,980 --> 00:13:00,980
A threshold is just saying if, let's say the fine time, um, for a model goes over a specific

277
00:13:00,980 --> 00:13:01,980
time period.

278
00:13:01,980 --> 00:13:02,980
Right.

279
00:13:02,980 --> 00:13:05,980
Um, then go ahead and notify me.

280
00:13:05,980 --> 00:13:11,980
But a trigger allows you to say if that happens and it's in this, and it's in this controller

281
00:13:11,980 --> 00:13:15,980
and the following other circumstances exist, then send me an email.

282
00:13:15,980 --> 00:13:20,980
A lot of the time, um, before you, you do, you run the risk of, uh, of getting an event

283
00:13:20,980 --> 00:13:21,980
where it doesn't really make sense.

284
00:13:21,980 --> 00:13:22,980
Right.

285
00:13:22,980 --> 00:13:25,980
So now you have a lot more control, um, over, over doing that.

286
00:13:25,980 --> 00:13:28,980
And we come with a lot of pre-canned triggers as well.

287
00:13:28,980 --> 00:13:31,980
So people can just turn them on and they get a lot of benefit right out of the box.

288
00:13:31,980 --> 00:13:34,980
So you can essentially make synthetic events as it were, right?

289
00:13:34,980 --> 00:13:35,980
Right.

290
00:13:35,980 --> 00:13:39,980
There's another aspect of the product that, that, um, is not necessarily visible to you

291
00:13:39,980 --> 00:13:42,980
from the user's perspective, but it's certainly visible from you operationally.

292
00:13:42,980 --> 00:13:44,980
And that is, is the, the client.

293
00:13:44,980 --> 00:13:50,980
Um, the original client was, um, based on some technology that made its footprint very

294
00:13:50,980 --> 00:13:55,980
large and not matching what a lot of our customers want.

295
00:13:55,980 --> 00:14:01,980
The new client is much smaller, much more compact, um, and is, uh, already successfully deployed

296
00:14:01,980 --> 00:14:05,980
in a number of different, you know, virtual slices, um, up and down size scale.

297
00:14:05,980 --> 00:14:06,980
Right.

298
00:14:06,980 --> 00:14:11,980
Um, so it's basically, uh, a full Ruby implementation of a client.

299
00:14:11,980 --> 00:14:17,980
Uh, it's got dynamic updatability and, uh, it's a much smaller, much better footprint.

300
00:14:17,980 --> 00:14:18,980
So that was a huge.

301
00:14:18,980 --> 00:14:19,980
Yeah.

302
00:14:19,980 --> 00:14:20,980
Ninety percent smaller.

303
00:14:20,980 --> 00:14:23,980
I think that old technology you're talking about was a JVM.

304
00:14:23,980 --> 00:14:24,980
Um.

305
00:14:24,980 --> 00:14:25,980
The technology will remain nameless.

306
00:14:25,980 --> 00:14:27,980
Yeah, it will remain nameless, but it's called the JVM.

307
00:14:27,980 --> 00:14:28,980
Yes.

308
00:14:28,980 --> 00:14:29,980
We're using Ruby nowadays.

309
00:14:29,980 --> 00:14:30,980
Right.

310
00:14:30,980 --> 00:14:34,980
It's kind of, it's kind of funny to see so many developers transition from Java to Ruby

311
00:14:34,980 --> 00:14:37,980
and for our own client to transition from Java to Ruby as well.

312
00:14:37,980 --> 00:14:38,980
Yeah.

313
00:14:38,980 --> 00:14:42,980
So, and, uh, we actually worked with, um, with the guys over at InfoEther to, to make that

314
00:14:42,980 --> 00:14:43,980
happen.

315
00:14:43,980 --> 00:14:44,980
Yeah, that was.

316
00:14:44,980 --> 00:14:45,980
So Chad Powell and Rich Kilmer.

317
00:14:45,980 --> 00:14:47,980
There's some other great guys there to make that happen, so.

318
00:14:47,980 --> 00:14:48,980
Yeah.

319
00:14:48,980 --> 00:14:49,980
We've got a lot of usability improvements.

320
00:14:49,980 --> 00:14:55,980
Um, I think some of the sort of key features of those are, uh, um, we've sort of collapsed

321
00:14:55,980 --> 00:14:56,980
and integrated graphs.

322
00:14:56,980 --> 00:14:57,980
Right.

323
00:14:57,980 --> 00:14:58,980
We have interactive graphs now.

324
00:14:58,980 --> 00:15:00,980
Before we just had stock image graphs.

325
00:15:00,980 --> 00:15:03,980
Now we have flash graphs with interactive cursors and things like that.

326
00:15:03,980 --> 00:15:04,980
Oh, exciting.

327
00:15:04,980 --> 00:15:06,980
So a lot, a lot easier to, to cross reference.

328
00:15:06,980 --> 00:15:09,980
There's some, and there's some, you know, there's some elegant stuff that's in that,

329
00:15:09,980 --> 00:15:12,980
that while it doesn't rise to the level of being, you know, a whole feature.

330
00:15:12,980 --> 00:15:15,980
Um, in those graphs you can see events that have occurred.

331
00:15:15,980 --> 00:15:16,980
You can see triggers that are set.

332
00:15:16,980 --> 00:15:17,980
Right.

333
00:15:17,980 --> 00:15:20,980
And you could click through those graphs and go to the trigger behind that.

334
00:15:20,980 --> 00:15:21,980
You can go to the event behind that.

335
00:15:21,980 --> 00:15:25,980
And so it's, uh, it really gives you a lot more information from a single place and the

336
00:15:25,980 --> 00:15:27,980
ability to branch out to where you need to go.

337
00:15:27,980 --> 00:15:32,980
One of the feedback, uh, feedback that I got from folks when, uh, with the old product was

338
00:15:32,980 --> 00:15:37,980
that I had to do a lot of clicking to get to where I needed to be, where I should be able

339
00:15:37,980 --> 00:15:38,980
to just do, you know, a couple clicks.

340
00:15:38,980 --> 00:15:40,980
And obviously, you know, we took that to heart.

341
00:15:40,980 --> 00:15:41,980
Yeah.

342
00:15:41,980 --> 00:15:44,980
There's a lot of user experience feedback that kind of rolled into this release.

343
00:15:44,980 --> 00:15:45,980
Right, right.

344
00:15:45,980 --> 00:15:46,980
Yeah.

345
00:15:46,980 --> 00:15:50,980
That's, that's always, uh, I think every single management product I ever see has, uh,

346
00:15:50,980 --> 00:15:52,980
limitless usability improvements to be had on it.

347
00:15:52,980 --> 00:15:53,980
Yes.

348
00:15:53,980 --> 00:15:55,980
So that's always a nice area to improve on.

349
00:15:55,980 --> 00:15:56,980
Yeah.

350
00:15:56,980 --> 00:15:58,980
And it's a challenging, um, combination.

351
00:15:58,980 --> 00:16:01,980
Uh, we've got, we've had a chance to work with some really good, uh, usability folks.

352
00:16:01,980 --> 00:16:02,980
Right.

353
00:16:02,980 --> 00:16:03,980
And we've got some really great feedback.

354
00:16:03,980 --> 00:16:07,980
And one of the things to see is how many times, in the best cases, how you have to

355
00:16:07,980 --> 00:16:08,980
change context.

356
00:16:08,980 --> 00:16:11,980
You're on the website, you download the app, you log on your server, you come back and

357
00:16:11,980 --> 00:16:12,980
back and forth.

358
00:16:12,980 --> 00:16:13,980
Right.

359
00:16:13,980 --> 00:16:16,980
So how to do that in a way that, um, you don't lose track of where you're at, you don't

360
00:16:16,980 --> 00:16:19,980
get interrupted by the phone and then come back and yeah, I'll get to that later.

361
00:16:19,980 --> 00:16:26,420
So, um, we've really tried to make the flow and the app aware of the flow, uh, with respect

362
00:16:26,420 --> 00:16:30,980
to sort of your, your initial onboarding, launching, getting started as well as adding

363
00:16:30,980 --> 00:16:31,980
new systems.

364
00:16:31,980 --> 00:16:33,980
So we've tried to simplify that as much as possible.
