Bad idea to jump two versions in a server OS upgrade?

Solution 1:

It certainly can work, but this is one area where it's entirely dependent upon your code. It may work, or it may not.

This is where doing a test upgrade would be a good thing to test out.

  1. Deploy the app in a new Server 2003 instance in a VM of some kind.
  2. Upgrade it directly to 2012.
  3. Figure out what needs to change to make it work.
  4. Repeat 1-3 until you have the process figured out and can do it reliably.
  5. Do it to your production code.

Solution 2:

I really wouldn't bother upgrading anything to Server 2008 now, given that there are two newer major versions of Windows server that have been released since.

Your choices are really between 2008R2 or Server 2012/R2, at this point. I would advise that there's probably very little point in seeing how it runs on one version before trying to move it to another version, since there's not necessarily going to be any correlation there.

Pick what version you want to upgrade to and give it a shot. (With a backup/test copy first, of course.) If it works, great. Then you can do performance testing without it being a waste of time. Depending on those results, you'd do performance tuning and decide whether or not your application can function acceptably on the new platform.

If it doesn't work, then you can either try to get it working (compatibility-checking, troubleshooting and debugging), or try on a different version of the OS and see if it works there.