1

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

Amro
  • 123,847
  • 25
  • 243
  • 454
Cem
  • 11
  • 2
  • Looking at why you want this, it really sounds that you need a better QA process. You also need to make sure that when you deploy a new version you can backout and put the old one back in. – Romain Hippeau May 01 '10 at 16:31
  • Is this a corporate web site ? If so you could simply deploy the new version and point your DNS to the new one or the old one. – Romain Hippeau May 01 '10 at 16:32

2 Answers2

1

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
  • 24,113
  • 5
  • 60
  • 79
0

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
  • 305,152
  • 44
  • 369
  • 561
  • 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 May 01 '10 at 16:48
  • 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 May 01 '10 at 17:17