Who uses Fedora as a server?
August 25, 2011 2 Comments
Is Fedora really not a good choice for a server? I think it all depends on the situation. But first, let’s try to figure out what are the requirements for a distribution to be called server-worthy.
Some things that servers require are: stability, security updates, mature software, long-term deployment, support, no incompatible changes, point-in-time release, etc. But what do these attributes really mean? Stability means that the server performs well, without unexpected and unknown issues causing downtime. Timely security updates must be provided in forms of package updates, etc. Mature software is one which has been pounded upon by many, many users in different environments and has performed well. Long-term deployment means that if you plan to deploy your server for many years, it should be able to handle the length of time without needing constant attention. Support includes software and knowledge support: can you find people to help you if something does go wrong? No incompatible changes refers to package updates, where no major functionality changes are made. Point-in-time release means fixing the design of your server, from hardware to OS to applications; if a package is at major version 1.2.3 then it should remain at 1.2.3 (it could be 184.108.40.206 or 220.127.116.11 but always 1.2.3) and not become 1.2.5 or something newer when an update is applied.
If you look at the list above, Fedora has very few of these traits. So who would use Fedora as a server? Off the top of my head, I can think of a few situations where Fedora can serve admirably as a server. Any server that is not deemed critical to operations can use Fedora. On the other hand, the same server could use CentOS. So why Fedora?
A server that requires newer versions of an application would benefit greatly from using Fedora. If you follow the principle of one service per server, then you can make this decision atomically. You only upgrade that one server when you need a newer version, and leave all other servers as they are. Some examples I can think of where a server might need newer application versions are: wiki, blog, system monitoring (such as Nagios), network monitoring (say, something running Wireshark), FTP (in very, very rare cases), help desk (may require additional user training on new features, which could be expensive).
But what about the bleeding-edge nature of Fedora? Things break too often because there’s just too much churning technology in it. I believe if you are afraid of new technology then you are in the wrong business. Technology keeps changing all the time and you better keep up with it. It might not provide immediate gains but long-term it keeps you on your toes and may provide an opportunity to do something extraordinary that you could not with older technology.
It’s also only supported for 12 months so you are upgrading at least once a year. This adds up to higher cost because administrators are spending more time installing than doing something more important. I would take this as an advantage because the more things break for less important servers, the better skills your admins will gain fixing those breakages. So it would be more of an investment in the people managing your servers. For individuals, this also means an opportunity to learn and keep growing.
As an individual whose personal servers are important but not critical, I am willing to use Fedora instead of CentOS. But whether I use Fedora or any other non-server-worthy distribution depends entirely on what I am trying to do and if that workflow or application fits well in the distribution.
Some places where I would not use a Fedora server would be: your core money-making application(s) and your core infrastructure. For all others you can use Fedora if you are willing to keep up. The biggest reason for using a Fedora server is to learn what new technologies are on the horizon so you can start to plan how to move your money-making and core servers to this new technology. Keep up or keep out.