Episode 7: MongoDB – Cross-Platform Document DB with Eliot Horowitz
Podcast: Play in new window | Download
Subscribe: RSS
Eliot Horowitz is the Co-founder and CTO of MongoDB. MongoDB is the fastest-growing database ecosystem, with over 30 million downloads, thousands of customers, and over 1,000 technology and service partners. In this episode, Eliot describes how Mongo uses a combination of cloud services and licensing to drive growth of their business.
Transcript
Michael Schwartz: Welcome to Open Source Underdogs, the podcast where we interview founders of amazing open source software companies, and ask questions to help us lay people understand what makes the business tick.
Today I’m in Manhattan, with great views south of Times Square, chatting with Eliot Horowitz, Founder and CTO of MongoDB Inc.
MongoDB is a leading NoSQL database platform and has been downloaded over 40 million times, making it easily one of the most popular new persistence layers for modern web and mobile applications.
Eliot, thank you for joining us today, we’re excited to have you on the show.
Eliot Horowitz: Thanks for having me.
Origin
Michael Schwartz: Can you tell us about the origin story of MongoDB?
Eliot Horowitz: So we started building MongoDB about 11 years ago, and the origin story of Mongo really dovetales entirely well with sort of my background and software.
Every time before starting MongoDB that we got stuck on a really hard problem on some project, it almost always came back to database problems. Either the database wasn’t scalable enough, it wasn’t fast enough, the data model didn’t quite work.
And between Dwight Merriman, who is the other Co-Founder and I, in the decade before we started Mongo, we counted that we probably built about 12 custom databases to work around problems – whether there was a DoubleClick or ShopWiki, always working around databases just to get things done.
And so when we started MongoDB, our goal really was to build a database that we wanted.
And originally were thinking about trying to build, we had some other ideas for some projects and applications we wanted to build, and we very quickly realized that we were going to run into database problems.
And as we started designing the database we would want for that application, pretty quickly realized that we were way more interested in actually building the database than the application, and just started you know, alright well let’s build the database.
And so we started building the database about 11 years ago. Shipped the first version about 18 months later. Been on the journey ever since.
When To Start Company?
Michael Schwartz: That’s awesome. Was there an existing community before you started the company? Or, do you have any thoughts about when’s the right the right time, if you have a great open source project, to start to think about monetizing or making it a business?
Eliot Horowitz: So for Mongo, we started at the same time. It was the two of us and we just started writing the software.
And we did as a company, and it wasn’t actually entirely obvious to us on day one whether it should be open source or not. Frankly, because we really hadn’t thought about it very much.
You know, for the first year we were really just focused on building on building a software. And then once we were ready to start trying to see if people were interested in it, was very obvious to us at that point that no one was really going to be that interested in a proprietary database in 2009.
And so the obvious decision at that point was to make it open source, and then we started building a community around it. So, the other way, I don’t have a lot of particular experience the other way, you know, starting taking a project and then trying to commercialize it.
But the way that we did it, I really kind of enjoy, right. You have an idea, you think the idea really should be open source, so you start building a product you make it open source, and you work on building a community, and a group of people who are really excited about it.
And it was great even early on, you know before we were trying to monetize it. You know, we would hire a lot of people from the community, we’d get contributions, we look through them.
The ones who continuously delivered great contributions became some of our first engineers, some of them are still here today.
Why Are People Excited About The Mission?
Michael Schwartz: Why do you think people were excited about the mission of MongoDB?
Eliot Horowitz: So I don’t think our experience with databases was particularly unique. I don’t think there are many developers who are in love with their database.
You know, the number of developers who have said who have to fight with their databases, whether it’s because of the data model or to solve other problems. And so I think a database that really tried to directly address the three main problems really pretty interesting.
The three problems we had, really are very standard. Right, so those problems are the document model, or problems of the data model, right.
So we saw that with the document model. Whereas the document model is just a much more intuitive data model for most data.
People when they’re thinking about data, when they’re thinking about business objects that they’re writing with code, they don’t tend to want to break them down into tables and rows, they tend to want to store them as as they are in their code; as they are in the real world.
And that resonates with a lot of people because that’s how people think. People think in terms of structures. And if you look at every API in the modern world, they’re almost all in a JSON over HTTP, and why is that?
Well, the same reasons right, JSON is a pretty good format for representing data. And then you can take that JSON and store it directly in Mongo – that becomes pretty powerful.
You tie that with a query language that lets you actually index and query those JSON documents, you got something pretty compelling.
Then you take that and you add on distributed systems, so you solve a lot of the problems around high availability, and scalability that people have, and let you solve other really interesting problems like putting data in different places.
And then you take those two really great attributes, make it open source, make it accessible to run anywhere on any kind of platform, whether it’s in the cloud or in a private data center.
You know, it’s a pretty compelling product for most developers.
Customers
Michael Schwartz: Who are the customers who said – okay, this is great open source but we actually want to do business with this company, too?
Eliot Horowitz: So there’s a lot of history there as well.
So you start off early on, the people who decided to engage with us commercially, it was largely just around support.
Right, it was larger companies who were really interested in using Mongo, but was a very new technology and they basically were not going to put it into production without a support contract.
That was you know, eight, nine years ago. Things have evolved quite a bit since then.
So now we have a few different kinds of focus areas, I would say, and you can break it down roughly into two major camps.
One is sort of the Enterprises were largely still on premise, who are sort of deploying our Enterprise version which has sort of advanced security features and management features. That sort of one big cohort.
And the other big cohort is the people who are in the cloud, who are using our fully managed service that is MongoDB Atlas, who really want a fully-manned and turnkey database sort of experience in the cloud, so they can come in either with an API of the UI, and manage things really easily.
Deploy clusters, manage clusters, and have all that taken care of by us so they don’t have to worry about database infrastructure and can just build applications.
Customer Interaction
Michael Schwartz: You guys must have tons of customers, and it must be a challenge having relationships with all those customers. How do you interact with the different types of customers?
Eliot Horowitz: We have a large sales team and a large customer success team. But, I mean it’s really, our sales team has grown tremendously in the last five, six years, we’ve got a really great support team.
So that, you know, one of the things we really pride ourselves on is having a great customer support, so whenever anyone calls they can get you help really quickly.
A great customer success team to make sure that customers are happy, that they’re building the things that they need, that were making sure that we’re going in the right direction for them. That if there are any challenges that they’re having that we can address them quickly. I mean those teams are all in all scaling pretty aggressively.
Michael Schwartz: Are there any lower price points where maybe it’s hard to interact directly, where you’re looking to other types of relationships with people, more automated, online ways to sort of scale?i
Eliot Horowitz: In our Atlas product, right, the Atlas product goes anywhere from is a free tier to tiers that are $10 a month or $25 a month, but you know you’re not really having a direct personal relationships with everyone of your users because there’s way too many.
And that’s where we do a lot of automated systems – we’ve got online support forums. We use chat, we use a lot of chat software; usually back by real people, but there’s actually chat software to make that easier.
But a lot of what we’re focused on in the managed service space is how do we make the product really let people help themselves. You know, how do we do better and give you better, help you understand what you should do to help your database go faster.
So for example, index advisors. So we’ve got an index advisor, they’ll tell you – hey we’ve noticed that these queries are running slowly, maybe you should go ahead and add this index. And really trying to let users be incredibly successful without a lot of help.
Community Misunderstanding
Michael Schwartz: Is there any way you wish the community understood MongoDB better?
Eliot Horowitz: There’s a few particularly interesting challenges with Mongo.
One is that the data model is just such a different thing than what a lot of people are used to. And people really need to take the time early on, especially when they’re adopting it quickly, to make sure they really understand the right way to model data with Mongo, and not just to use the relational models they’re used to. That sort of a pretty big one.
The other big one is and I think a lot of early open source projects, or just even companies have this problem where people think you haven’t added a feature in the first 5 years after they’ve asked for it, that you’re never going to do it.
And it’s like no, it’s actually on the list, is actually really important and like maybe you know 7 years after you asked for it it’s going to come.
We had one a couple years ago or so, where someone said – hey this ticket has been open for eight years, so you’re never going to do it, right? And then a year later we did, and they’re like, wow, I really thought you were never going to do this.
It’s like, no, we’re just just taking our time.
And especially in the database space – databases are pretty big, complex pieces of software, and so some of these things just just take time.
Value Prop
Michael Schwartz: The value proposition for MongoDB – is that different from the Enterprise customers to, let’s say the smaller customers? Or how do you think about the value proposition?
Eliot Horowitz: Of the other core database? Or of the commercial offering?
Michael Schwartz: I guess of the commercial offering.
Eliot Horowitz: So the commercial offering is really, very different on the different sides.
So the Enterprise’s who are again largely, on-premises – it really comes down to a few different pieces. So one is support. The second is management.
So we provide, we have a lot of commercial management tools: For monitoring, backing up, automating clusters, for doing rolling deploys, for doing back up’s from production into staging.
All sorts of things around management, we have an integration with Kubernetes, in that space as well.
And we also have a lot of features in the security space. So things like, if you want encryption at rest, or field level auditing, or database level auditing of every single type of operation, those sorts of things are also in the Enterprise edition.
So that’s sort of a one way we differentiate on the Enterprise side. And then on the cloud side – it’s really about the managed service.
It’s really about if you want a fully managed service where you can just have a turn-key thing and say – I want a database. And okay hold on, if something goes wrong we’re going to fix it.
If there’s a hardware problem, we take care of it.
If you want to scale up, you just press two buttons in the UI and you’ve got more capacity. And if you want to move data centers, switch data centers, move cloud providers, add another cloud provider – It all becomes incredibly easy UI changes or API changes, and you don’t have to manage that infrastructure. Security’s managed, all the stuff is fully managed for you, in a really simple solution.
And then that tier, we also have extra security features as well, if you want even more security in a fully hosted environment.
Competition
Michael Schwartz: So two different segments really, Enterprise and Cloud, and two different value propositions. There’s a lot of databases out there even, JSON databases, what do you think makes Mongo unique?
Eliot Horowitz: So I think there’s a lot of databases that let you store JSON, which I think is very different than a JSON database.
And to me, really being a database that works well with documents, really comes down to having a really great query language that makes it really easy to work with documents.
And so it’s very easy to store JSON, right. You can easily just go store JSON in a BLOB field in any relational database, and you can do that for the last 20 years. But that’s not that helpful.
What you really want to be able to do is store a document in its natural form, right – so if you have a user, being able to store a user with a list of addresses, where each address is a document, and maybe you have tags on them, you can have like: Type work, or type home, or type of previous, and you have city, state, ZIP on every single one of those.
But then being able to actually index on that efficiently, and then query on that efficiently. So you can index on address.city, or address.city, address.state, right. You can actually like multiple types of multikey indexes. And then be able to sort and query on those things, and then be able to actual analytics on those things.
So you can say – okay I want to find the average age of people live in New York. Which means you have be able to look through the documents, figure out which documents are New York and then compute it, do some summations on those. And then do other sort of interesting things.
And so it really makes, one of the main things that makes Mongo different than everything else in stores, that lets you store JSON, is we’ve got a very powerful query language that lets you do all sorts of queries, with a very powerful indexes, that are very similar to indexes that people would see in a relational database.
So from a semantic standpoint they work almost the same.
But now you’ve got a very rich query language that lets you go inside of a document, aggregate things, analyze things, do real-time analytics on that data.
In addition, we let you do things like update documents in really interesting ways, So you can update as many fields as you want in a big document.
Let’s say you got an array of line items in an order.
You can actually go ahead and say update every line item, and update the price, multiplying it by you know point eight to give a discount, but only when this predicate on this line item is false. So you can say – take this order, find all the line items in that order that haven’t yet shipped, and give them a thank-you that user a 20% discount because the items are late.
Right, you can really use a query language to go in and understand and work with the documents in a way that you really can’t do with any other sort of database that lets you store JSON. And then you go ahead and take that, and put the distributed systems piece on top of it.
Which is the piece that lets you have a really high availability, both inside of a data center or across data centers. It gives you full elasticity so you can go from one shard to a thousand shards so you can store almost as much data as you want, and almost as many transactions per second as you want.
And then that also has other cool features like workload isolation, so you can actually have one Mongo cluster that serves both your transactional workloads and and your analytical workloads at the same cluster, because you can put different workloads on different machines.
And you could also use some of our more advanced features, which are these Global Clusters, so you can have different data that lives in different places.
So you can have some data that lives in the US, and some data lives in Europe, and some data that lives in Australia – all in one logical cluster.
But the physical data stays where you need it to, either to comply with laws where you have to say certain data can’t leave certain areas. Or just for latency reasons, right, so you want users in Australia to be close to their data so they can have a really great user experience.
License
Michael Schwartz: So on the Enterprise product – just maybe some brief thoughts about licensing.
Eliot Horowitz: So we made the interesting choice way-back-when of choosing the AGPL. Which is definitely not the most common open source license. And the reasons why we did that, you know there’s many of them, and now it’s definitely been a good thing for us.
One of the most obvious ways that open source companies want to, and should try and monetize, is by in a running a managed service. It’s an obviously great way for an open source company to make money.
I think most consumers of this kind of technology would prefer to consume it as a service these days.
So from a user standpoint it works great as well, but having open source is also great because they have some of that freedom if something does go wrong.
The challenge with that of course, is that you got cloud providers who can take that same open source software and make it a competing service. And so one of the great things with us is the AGPL makes that a lot trickier for these cloud providers.
So I think our choice of license definitely has helped us tremendously over last few years.
Pricing
Michael Schwartz: Quick question about, I guess pricing – what was your feelings about the experience of trying to figure out what’s the right price?
Eliot Horowitz: I definitely say it’s not easy. Early on, I think we definitely probably undercharged significantly. Because we were like, hey this is open source, we’re trying to get people to pay for an open source thing, that’s kind of weird.
And so we were definitely sort of undervaluing the software we were providing, and the value of we were providing. In the cloud was a lot easier because they’re better comparisons.
So for the managed service it has been a lot easier to price that, and we’ve had much fewer issues there trying to figure out what the right price is.
Evolution Of Product
Michael Schwartz: Is what you’re selling today in the Enterprise space roughly like what you were selling when you got started?
Eliot Horowitz: In broad strokes, yes. If you think about it, the very first Enterprise things we were selling was just support.
Then we started adding in some Enterprise security features, then we started adding in management. Then added a lot more management at a lot more Enterprise security features.
More recently we started to expand that portfolio even more – we’ve got some new products in the charting space, in the BI, in the analytics space, that are also in that suite.
So we started building out that product suite a little bit further and put more products inside of that suite. So the biggest change the really probably been in the analytics space, and we’re putting some tools for Enterprises who have business analysts into that suite as well.
Channel
Michael Schwartz: Changing tracks a little bit. What are some of your thoughts about like building channels and distribution?
Eliot Horowitz: So early on, all of our go-to-market was really focused around just developer you know, developer advocacy.
We really didn’t know what we were doing for marketing or sales standpoint; we were just you know, a few people. So really, what we were doing is we were going to meetups and talking about why developers should use MongoDB, and going to hackathons, and talking to our friends.
And pretty quickly what happened was the people who were really excited about Mongo started talking themselves at conferences, and things of that nature. It was really just a grassroots developer adoption strategy.
I use the word strategy strongly, that’s all we knew. As we started getting bigger, we started hiring a sales team, doing direct sales, and going through those kinds of motions, and a marketing team that’s doing all sorts of other things. We also started doing our own events.
Because there is so much interest in learning about how to use MongoDB and what other people were doing. We started doing MongoDB events relatively early in our in our company’s history, have always been very successful for us.
Partnerships
Michael Schwartz: Are there any strategic alliances you’ve found that have been really helpful for you to build a company?
Eliot Horowitz: I would say there’s not one particular one. Obviously we have a lot of partnerships you know.
These days we do a lot of partnering with all the different cloud providers: Amazon, Google, and Microsoft, We partners with other technology companies who embed MongoDB in their products, or there’s a lot of synergy between what we do.
We partner with a lot of the consulting companies who are trying to get some of their clients to use more MongoDB to be more effective in what they do. So it’s a little bit of everything.
Definitely hasn’t been one partnership that you know, been way more worth than others.
Resources
Michael Schwartz: Do you ever feel like your company’s been constrained by resources?
Eliot Horowitz: I think it would be hard for anyone to say resources are never an issue. But I think we’ve been pretty lucky in our ability to sort of have a fair amount of capital even early on, to grow pretty quickly.
I’d say you know, where we could have grown faster, it largely is around understanding where we fit into the ecosystem and strategy, moving faster.
But frankly we’ve been able to move pretty fast and we’ve had a pretty good flow of resources even from the beginning.
Advice
Michael Schwartz: What do you think are some of the biggest challenges facing the founders of new open source startups today?
Eliot Horowitz: I think the biggest challenge is understanding the right monetization strategy.
Alright – getting people excited to develop it, to use it, I think that’s actually, you know, people like open source, people get open source. You’ve got a great adoption life cycle, I think that makes a lot of sense.
The challenge really is trying to understand what things you want to make free versus what things you want to make paid.
And then around the service side – which I think the cloud service is by far one of the best strategies – is how to do that in a way, and do that in a way that is sort of both easy for your users to use and also has enough sort of, protection so you’re not fighting with the cloud providers on day one.
Hosting
Michael Schwartz: It seems like having a hosted cloud offering, it’s a great way to monetize, but it’s also challenging because it requires a certain amount of capital and established operating procedures and policies.
If that weren’t an option, what other recommendations would you have about how to how to monetize?
Eliot Horowitz: Well I would definitely try pretty hard to go to the cloud services route.
I think on the capital side – because you can actually leverage cloud providers as well – so you can actually keep your initial capital needs pretty low.
But you do need to like, you know, learn how to operate the software as opposed to just running and writing the software.
Although I would also argue that your experience in running the software yourself, on behalf of your users, is going to make the software way better. You’re going to find all the little pitfalls, when you’re on the hook for issues, there’s going to be less issues, and managing it’s going to be easier anyway.
So I think that’s actually, I’d push people pretty hard to go that route.
If you’re not going that route, definitely the most successful ones are, I don’t know if I love the phrase but the open core model, where you’ve got some core that is open source, and then you have some features that are commercial around it.
But I think the hosted service route seems to be the direction most people want to go in.
Stability
Michael Schwartz: Do you think that the software needs to achieve a certain level of stability before you can really build a business around it?
Eliot Horowitz: It certainly has got to achieve a certain, enough stability that people are willing to use it in production.
If people aren’t willing to use in production, I think it’d be pretty hard to build the business around it, right. It’s got to be compelling enough that people want to use it and then good enough that people are willing to put it in important applications in production.
Upgrade
Michael Schwartz: Not just stability, but ease of upgrade?
Eliot Horowitz: We’ve spent an enormous amount of time making sure that it’s relatively easy to upgrade versions of Mongo.
We’ve been around long enough now that there are people who run relatively older versions, but we work very hard to make sure our users stay in the latest version, to make upgrades as seamless as possible – and we spend an enormous amount of time on it. But it pays itself back as it lets us move faster as well.
But we do spend a huge amount of time on that. We’ve got a huge amount of our testing infrastructure dedicated to understanding how the software can get upgrade from one version to the next, and then downgraded if there’s a problem. We try to automate all of that.
It’s such a huge problem if your users aren’t upgrading, or if it’s too hard to upgrade.
Underdog?
Michael Schwartz: We name this podcast Open Source Underdogs. Mongo’s been so successful, but – do you still consider yourself an underdog?
Eliot Horowitz: Sort of analogous to the question of “do you still consider yourself a startup or not”; and I think the answer is in some ways yes, in some ways no.
Obviously we are a public company now, we’ve got a lot of money, we’re over a thousand people. So the company’s pretty big.
On the other hand the people were competing with in the space, you know whether it’s Oracle, or Amazon, or Google, or Microsoft, are definitely considerably bigger than we are.
So are we a underdog?
Yes and no. Like we’re still small compared to them, but was also a pretty well-established company, and have a lot of good things going for us.
10 Years?
Michael Schwartz: Where do you see Mongo in 10 years?
Eliot Horowitz: The database space, the good thing about it is that it’s a pretty long-term space.
So if you look at our roadmap the number of things we want to add over the next 10 years – whether it’s in the core database, or the areas that we’re working around in the database, are enormous.
And the nice thing about what we’re trying to do here, and even if you look at some of the new products like MongoDB Stitch, everything we’re doing is really about making it easier for developers to work with data. Almost an infinite amount of things you can do there.
And the core database, you’ve got a ton of stuff, and then we’re doing things like Stitch, which is all about bringing a lot of those database features to where developers are today.
So for example – making it easier to use databases directly from mobile applications are web applications. Or making it easy to embed charts in a mobile applications, so you’ve got data sitting in a database and you expose a dashboard inside of an application, where someone can only see a subset of the data.
How do you make that easier?
So in ten years? You know, what I hope we’re doing is continuing to make it even easier for developers to make use of data.
At that point I’d love for most developers to be using MongoDB to store a lot of their data, and to be getting a ton of value out of it. Both on a transactional like, hey I’m using this every second for my application, and on the back end to say okay, how do I get insights from this data and do interesting things.
You know, I still think there are people out there who know they have to use a database, but they don’t want to because they’re scared of them and they’re kind of annoying.
And you know, our goal will be every developer just wants to use MongoDB because it makes their lives easier. And lets them focus on building great applications, and makes the data management, takes that out of the way.
Personal Advice
Michael Schwartz: Do you have any advice, on a personal level, for entrepreneurs for starting a company with open source?
Eliot Horowitz: I think the most important thing, whether it’s open source or not open source, frankly – is for you to get incredibly close to your users.
For many years after we started, I spent an enormous amount of time just working with users, whether they’re paying customers are not. On forums, on IRC.
I used to do these things where I’d just hang in the coffee shop and have people who would come and say, hey I’m going to be here for the next two hours, if you’re having trouble, you know, let me help.
And it was great both to help our early users be successful, but it was almost more valuable for me because I really understood what users were trying to do. I understood what their pain points were. Not just the obvious pain points, but the subtle pain points that made it go from a – ok this is an interesting product to now, okay, I actually really like this product.
And so, especially a technical person starting a technical project, there is nothing more valuable than really getting incredibly close to your users.
And I would push most of those people starting those projects to, don’t think about it as the first five or ten users, but you know how can you host the first 50 users, or 500 users, or first 5000 users.
And push yourself there more than other places. Because it’ll pay itself off very quickly.
Michael Schwartz: I know I got a lot of information out of this interview. So Eliot, thank you so much for sharing your your experience and your thoughts on open source. And best of luck with with MongoDB.
Eliot Horowitz: Thanks, you too.
Transcription and episode audio can be found on opensourceunderdogs.com.
Special thanks to the Linux Journal for co-sponsoring this podcast, to The All Things Open Conference for helping us publicize the launch.
Music from Broke for Free, by Chris Zabriskie and Lee Rosevere.
Production assistance from Natalie Lowe. Operational support from William Lowe.
Thanks for the staff of MongoDB – especially to the audio technicians who recorded this episode.
Next week we are joined by Tom Hatch, Founder and CEO of saltstack, one of the leading orchestration automation platforms.
Until then, thanks for listening.