Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.
See all our reports

Developers coding multi-node applications benefit from LiveRebel

Releasing your software becomes easy and bulletproof with LiveRebel, but our tool is not just useful for operations. As developers, when you have to create and test applications that use multiple nodes, LiveRebel can speed up your development dramatically as it takes away all the tediousness of deploying an archive across your cluster.

It’s easy to create the artifact that you want to deploy, but after that you’re typically on your own and have to figure out how to transfer the application to the machines where you want to test. That’s just when the frustrating process starts.

Soon you’ll be developing scripts and tools to migrate the database schema, ensure that the configuration files are correct, redeploy the application on each server, update the database schemas, trigger some custom deployment logic, run the functional tests across the cluster, and collect the results. While these custom tools might eventually do the job, they don’t often follow the process that will be used by operations to actually release the application to the end users, so much of your efforts will be lost.

LiveRebel gives you most of these functionalities for free and as a bonus, any of the custom deployment logic and test infrastructure can be reused by operations, so everyone wins.

I’ve outlined a few major areas that I think help Developers understand better what happens once their job is done, and called them “Developer Wins”. So, let’s take a quick look at a few examples of how these features could be beneficial to you as a developer.

Effortlessly deploy your new version across an entire cluster

LiveRebel lets you deliver a new version of your application in many different ways: from manually uploading the archive through the web GUI, to it being automatically provided by your CI server. This example will use the LiveRebel auto-import directory:

The ‘Add Application’ page has a button at the bottom that says ‘Auto-Import Directory’ and clicking it reveals the directory path that LiveRebel is monitoring for new application archives.

With this path you’re able to fine-tune your build tool to generate the archive in that auto-import location. When using Maven this can be combined with our plugin to generate a liverebel.xml that adopts a snapshot-oriented version for development. Through a dedicated Maven profile this build process can then be neatly contained to development, while reusing most of the production build logic.

For example:


You now merely have to activate this profile during the build of your application:

mvn clean package -P liveRebelDeploy

The generated archive will contain a unique version number and will be located in the auto-import directory. LiveRebel will be automatically detect and retrieve this archive, and it will appear effortlessly in the list of application versions that are ready to be deployed:

Afterwards you merely have to press the ‘Update’ button to automatically deploy this application version to all the nodes in your test cluster:

Notice that this also migrates your database schemas together with the application version upgrade.

Developer win: By setting up and practices your deployment processes in advance, you not only save time, but it’s also exactly the process that will be used by operations, so the entire process is properly exercised and verified by you as a developer beforehand.

Better testing with generic application configuration

Many configuration parameters in your application are dependent on the location where it’s running: database connections, mail servers, service integration identifiers, … Additionally, quite a few of them actually contain sensitive information like logins and passwords that absolutely shouldn’t be checked into a source repository.

This makes testing your application hard, requiring additional code and configuration just to swap in the appropriate parameters for the servers that the application is running on.

LiveRebel allows you to include text files in your application archive that contain placeholder properties for these configuration parameters:

When the application is deployed, LiveRebel will lookup the values of those properties based on the target servers. These values are managed through a Git repository as standard properties files.

Finally, these parsed text files are located in a isolated directory hierarchy and will be moved into place during deployment, optionally overwriting existing configurations files that are already there. This makes it possible to have configuration files that are for example used during local development or for deployment without LiveRebel, while still having all the required information in place when the application runs on nodes that are managed by LiveRebel:

This makes it possible to have local, single-node development settings that are checked into the source repository and automatically overwrite them with the information that’s needed at deployment.

Developer win: Detach your application archives from server-specific configuration, while keeping the benefits of default files that are used for convenience during development.

Run custom deployment scripts

When an application grows larger and more complex, simply deploying or expanding an archive is often not sufficient anymore. Permissions might have to be set, temporary files cleaned up, services restarted, acceptance tests ran, … LiveRebel lets you package these deployment scripts together with your application archive and executes them during the deployment phase that’s appropriate (more details about deployment events in the LiveRebel manual).

In this example, we wanted to validate the deployment before it goes live to the users by running Selenium tests. It’s simply a matter of wrapping the test runner into a shell script and putting it in the archive for the ‘appUp’ phase. Additionally, if the test should fail, LiveRebel will also automatically roll back to the previously working version before users are able to access any of the updated functionalities:


Developer win: Package scripts into your application archive so that custom operations are run automatically, and are exactly the same as those that run in production, ensuring bullet-proof deployments.

Make your developer life easier with LiveRebel for free

I hope this article has shown you that even tools made for Operations teams are also huge applicability to Developers as well. After all, LiveRebel was built by developers and IT organizations can no longer afford to have a cultural brick wall between development and operations.

If we had to break it down into 4 quick points about why Developers should check out LiveRebel, it would go like this:

  • Developer Win #1: Fully integrate the delivery of your application archives into your build process.

  • Developer Win #2: Let your deployment processes become practiced routines, tested and verified on the developer side before going to operations

  • Developer Win #3: Separate server-specific config from your application archives, but choose which default files to keep for making things easier in development

  • Developer Win #4: Custom operations, the same that are run in production, can be packaged into the app archive and run automatically, strengthening your deployments

LiveRebel is free to use for up to two managed servers, meaning that you can develop multi-node application scenarios easily by leaving all those tedious tasks in the hands of LiveRebel.

Just head to the download page and try it out yourself in a matter of minutes.


  • Oleg Šelajev

    I know that I’m biased, but what is great for me in having LiveRebel at hand is that whenever I feel like our internal infrastructure can benefit from a small improvement, like a dashboard or a bunch of useful scripts binded to some hooks, I don’t need to go and figure out how our infra team wants to deploy it.
    They have a well defined way to do it and I have means to package and test my pet-project deployment. Then I just give them a pack and voila :)