Jacob Burkhart: “we are going to see rubyists using more and more riak and zeroMQ”
Hi Jacob, What is your talk about?
“Well, my talk is about APIs. I want to tell a story about how I made some mistakes when I was building the Engine Yard Add-ons API and then give some tips for APIs. It's ruby specific but I think a lot of the lessons apply generally too. We built a whole new App to manage the API. So there's actually 2 APIs, the API between partners and the new app. and the API between the new app and the existing one. So the lesson is about growing your business, and adding new features without having a single bloated monolithic app”.
What are Engine Yard’s top Add-ons?
“Our top Add-ons are NewRelic, SendGrid, MongoLab, MongoHQ, Librato Metrics. I just went to the site now and I see some Add-ons that I hadn't heard of before. This is really cool, because it means they were able to integrate with the platform based on the APIs and documentation I built, without needing extra help”.
Can anybody build an Add-on?
“Yes. Anybody can build an add-on, there’s no public signup page or anything, but once you have a partner account it's very easy. You can build your add-on and use it yourself without a review, but nobody can see the Add-ons you make but yourself and then when you think you are ready to move forward... we will move you add-on to "alpha". Then it's visible and usable by everybody who is Engine Yard staff and then we send you feedback, and get your logo and pricing model and other documentation so it will be ready for users. And then when it looks like it's working well enough we'll move the add-on to beta. And that basically means it's open to the public, it just has a "beta" flag so people know it's new”.
Engine Yard takes a different approach then Heroku
“It's a different business model .Heroku is really dependent on the Add-ons program because they are building a system where the experience is really controlled. You can't run mongo database on Heroku dynos, so it has to be provided by Add-ons. Engine Yard gives you root access, so you can do any crazy thing you want. Some customers run their own mongo DB clusters on Engine Yard and other use the Add-ons program. It’s a choice: flexibility vs. convenience”.
What Projects/Technologies are you keeping an eye on?
“First one that comes to mind is grape. A few of the other guys at EY are using for APIs and liking it but I haven’t done so myself. I'm really interested to see what happens with the rails background workers. So there's resque and sidekiq and qu. which are different but similar. I think we do need some standardization on background worker libraries, it was promised in a railsconf keynote I believe. But I don't know the current status. And I think riak and zeroMQ are also really powerful technologies... that we are going to see rubyists using more and more, but they are not ruby-specific”.
What are you waiting for in Rails 4?
“It’s good that they are making threaded web servers more useful by default and rails threadsafe! is being remove, this is important. I think rubyists need to be more aware of thread safety issues write thredsafe code and be aware of how to take advantage of multi threading web servers. tenderlove gave a nice talk about this at aloha ruby conference. it was very basic, but it showed the concepts. Also, once you are writing threadsafe code it's easier to justify the move to Rubinius and really see a performance improvement. Rubinius is another project to watch, it's not really new - but I think rails 4 is going to be really good for it.
- Gary Levitt: “I’d love to see Israeli engineers getting more user centric, more customer oriented and more design focused”
- Jan Krutisch: “we're still in the process of finding out what the sweet spot of single page apps might be”
- Danish Khan: “we should have a unified way how to contribute back to a project”
- Jacob Burkhart: “we are going to see rubyists using more and more riak and zeroMQ”
- Shai Rosenfeld: “We're seeing a fair amount of adoption of node.js on Engine Yard"
- Konstantin Haase: “I think we should explore different languages the way we explore different libraries”