views:

49

answers:

2

Hi,

We are utilizing citrix netscalar with more than 20 glassfish java application servers. Unfortunately we have to remove previous application before deploying a new version of it since we have same context for these two different application. This error-prone process leads some problems due to lack of attention in builds or other problems. In an urgent case, we simply want to redirect to all traffic to previous application.

What is the best practice to run different version of an application in a substantial number of servers in same time?

Edit: Another concise and prevailing example which came to my mind is Google Application Engine. In GAE you can deploy different versions as much you want. However traffic can be redirected to smoothly different application at runtime.

Thanks

A: 

Different URLs or port numbers would be one way. You'd have both available at the same time.

As far as deployment goes, there ought to be a way to script this so a single version is pushed out to all the servers simultaneously.

duffymo
Do different port numbers mean different application servers? We definitely do not want such a situation. Our requirement is same server, and two different version of this application should be changed at runtime. For example, In google application engine users can deploy many application as much as they want. However at runtime traffic can be redirected to selected application.
Cem
No, you can configure your app server to use different ports other than the default for a given domain. That might be one way to handle versioning.
duffymo
+1  A: 

The best solution these days is to use Virtual Machines. You create an image with the app and just run it in a VM. The VMs act just like independent machines.

Romain Hippeau
Romain, this is far beyond our requirements in terms of easiness. Thanks
Cem