Yesterday, we had part one of our interview with James Lindenbaum, CEO of Heroku, which provides hosting for Ruby on Rail applications. We had a great conversation with James, but there was a bit much for one post, so we divided the interview into 2. Here’s the second part of our interview….
Another Interview with James Lindenbaum, CEO of Heroku – Part 2
Another Interview with James Lindenbaum, CEO of Heroku – Part 1
Heroku (who we’ve covered here, here and here) provides provision-less hosting for Ruby applications, letting developers focus on developing. The hosting service allows developers to just push their code and it’s up in running – no worrying about running scripts, or setting up servers. Heroku recently came out of beta and now offers commercial, paid service. A few weeks ago, I had the chance to speak with Heroku’s CEO, James Lindenbaum, about their recent developments:
CodeMash 2009 – Thursday Morning Sessions
Whould you want your surgeon to have a dull knife? ~ Nathaniel Schutta defending dynamic languages like Ruby as ‘sharper tools’
Travel issues prevented me from seeing the very early sessions of CodeMash, which was a shame because I was very interested in Eric Meyer’s talk on how JavaScript Will Save Us All! (I added the exclamation marks because I think that’s what he really intended). Still, I made it early enough to sit through a couple very good presentations before lunch, both of which followed a bit of a theme. One was a love fest for Dynamic Languages as a persecuted, second class citizen given expertly by Nathaniel Schutta. His message is simple, programmers need to be Polyglots and if you can’t handle learning different languages than you should get out of the business. Harsh, but dead on accurate. One of the languages you should have in your tool belt, Nathaniel tells us, is a Dynamic Language and that you can do a whole lot worse than Ruby. I am already sold on this idea, or was years ago when I was nearly alone in lecture rooms during similar presentations. Since then the crowd has gotten bigger but the message is still the same. Most of this revolves around dismantling the arguments for the need of static typing to prevent errors from bad programmers. Truth is, bad programmers don’t get better when they have a wet nurse hand out brainless advice through compiler warnings or errors. Take off the training wheels already and let’s get some code written already.
You go though more hoops to do it, but you can do it ~ Venkat Subramanian Mads Torgersen talking about Dynamic languages on C#
Venkat Mads works for Microsoft on the C# language. Now I am not genetically predispositioned towards this kind of talk, but since it was while I ate my ham on marbled rye, I felt no great persuasion to not hearing the good gentleman out. Glad I did, though, because there were some interesting things going on in the CLR camp. CLR itself was a happening idea, a VM that was designed from the beginning to be a shared platform (Common Language Runtime) so the pieces where already there to do something interesting. However, it seems that early decisions were made to optimise speed for the C# type base on the CLR, leaving non-microsoft languages somewhat at a disadvantage and me somewhat bewildered by the earlier statements. Dynamic languages, for example, run though a DLR library to get to the CLR. This Dynamic Language Runtime handles the bindings to Ruby and Python, so IronRuby and IronPython handle the mappings between DLR and CLR maybe? I was somewhat confused. If you type something in your code as ‘Dynamic’ it is a Dynamic type in the compiler but then reverts to its true type in runtime to allow for the dynamic langages to duck type the thing. For a complacated problem, the fact that this solution made perfect sense to someone as slow as me is a good sign that they might be on to something.
Ruby one-liners get answered
The guys over at Rails Envy, a Ruby on Rails enthusiast podcast, have a running joke. Their catch phrase? – ‘Rails can’t scale.’ Yeah, I wasn’t too sure I got the joke either. Then I heard it myself in CIO level discussions from smart business people parroting things they didn’t understand and read somewhere once in an article in a magazine bylined by a guy in a suit who looked corporate and trustworthy. Rational reasoning and discourse can sometimes be co opted by bumper-sticker wisdom even at the highest levels.
Here is the thing about corporations; enterprises are in the business of managing calculated risk within the market or industry they operate. They do this by forcing non-core operations to be conservative, risk-adverse and predictable. It’s a bit like hedging your business’s bet in the junk bond market (core business) by backing it with rock solid, non sexy T-Bills (non-core like software development). Sure, the return on the T-Bills is lousy but you know in three years you won’t be out that investment. Java, backed by Sun Microsystems, and .Net, backed by Microsoft, are some of the blue chip securities of the programming world. Enterprises trust them. One-liners like ‘Rails can’t scale’ are the one-handed brushoff of entrenched corporate IT’ers to the mere idea of using something new like Ruby or Rails.
Still, Ruby is a persistent pitch man, especially in the web technologies.
Corporate IT: Ruby uses green threads and Rails is single threaded, why are we even talking?
Ruby: Ruby’s MRI is green threaded, but the JRuby interpreter uses native threads in the JVM, just like Java. Also, Rails 2.2 just released 2.2 RC1 that is thread safe. Merb was thread safe from the start and just released 1.0 RC2.
Corporate IT: There aren’t enough ruby programmers to staff a project.
Ruby: The Rails Rumble contest didn’t have any problems finding entrants. Five hundred programmers just gave up a weekend to write 248,000 lines of code. Teams up to four completed 131 different Rails projects in under 48 hours, so you can see just how productive a small group can be in Ruby.
Corporate IT: Sorry but we need dependable database connectivity, not this serial locking business.
Ruby: So pooled connections in jruby and Rails 2.2 scratch that itch?
Corporate IT: There still isn’t a big company backing it so no support. No support, no chance bub!
Ruby: Have you ever actually called Microsoft about a .Net problem? Or maybe Sun to support your Java app? Maybe you have, or at the very least arranged a support contract with a .Net or Java consulting company. Try instead one of the fine Ruby consulting companies like EdgeCase, HashRocket or ThoughtWorks. Sun already bankrolls the JRuby guys and for the Softies out there, Microsoft is putting its wallet behind Ruby on the CLR.
Corporate IT: Books?
Ruby: New one every day.
Corporate IT: You’ll get me to use some text editor in place of my IDE when Heck freezes over.
Ruby: Not a problem. NetBeans guy, Eclipse, or IntelliJ?
Corporate IT: Yeah, okay, you win. Now can I have that stack of waterfall project specs back, they were holding up the table at that end.
Ruby: Have you ever considered Agile?
If you liked this article, consider subscribing to this blog via email or RSS. Also, consider subscribing to have our free weekly newsletter sent to your email inbox.
Photo attributed to Megyarsh @ Flickr CC
Ruby Hoedown – What isn't a Cloud
Robert Dempsey has an excellent talk up on Confreaks where he looks at the Ruby language accessing Cloud computing. As Robert knows, Standard Operating Procedure for a high level talk is to define the terms for the audience. For this group the term ‘Ruby’ was a given, so he wisely focused on the Cloud. Lemme recap what he lists as NOT being a Cloud if…
- You cannot buy it with your personal credit card
- They are trying to sell you hardware
- There is no API
- You need to rearchitect your system for it
- it takes more than 10 minutes to provision
- you need to specify the number of machines you want up front
- you own all the hardware
This, in my opinion, is an excellent primer for evaluating that ‘Try our new Cloud Computing Service’ pitch your VAR is feeding you. I can only add one point of my own, as in my mind it is not Cloud Computing if…
- The the business model hinges on lock-in
Value Added Networks (VANs) can have a cloud-like smell to them when they branch beyond simple traffic passing and on into backend processing, but I have difficulty reconciling the lock-in potential. If you cannot shift your system to a new Cloud provider easily, then I believe you are dealing with an entirely different animal. Buyer Be Ware.
ERubyCon – Charles Nutter talks JRuby
I was at erubycon this weekend and it amazed me just how low the opinion of Java has fallen in the Ruby community. Microsoft, by comparison, got off lightly with only a few Vista jabs. They were kind (and wise) enough to weather these bumps in their own office space with good humor and grace. Meanwhile Java was taking it in the gut all three days.
Somehow without word or warning, battle lines are forming in the sand. Some Rubists new to the history of languages are painting Java as ‘your fathers language’ as if less than 10 years could separated generations across an insurmountable divide. If only we had someone who could bridge this chasm and unite us. Someone who could defuse the fear, uncertainty and doubt about how Ruby can co-exist in our Java-vested Enterprise oligopoly. It would also help if they were just the right kind of crazy to have fun while doing it.
Charles Oliver Nutter, JRuby engineer and recent Sun hire, clearly has his work ahead of him. He is the personification of the Man in the Middle, representing the Ruby community by working in the heart of the Java empire. JRuby bridges the gap between Ruby and Java by finding common ground. The JRuby compiler is a JVM interpreter for Ruby language allowing Ruby to be compiled into Java Bytecode and run on any JVM. While I may have glossed over some of the sticker parts of the technical description, I was intentionally careful in not mentioning Java. As Charles said in his erubycon talk, Java is just the bathwater; the Baby is the JVM.
HotSpot, Sun’s JVM is a marvel of engineering accomplishment. Sun’s Just In Time compiler, fast memory allocation, and native fully parallel thread support are each billion dollar investments in Intellectual Property sitting on your server or desktop free for anyone to use. The brilliance in JRuby is in recognizing the awesome possibilities of working with the JVM instead of demonizing it. You can remain a pure Rubycolyte and work within the Enterprise because, as Charles said in his talk, he writes the Java code so that you don’t have to.
My personal impression of JRuby was very possitive. We all know enterprises have Java running on their servers. They understand Java Application Servers and trust them with a absolution that borders on faith. When I learned from Charlie that Rails applications could be compiled into war files and distributed to my JBOSS Web Application cluster, I nearly sprained my jaw in agaped amazement. This was the decoupling option I have been desparately looking for in Rails; Code separated from Implementation, Language separated from Infrastructure.
Technorati Tags: ruby, java, jruby, web development, jvm, internet consulting
Interview with Lance Walley, CEO of Engine Yard
I have mentioned before that hosting Rails applications is one of those great opportunities to avail yourself of assistance. The guys behind Engine Yard saw their chance to help the community and build out a solid foundation for a business. I had a chance to talk with Lance Walley, CEO of the San Francisco based hosting company about Ruby, Rails and their business model.
Sazbean: What problem is Engine Yard solving?
Lance: We make deployment and scaling of Ruby on Rails applications easy and largely hands-off. Our customers pay for great infrastructure and excellent people running it, all focused on Rails apps. In the end, they see us as inexpensive payroll on top of great hosting infrastructure. Some of the basic technologies (Ruby and Rails) can be improved or augmented our support of Rubinius and Merb are helping both move forward and grow to answer customer needs. We are hosting + expertise + software development to make Ruby and Rails better for all!
Sazbean: So how can EY help the average B2B company?
Lance: B2B companies will certainly want to develop web apps to support internal needs and external needs (customers). Ruby on Rails is great for fast development of those apps. Engine Yard is great for no-thinking, just-get-it-done-without-me deployment and management of those apps once they’re developed.
Sazbean: Obie Fernandez wrote in a January 2008 article that there was a waiting list for new customers. Is this still true?
Lacnce: We massively built up our support organization, which includes sys admins, Rails experts, and database admins. That solved the waiting list issue. We now have a queue of about 5 days, mostly because customers take time getting info to our guys that our guys need to deploy customers’ apps.
Sazbean: Does EY consider itself a silicon valley startup?
Lance: We’re a Sacramento / San Francisco startup. We modeled this business to be profitable and not need VC [Venture Capital ~ed]. We later took VC to pursue areas that represent a huge opportunity, and which we could not pursue quickly without VC and we’re about 2 years old and didn’t take VC until we were 1.5 years old so I’m not sure if that all adds up to traditional valley startup.
Sazbean: Unlike startups with a software product, hosting solutions like EY have a large barrier to entry. You need hardware, you need specialized skills and you need capital. So, why hosting?
Lance: It was a natural outgrowth of a previous business. We have an older company that does consulting; we saw that clients didn’t want to do this stuff, but they wanted really good solutions run by top-notch people. We created Engine Yard. while it did take some capital up front, we knew from the experience of others that it’s a quick cash generator vs. some other businesses. We literally saw it as a pretty quick path to cash generation and profitability. We’re now doing a lot of stuff that goes beyond that original idea, but we always saw hosting as a good business in which to start in a new market like Rails.
Sazbean: Many B2B companies are untrusting of startups and of new ventures. It means something that you are profitable and stable and up front about it.
Lance: Yeah, we experienced some of that back when we started in 2006. People had to get to trust us and our financial footing also helps when they know that we founders are all small business guys in the past… never huge companies, but real, profitable, decade or more companies each Now, of course, with pretty big VCs involved, that’s also a good thing, but I suppose VC makes some people suspicious, too. We have still kept our basic business philosophies of running a tight ship, not burning cash without need, etc.
Sazbean: You mentioned your people a few times tonight. Do you consider your people the distinguishing part of the equation?
Lance: There are 3 distinguishing parts.
- The infrastructure we designed is extremely solid, very redundant, etc. We’ve been at it for 2 years and the architects are incredible people. Customers are buying that.
- The staff that supports our customers directly is top-notch. There are between 35-40 people in Support now, spread from CA to NY to UK to Australia. Customers are paying for the ability to get help and wisdom from this staff 24/7. As well as stuff like database tuning, etc. The people component is very important to customers.
- We have some of the best people working on those open-source projects that promise to improve Ruby and Rails for everyone. Our customers are indirectly buying into those people, too. There is a general feeling by customers that they get all this expertise for a relatively low price in terms of human costs.
Sazbean: Any well known Rails websites using EY that you can disclose?
Lance: Sure If you check out http://rails100.pbwiki.com/ we are literally involved thru Engine Yard or Quality Humans, Inc with 33-50% of those sites. Hulu (#3) for instance is NBC + Fox we helped them build that site back in 2006 or 2007. Seeking Alpha is a cool financial info site, they provide data to Yahoo Finance. Kongregate was a VERY early EY customer. I think they just took an investment from Jeff Bezos, who does not invest lightly.
Sazbean: Impressive.
Lance: It’s not yahoo or google, but they’re coming.
Technorati Tags: engine yard, rails, rails hosting, internet consulting

Whould you want your surgeon to have a dull knife? ~ Nathaniel Schutta defending dynamic languages like Ruby as ‘sharper tools’


Connect with Sazbean