ZeroTurnaround was born in Estonia in 2006. It was founded by Jevgeni Kabanov and aimed to solve Java's core problem - the redeployment bottleneck. Since then, they've launched two products, JRebel and LiveRebel, and started two community efforts: RebelLabs and vJUG. RebelLabs produces free technical reports, while vJUG holds weekly meetups online and broadcasts presentations to everyone.
ZeroTurnaround seems to be doing quite well these days. For an insider's perspective, I interviewed Jevgeni about their products, community efforts and the future of the company.
InfoQ: What is JRebel? How does it work?
It's a dynamic app reloading tool for the JVM. With JRebel any change you do in you application - whether code, resources or configuration - are immediately applied to the running application. For our users it means the same Save, Alt Tab, Refresh workflow you get with PHP or Ruby in enterprise Java applications.
It runs a proprietary class reloading engine by ZeroTurnaround based on code versioning facility we created. It also creates a virtualised mapping of the application to your project workspace and includes over 80 plugins that support code, resource and configuration reloading with particular containers, frameworks and technologies. Those are held together with some fairy dust.
InfoQ: I've heard you added extensive support to JRebel, for multiple frameworks and newer application server versions. Which new frameworks / servers do you support? Which were the most difficult to integrate with?
All major (and many minor) servers. Frameworks are too many to name: http://zeroturnaround.com/software/jrebel/features/frameworks. The most difficult integrations are probably with Spring, Seam/CDI and EJB1/2/3. We need to make sure that when a new component is added it's wired correctly on the fly.
InfoQ: What's coming in the future for JRebel?
Our pipeline includes many improvements for our Remoting facility, that allows developers to edit code remotely the same way you do it locally. We are also working on supporting Java 8 in full. Finally, our new engine, that includes support for changing static hierarchies (extends & implements relations), is undergoing private beta testing.
InfoQ: The license for JRebel has increased quite a bit over the last few years. It seems pretty high compared to a license like IntelliJ. What is the reasoning behind this?
Two reasons. Our ROI at the current price is crazy good - the product will pay for itself in two weeks. We also have high maintenance costs as we need to keep up with all the different framework and server versions.
InfoQ: RebelLabs has put out some interesting articles in the last year, especially on Java productivity and Java web frameworks. What do you plan on doing in 2014 to keep up the good content?
There are a lot of things coming. We have a dedicated team and big plans. I prefer to leave the actual titles as a surprise for our readers. :)
InfoQ: What are your biggest challenges, as a company, in 2014?
Get every Java developer in the world to use JRebel. :) Then get their managers and ops teams to release with LiveRebel.
InfoQ: How is adoption of LiveRebel in production systems? What big name companies are using it in production?
We're not really after big names - our customers include JobRapido, Seedonk, AdvanceEd, Schlumberger. Our model is similar as with JRebel - we are going after many small accounts, not a few big ones. I'm sure big names will join the list when they are good and ready, but we won't chase them down. We're happy with adoption - more and more people realise that if they can get a fully automated, failsafe, zero downtime release process with no customisation it's worth paying for. At ZeroTurnaround we use LiveRebel to do 2 weekly releases to our several always-on services and had 99.99% uptime in the last year (http://zeroturnaround.com/blog/release-apps-twice-a-week-with-99point99-percent-uptime). If you embrace the process, release becomes a complete non-event.
Thanks to Jevgeni for giving us this insider's perspective. If you have any additional questions for ZeroTurnaround, please post them in the comments.