Thursday, 10 March 2016

Podcast Interview with Alberto Perdomo, GrapheneDB

Another week, another great podcast episode. This time, I spent a very nice 15 minutes talking to an "age-old" community member for Neo4j: Alberto Perdomo, from GrapheneDB. Alberto has been developing a very well-respected cloud hosting offering around Neo4j from one of the nicest spots, Gran Canaria, in Spain. He has lots of experience with Neo4j, and a really great insight into how the cloud market is going to be developing for the graph space - so definitely worth a good listen. Here goes:
Here's the transcript of our conversation:
RVB: 00:02 Hello everyone, my name is Rik, Rik Van Bruggen from Neo Technology and here I am again interviewing a lovely community member all the way from Gran Canaria Spain, Alberto Perdomo from GrapheneDB. Alberto, so nice to have you on the call. 
AP: 00:18 Hi Rik, thanks for having me. 
RVB: 00:21 It's super great to have you here. You've been one of the prime and most visible community members for Neo4j for as long as I can remember because you've been doing GrapheneDB, but most people won't know you yet. So why don't you introduce yourself? 
AP: 00:37 Yes, my name is Alberto Perdomo and I'm the cofounder and CEO of GrapheneDB. And GrapheneDB itself it's a fully managed cloud hosting service for Neo4j. So it's basically a service that runs Neo4j for you on AWS, on Microsoft Azure and so on. 
RVB: 00:59 Wow. Now how long have you been doing this? 
AP: 01:02 We started in 2012. But early on it was just proof of concept, prototypes and so on. And in 2013, we started with an early private [bedder?] and started inviting users to try out the service. And then eventually, it took us quite some time but at the end of 2013 we started having our first paid customers. In 2014 we went GA, so that means the service went publicly available. 
RVB: 01:42 That's quite a ride. I've been using it myself in the sandbox. I love it for demos and little things that I write about, so thank you for providing that. 
AP: 01:53 It's great. There's all sorts of use and every time I meet someone I'm surprised by the use cases. Some people use it just for prototyping, throw away databases. Like you for example, you use it to prepare you some sample data sets and other people use it for all sorts of things that are hobby, projects, and all kinds of production employments, everything. 
RVB: 02:23 So just out of interest, how many instances are you running on a normal day? Any idea? 
AP: 02:30 Running on a normal day, I don't know. We have this thing where we actually stop databases, some sandbox databases which are free and which are not in use, they are stopped after a while when they're idle. So I wouldn't know, I wouldn't know. Thousands probably. In general terms, we are hosting more than 10000 databases, but to be honest that doesn't count for a lot of inactive databases. 
RVB: 03:05 Sure. Well that's still a big number. I'm very impressed. Very very well done. That's great. So where did it come from Alberto? How did you get into graphs, and how did you get into GrapheneDB? Tell us that story maybe. 
AP: 03:21 I've been telling everyone the wrong story. The wrong story, let me explain why. I've been telling everyone that in 2010 we were working on a clients project and we thought of using Neo4j. And we didn't end up using Neo4j, but for us it was when we discovered that there wasn't any hosting service out there for Neo4j or any other graph database. So we wanted to use it but we were relying heavily on Heroku and other cloud hosting services, and there was no option there. And for other relational and SQL databases there were options out there for Redis and for MongoDB and so on. So this is where the idea came from. But I just-- and this is true, this is still true, this is how the idea came together, but I remember I think a few weeks back I remembered why we were-- my question was why were we looking at Neo4j in the first place? How did we get to know Neo4j? And now I remember. So we attended Rails conference in Baltimore in the US in 2010 and there was a presentation by a guy called Matthew Deiters, and he made a presentation about putting useful recommendation in your APPs. So he actually spoke about the patterns and he introduced Neo4j for Rails using Neo4jRB by Andreas Ronge and this is how actually I met Neo4j and graph databases in the first place. 
RVB: 05:15 No way, okay. 
AP: 05:16 But it was hidden in some dark corner in my head [chuckles]. 
RVB: 05:22 [chuckles] Very cool. So how did that evolve into, I want to build a product around this, or I want to build a service around this? How long did it take you for that to materialise? 
AP: 05:36 So for two years between 2010-2012, it was a mix of we went up and down like, "Hey, there's no service for it, let's build it." Then, "Are we crazy? Why isn't there a service for this out there yet?" Of course we knew, especially back at that time, graph databases didn't have such big spike in popularity as they have right now, but still we didn't know if there were any special reasons for not being a service out there and so on. But eventually 2012 we started working on it. And early on we were just focused on the technical aspects, how we would do the hosting, how would everything work out. And then we focused on bringing out a bedder, and we didn't do even much validation around the idea. Yes we had a website where people could sign up for early access and so, but we didn't do any special experiments to test how easy it would be to monetise such a service or to run efficiently. But it turned out well and things were progressing and when we started inviting people, the feedback was positive. A lot of people found it very helpful and they would send feedback back saying, "This is a great service, we really love it. It's really useful to us," so that kept us working on it until-- 
RVB: 07:20 Very cool. 
AP: 07:21 It eventually became a business. 
RVB: 07:23 So what's the main attraction point do you think to Neo4j as a database category or as a database type, and then specifically to using it in a cloud environment. What's the main attraction do you think? 
AP: 07:37 I think it's the flexibility-- so for one, I'm seeing a lot of people use it for its flexibility in terms of modelling data and connecting data and then being able to query it altogether, because some of the other models are very restrictive in the way that you need to model your data. So if you're looking at relational databases, they could be called as well tabular databases because everything needs to be mapped into tables. 
RVB: 08:10 They're very anti-relational actually [chuckles]. 
AP: 08:12 Yes. So they're very very very strict and very rigid, and with other databases like let's say document databases are very flexible in terms of [?] of what you're going to store within a document, but again they're not very good in terms of how you connect data. So I think Neo4j and graph databases in general are a great middle ground and they excel at connecting-- actually where all others are actually failing, which is leveraging connections in your data. 
RVB: 08:49 It's actually really really funny that you mention that, because when you think about it, it's so logical that you combine that with the flexibility of the cloud model right? So you have your flexible database, flexible data model and then you have the flexible deployment model. It's kind of logical [chuckles]. 
AP: 09:04 Yes. So why cloud? I guess this depends on the kind of segment of use we're talking about. For some it's just convienient. If you want to-- like I myself when I'm trying to answer a question on stack overflow for example, I need to do some queries or insert some data, I don't set up a local Neo4j instance on my computer for that. Or I don't work on any other instances I have. I just go to GrapheneDB [?] books, it takes a second and then I have a database that I can use for testing. So for those kind of users it's just convienience and easy to use and the way that you can have multiple databases and swap them and-- 
RVB: 10:05 That makes a lot of sense. 
AP: 10:06 Go to one or the other. Now for others, it's more like the fact that some companies want to stay competitive in the way that they think that outsourcing your operations to the cloud is-- 
RVB: 10:28 Cheaper. 
AP: 10:29 Yeah. It's an area where they can save money and they can be more efficient. And anybody that asks, their scale is always going to be probably more cost efficient than any data centre you can run internally. And then there's another group, sometimes combined, which is the people that think, "We don't want to be dealing with hosting. I want to be using Neo4j, I don't want to be learning how to operate Neo4j." Let's say our best customers are those who value their time and they want to focus on delivering value to their clients, and looking how they can integrate Neo4j in their product, and they don't want to be running security updates to their servers or performing version upgrades of Neo4j and stuff like that. 
RVB: 11:23 Cool Alberto, I'm conscious of the time a little bit here, because I know my listeners and they like short and snappy podcasts, so I'm going to ask you one more question. Where's it going? What does the future hold, both for the industry and for GrapheneDB? Any perspectives? 
AP: 11:44 Let's start in the [?]. So for GrapheneDB, we are now Neo Technology enterprise partners since last year. We are doing a number of deployments with Neo4j enterprise for our customers-- 
RVB: 12:05 That's really cool, by the way. 
AP: 12:07 Which means we can cater the hobbyist who needs to have a free database to play around with, to very serious deployments on the cloud. This is where the service is heading, to make sure we can cater those customers and they have all the features that they need. This is for GrapheneDB, where it's heading right now. And in terms of the market I think, OpenCypher is really promising. I myself am a huge Cypher fan and everyone-- 
RVB: 12:44 Who isn't [chuckles]? 
AP: 12:46 Who isn't, yeah. When I've run training, everyone gets super excited about Cypher like from day one. Like after two hours they're-- 
RVB: 12:57 It's so powerful. 
AP: 12:58 Super excited about Cypher. So I think OpenCypher is great at catalysing this potential, and it excels really making it visible to the user. So if you are looking at Neo4j, you can see really quickly how you can extract value from it, rather than having to let's say spend two weeks learning how to query graphs. Besides the query language, I think the cloud is getting huge. I'm excited to see what kind of improvements can be added to Neo4j, specifically for a cloud in terms of scaling. There's a lot there. And then again the adoption. I'm increasingly talking to a number of people who just got to know Neo4j, and they are so excited, they can see their potential. We know what connected data they can exploit within their APP and within the database. And I expect a growing number of companies to do that, and to jump on the Neo4j boat. 
RVB: 14:21 Absolutely. Couldn't agree more. I think you've been a very very valuable to this entire ecosystem. I have tons of respect sir, for that. So thank you for doing all the hard work, and I think it's great to have you as part of the ecosystem. Hey Alberto, we're going to wrap up here. Thank you so much for coming on line, I hope it wasn't too late for you and I really appreciated talking to you. Thanks a lot. 
AP: 14:49 Thanks a lot Rick, and thanks to Neo Technology for putting such a great technology together, and it's a pleasure to work with you. 
RVB: 14:59 Same here. All right, talk to you soon man. Bye. 
AP: 15:02 Yes, talk to you, bye.
Subscribing to the podcast is easy: just add the rss feed or add us in iTunes! Hope you'll enjoy it!

All the best


1 comment:

  1. This comment has been removed by a blog administrator.