At ZeroTurnaround, we like to build products that challenge the status quo. We have a strong history in supporting Java development teams, but today we’re announcing a step towards supporting Java operations and production teams as well. It goes like this:
A very common issue in software development is the risk that when you apply a change to a live application, somehow that change may break it – and create a major headache. As deployment in a Java cluster environment is often an expensive process, this commonly leads to lengthy testing and rigid processes that decrease this risk.
We envision managing this risk differently, and we’re now taking our ideas public: today we’re announcing the LiveRebel Public Beta.
LiveRebel is a web console, command line utility and REST API that can version multiple servers and deployed applications at the same time. Instead of the usual deployment process, LiveRebel versions classes and resources individually, allowing instant updates across the cluster while preserving all state, including user sessions. If you don’t like the change you made for any reason, you can roll back instantly.
Under the hood, LiveRebel uses RebelTech, first developed for JRebel (which has been tried, tested, and proven solid by over 10,000 customers), to version the application classes and resources directly. RebelTech allows code and resources to be updated in place, instead of starting a fresh version of the application side-by-side. Due to RebelTech’s integration with JVMs, application servers and frameworks, all application state and user sessions are preserved, without the slightest pause.
Since RebelTech has some limitations to updating classes and cannot create new state (e.g. new fields on existing objects will be
null) we intend LiveRebel to be used for smaller updates and fixes. To ensure that every update is compatible, we bundle a sophisticated comparison tool that will ensure that you can roll out and roll back an update safely.