I recently have been getting a common question from my customers, “What is the best OS for us to deploy Jazz on?”. This always causes me to go into a five minute speech on the topic, and by now I have it so well rehearsed that I think it is time to capture it in this blog. It’s a question that makes our team nervous (since we don’t want people thinking that one OS platform is the “preferred” platform for Jazz), and it makes some of our larger customers nervous (since they don’t care which OS Jazz works best on, they just want to have the most stable and efficient deployment). So here is my answer to the question, “What OS is best for Jazz?”.
The Simple Answer
I begin with a disclaimer, I work for IBM, and I am a recent convert to Linux, having switched my laptop, home office, and home network to Linux (Ubuntu) about a year ago. I then try to help people understand that Jazz is simply a Java web application, and as such it should work on just about any OS that supports Java (assuming that you are using one of the JRE’s that we support). To illustrate this, I will tell them, and even demonstrate, that although Ubuntu is NOT a supported platform, I can run the Jazz server and clients natively on my Ubuntu laptop with no issues. It just works. I have not had to make any strange modifications to the system, and I have followed the standard documentation to install and use the software. I have installed with just plain zip files, and using the Installation Manager. I have a nice way of installing multiple different versions of Jazz on my laptop, from the 18.104.22.168 release up through the 3.0 RC1 release, and they all work fine.
Quit Avoiding the Question – Which is Best?
So which OS is best? That depends on what YOU see in YOUR environment. Some organizations have better luck with Windows servers, other have better luck with Solaris, or AIX, or some flavor of Linux. Quite honestly, a lot of it depends on the experience and skill of your staff in supporting these different Server/OS combinations. Since I am neck deep with Ubuntu and Linux, I tend to lean towards Linux implementations. If you would have asked me 18 months ago, I would have responded that Windows installations seem to be easiest to install and maintain (since I was running all Windows back then). With this in mind, there are some things that need to be considered.
- Make sure that you are on a supported OS (Linux, AIX, Solaris, Windows) – Being on a supported OS means that you can more easily get help in the forums, and support from IBM if needed. Choose the one that your staff has the most familiarity with. Our largest installations inside of IBM use AIX (something that we are most familiar with).
- Make sure that you have a supported Java Runtime Environment (JRE)
- Make sure that you carefully follow the installation instructions. On Linux platforms you will need to make sure you follow all special Linux install instructions.
- On Linux you may need to increase the maximum number of open files that the Tomcat (or WebSphere) user can have open. You may need to do something similar on other platforms as well.
- On Windows, I have seen issues with a maximum number of processes/threads being reached. That was with older versions of Windows, I am not sure if the later versions of the Windows OS have similar issues.
So in reality, I am avoiding the question, because the question doesn’t have a nice answer that holds true for all customers. It all really boils down to the corporate standards that your organization has, and the capabilities of your staff. I just tell my customers to deploy on the OS platform that they feel provides them with the best value, and the best performance, in their environment.