JRuby allows for the incremental adoption of the Ruby language by allowing easy integration with existing Java libraries. It also lets Ruby and Rails applications to run easily on existing Java application servers that have been selected as standards within an organization.
I've been somewhat dismissive of Ruby as a language but there are more and more examples of large websites running extremely well. In fact RubyConf (already sold out) and JRubyConf are both seeing significant interest from developers for the upcoming events in San Francisco.
In the Q&A below I discuss how Jruby powers shopping site Gilt.com with CTO and co-founder Michael Bryzek.
If you are not familiar, Gilt Groupe has an interesting business model, somewhere between eBay and Woot, offering invitation-only sales of high-end fashion and luxury brands for men, women, and children. The site deals with unique spikes in traffic when new items are released as well as when an item becomes extremely popular. Accordingly, the IT infrastructure needs to be able to scale and burst in order to meet customer demands.
How do you use JRuby at Gilt Groupe and why has it been the best solution?
Bryzek: We developed an internal framework dubbed "Blackbird" that really became our platform for high performance, scalable Web applications. The environment is focused on delivering the user interface for highly concurrent web applications focused directly on overall performance. JRuby allows us to leverage very good and mature libraries in java (e.g. Concurrency, HTTPClient, etc.) while allowing us to write and expose elegant APIs written in the Ruby way. We've also been able to share our ruby libraries directly across all of our CRuby and JRuby applications.
What got you interested initially and how long have you been using JRuby?
Bryzek: We wrote the first version of Gilt.com on Ruby on Rails, and really liked the overall programming environment. As our business and traffic grew rapidly, we needed to invest in alternate ways to quickly scale the technology stack. JRuby provided a great opportunity to scale our web applications through a real focus on performance and scalability while maintaining much of the environment that we loved from the ruby on rails community.
How would you like to see JRuby evolve?
Bryzek: Currently, we're really excited about and focused on a production-ready Ruby on Rails 3.0 deployment on JRuby. All the work to date is showing that the modularity and core modules in rails 3.0 will take advantage of the great performance and scalability in JRuby.
How did you decide to participate in JRubyConf?
Bryzek: We're committed to supporting the communities that have made it possible for us to develop the technology behind Gilt.com. We're looking forward to meeting other JRuby enthusiasts, learning about new projects, and brainstorming how we can help the community continue to grow.