I got the change to talk with James Lindenbaum, CEO of Heroku. Heroku is looking to eliminate all the reasons companies have for not doing software projects. This interview comes at an interesting time; companies are finding it difficult to justify spending money on software projects that have any risk associated with them (which are all projects, frankly). Heroku is here to remind those companies that when the barriers are low, so are the risks. James was kind enough to take a few minutes for this interview right before getting on a plane for RailsConf. I want to thank him again for that.
Sazbean: So is Heroku a new kind of hosting company, a SaaS provider, or something wholly different?
James: I think it’s something wholly different. We tend to think of it as a new kind of platform. Software as a Service is an interesting thing, but we’re not really providing the software, you are. So it is really more of a Platform as a Service. We follow a very different model from hosting. The end point that we are after is that you can come and say ‘Hey, I need to build something’ and then just have it run. There are a bunch of things we need to have in place to make that happen, and hosting infrastructure is just one of them.
Sazbean: How is Heroku helping businesses that use your platform?
James: The failure rate for software projects is astonishing, somewhere around 80%. People spend a lot of time wondering why that is. Our feeling is that almost all of the cause has to do with barriers. Large capital expenditures mean people have to make tough decisions about whether not to do something, and the cost of these projects is then totally decoupled from the value. You are committing to a set of costs, and those are going to be your costs whether or not your application ends up providing value. So it becomes a risk management game. We think that is a problem. Cost and value should be coupled. An on-demand pricing model is interesting for a number of reasons from an economics perspective, but we think it’s interesting solely because it fixes this problem. If an application is valuable you use it, and if you use it you are paying for it. If it’s not valuable you don’t use it, and if you don’t use it you aren’t paying for it. This removes that risk management aspect. So now you can think about what you want to build and not whether or not it’s worth building. That’s really the difference between us and a more traditional hosting company. Even with someone who is really quick, you have to call them. You have to cut a deal with them and get your servers provisioned, and that can take hours or days. We strongly feel that if you have to pick up a phone and call someone it’s a deal breaker. You have to be able to have an idea, go click a button, and be up and running. We think that is just vital.
Sazbean: Why Ruby on Rails for this Platform as a Service?
James: We’ve seen over time that Rails is extremely accessible, there are a lot of people that are able to build software with Rails that might not have been able to previously, and we think that is a really good thing. We think that it’s great that all these well rounded people are coming in. We disagree that those new to Ruby and Rails should have to go learn all the hard stuff. It is the frameworks and the platforms that need to shape up and make themselves easier and more accessible. Basically if you have an idea for an application and you have to stop and think about whether it’s worth building or not, then we have not done our job.
Sazbean: There can be a perception that user friendliness equates with limited options. Does it in this case?
James: No, and that’s a really interesting thing. One of the reasons why we think Ruby is interesting is because it has a very unique bipolar thing going on. On the one hand, it is one of the most advanced languages available. From a computer science standpoint, it has all the really fancy stuff; meta-programming, fully dynamic typing, reflection, self-introspection, so on. On the other hand, it’s really accessible. It reads like English, the syntax is really clean, and a lot of people who don’t really have programming experience seem to understand it fairly intuitively. Rails took that and advanced it into the web space, where you can do really advanced stuff with a web application but it’s also super easy to use, super easy to approach, and for 90% of the cases, you don’t have to do that much work. We love that idea and we want to extend that even further, up into the tools and down into the underlying infrastructure. It is a difficult line to walk. You have to think about your choices so that you are making everything easy and accessible, but you are not limiting the power and the expressiveness. That’s one of the main things we are keeping in mind when we’re making decisions about what to do and how to do it.
Sazbean: So who is using Heroku today? Is it the Ruby enthusiast, the professional programmer or is it both?
James: It’s a mixture. So far that mixture is in even thirds. A third are people who really haven’t done a lot of development before. They’re coming in enthusiastic about Rails. They just want to build a site, that is their end goal. The next third are fairly serious Rails developers. They know Ruby and are capable of doing all the sticky bits themselves, but they just don’t want to. The last third are really serious Rails developers. They are trying to do really difficult things and they care very much about the details of how our stack is implemented. These guys are willing to take a hands off approach if they trust you are doing it well, and they can get all that time back to spend on the more differentiated stuff like the actual application code.
Sazbean: Heroku is currently free to use. Are there any plans to change this once you leave beta?
James: We are always going to offer free accounts pretty equivalent to what we offer now, with enough resources to do something interesting. We will always offer that, but we will, at some point soon, be opening up a full on-demand pricing model.
Sazbean: And the closed beta, how is that going?
James: It’s going really well. It has been interesting. There is a huge amount of traction there and a really large amount of activity now. We’re up to about 12,000 developers and 14,000 applications. That’s been great because these guys are really hammering on the system and they’re really helping us to smooth it out and make sure it’s an easy process. It’s nice that we have this mix of users too, because we have the hard-core guys saying ‘Hey, what about this advanced feature?’ and then we have the beginners saying ‘Hey, I can’t seem to get this very simple part to work’. They are helping us maintain that balance. We are looking to come out of beta as soon as possible, but we are providing infrastructure and we’re pretty conservative about reliability, so we won’t lift that label until we feel really comfortable about stability.
UPDATE: I posted my technical notes on Heroku that didn’t make it into this profile interview.