Improving a Hosting Environment: 2. Choosing a Linux Distro
Hearing Linux experts talk about their favorite distro's reminds me of the scene in "Life of Brian" when it becomes clear that to the resistance, the only thing worse than the Romans is the Judean Peoples Front (or is that the People's Front of Judea?!). If only they spent as much time evangelizing Linux compared to Windows I'm sure Microsoft would have something to worry about!
There are clearly many subtle and arcane benefits of various families and distributions of Linux, but our needs for a web server are fairly simple. We decided to focus on a server optimized distro (I'm sure Ubuntu does a great job of running a web server, but most data center experts have more experience in RHEL or Debian for running web apps). Security wasn't an overriding concern, so we didn't feel the slower release cycle of an option like SecureBSD was worth the extra security it tries to provide (for a firewall on the other hand, SecureBSD might be a great choice).
On the other hand, we weren't looking for a cutting edge distro - we want to be running the servers - not playing with them and we're likely to always be a bit behind the bleeding edge in the applications and versions we choose to run. We ruled out commercial distributions as w felt we could get the support we needed from our "server guy" and we wanted a distro that was ubiquitous so that it wouldn't be hard to find people capable of working on or advising on the servers over time.
We also wanted to have a decent package manager for simplifying updates to keep our lives easier, and did NOT want one of the minimalist "build your own" distro's. In theory they are great as you can customize each server, running only the code you need and you have a great deal of control over what you run. We saw them as a maintenance nightmare as it would take substantially more time to create a configuration and then the extra effort of training up each new person on our custom setup or trying to solve problems with a configuration that is basically unique to us just didn't seem worth the extra control and tighter security footprint. If we had a full time Linux server admin we might have made a different decision, but I doubt it.
So, our requirements were:
- Server rather than desktop optimized
- Security not the only concern
- Goldilocks updates - not too many, not too few
- Non-commercial (no licensing/support fees)
- Ubiquitous
- Decent package manager
- Not "build your own"
In the end we chose CentOS. It is an unbadged version of Red Hat Enterprise Linux meaning that anyone familiar with RHEL will be able to use CentOS, making it an extremely popular distro (if you add up RHEL plus CentOS penetration) while still meeting all of our other requirements. I'm sure that there would have been plenty of other equally good or possibly better choices, but this didn't seem to be a bad selection and we wanted to move on to focus on decisions that would have a greater impact on our business success.
Any thoughts?



As an old network guy who had managed server farms and a CF developer who uses CF on Linux since version 4.5 (Yes!), I would suggest to go with Debian.
http://wiki.debian.org/WhyDebian
The only concern would be not having official CF support and Verity issues. But if you have some expertise on Linux it must also not be a big issue.
I do prefer Debian's apt vs dealing with RPMs.
CentOS5 is sooooo simple, as is Ubuntu server. I found CentOS 5 the easiest.
Google "centos coldfusion"
http://www.google.com.au/search?q=centos+coldfusio...
Google "ubuntu coldfusion"
http://www.google.com.au/search?q=ubuntu +coldfusion
lots there to guide you...
I suggest you download the free vmware server and build the os, copy the file, change the uuid in the config file and start playing with the install to get all your stuff setup. Of course if you're not willing to get your hands dirty, there's always programs that install all that for you.
Don't go with CentOS. Red Hat does great work maintaining both RHEL and the free Fedora distribution. Red Hat contributes code to the Linux kernel and to other open source projects. They hire developers -- this costs money. People who run CentOS save a little money, but they shortchange the Linux community. If you want Linux to stay competitive with Windows and Mac OS X, you've got to send some money in the Linux direction.
We've decided to stick with 'officially' supported platforms. We've also decided to move away from Windows 2003/Solaris OS's to RHEL. In addition, with the announcement of JRun EOD, we've decided to move from JRun to JBoss. I would have preferred Glassfish, but that's not 'supported'.
Our decision to move to Linux was based on CPU architecture. While Sparc offers more cores, Intel/AMD offer much faster processor speeds. We found that with dynamic web applications (CF, Servlet/JSP, PHP, Ruby, etc...), response time is more important than total throughput. Once we decided on Intel/AMD, we then wanted a 'nix based system and Solaris x86 is not officially supported. At my company, RHEL is the only 'supported' linux distro.
Note: We're buying our RHEL boxes from Sun Microsystems with AMD64 processors. This way, we can continue our datacenter support contract with Sun, yet get the benefits of the AMD CPU.
http://www.talkingtree.com/blog/index.cfm/2007/8/2...