Rebooting is for Windows

In the world of datacenters and servers, minimizing the downtime of the servers is crucial. Downtime can be very costly.
Written by Chris Clay Clay, Contributor

In the world of datacenters and servers, minimizing the downtime of the servers is crucial. Downtime can be very costly. First, ramping up servers ahead of time to minimize the downtime is the first step. This can involve setting up redundant servers or server clusters, which can incur extra hardware costs along the way. Second, when downtime happens, this can keep users from accessing the servers and can cause a snowball effect as services are not available and business cannot be carried on. This can be just as costly if not more costly than the hardware itself.

So let's look at two of the most common operating systems used today used in datacenters and on server systems. On one hand, Windows and the other Linux.

Windows by nature has more downtime per system, because Microsoft releases patches that require frequent rebooting. Windows patches are scheduled to be released on the second Tuesday of each month, so at a minimum once per month Windows systems will need to reboot. Sometimes, patches are released even more frequently, depending on the severity. Windows just can't activate a majority of software updates without rebooting the entire system.

And now let's take a look at Linux. By nature, Linux is designed to run indefinitely unless the running kernel itself needs to be upgraded. However there have been breakthroughs within the past year (Ksplice is one) where even the kernel itself can be upgraded without a reboot. This is just plain smart. First, the way that the Linux kernel is designed allows it to efficiently run and changes can be made to it while it is running. As long as the kernel is running, other changes to the operating system can be made as well. Sure, sometimes services need to be stopped/started (if they are upgraded), however this does not have nearly the impact as rebooting the entire system. Some services can also be updated without restarting the services themselves (as in a configuration change; the "service {service name} reload" command usually does the trick).

Rebooting causes downtime if the servers are not redundant, which is just plain bad practice unless the business does not operate 24x7. But, rebooting often causes other problems to pop up. Sometimes the system will not boot back up properly (which does not happen like it used to in older versions of Windows), which requires the systems admin to monitor the server each time it reboots. This requires extra time to monitor the systems. Even worse, rebooting normally happens during the night so it requires systems admins to be awake during the time that the reboots occur to ensure everything is successful.

What this means is that a small business can have a server providing something like file sharing services for example, and have one single Linux server or two Windows servers to provide the same amount of planned uptime. Having two redundant servers significantly increases the hardware cost, which is more than double in most cases. Not only do two servers need to be purchased but they must be configured with shared storage and configured to load balance themselves or provide failover. The advantage of having two Windows servers however is to guard against major hardware failure (i.e. motherboard), which would cause the single Linux server to become unavailable. But for example in this case, I'm only focusing on planned downtime.

I would have to assume that Microsoft may someday address the issue of their Windows operating system not allowing updates while it continues to run. Maybe. I've never been able to pinpoint exactly why Microsoft does not focus on making the kernel in Windows more efficient. Linux has been able to do this since it was first created in the early 1990's, and Unix was doing the same even before that. In the meantime, businesses should do their research to ensure whatever operating system they choose will work with their budget and business requirements, and uptime requirements.

Editorial standards