Let me introduce you to Derek…
Derek’s Early Years
Derek has joined an exciting startup company. On the first day, he gets an assignment to create a web application that is going to serve the company’s handful of developers.
Derek creates the application and hosts it on his computer. The developers start using it. It’s a great success.
Time passes. The startup is growing and hiring more employees. Derek realizes that he needs to have his application in a more secure place and on a faster computer. He asks for a server, but the company doesn’t have the budget for an expensive machine. So, Derek requests a more powerful desktop which can handle the new payload. The new machine is placed underneath his desk beside his computer. He transfers the application to this new desktop.
Derek’s new host machine keeps serving the growing company for a few years. Instead of a handful of developers, hundreds of developers all over the company are connecting to his web service.
Derek’s Troubles Begin
First, the hard disk fails.
Derek realizes that the host machine wasn’t properly backed up. Luckily he had a backup copy of the application on his computer. He starts the restoration process but it takes him days to get the system back to full capacity. Developers can’t do any work.
A few days later, the host machine loses connectivity.
It seems the network card has failed. The replacement again brings down productivity for the whole company. The company isn’t local anymore. It has developers in remote locations who depend on this application. So, management is outraged.
As soon as the network card is fixed, Derek finds out that the system has been infected by a virus during one of the installation processes. He has to reformat the whole system and start from scratch.
Once all of the problems are solved, management wants to find out what can be done to make the application more reliable. Derek asks for a server.
Will a server-grade machine solve all of Derek’s problems? Probably not. But it will help a lot.
Let’s find out the differences between a desktop and a server machine, so you can determine when a server-grade machine can help.
Desktop vs. Server Machine
Desktop and server machines are built from the same components. However, server-grade machines have higher quality components with specific features geared towards serving large-scale services.
Processor Speed Priorities
Most desktop computer CPUs are optimized for graphics and video performance. It is achieved through using fewer but faster cores. The speed of the processor is more of a priority on a desktop computer.
On a server computer, a CPU with more cores can serve a higher payload with greater efficiency. So, server machines tend to have higher core count.
Also, server CPUs have better error corrections to ensure higher reliability. For a desktop user browsing websites or playing games, a simple error might be negligible. But for a server writing database entries, the same error can result in inaccurate medical information or financial transactions. Error correction algorithms prevent such critical mishaps.
Redundant Power Supplies
Servers are designed for mission critical applications. So, they generally come with multiple hot-swappable power inlets. In case one fails, the backup inlet keeps supplying power. Because they are hot-swappable, you can take out the failed inlet and put in a functioning one without interrupting your application. You don’t have to put the dreaded “under maintenance” sign on your website even when you have a critical power-supply failure.
Multiple Network Adapters
Server machines are useless without network connectivity. So these machines are designed with multiple network adapter slots. Often these adapters are hot-swappable like the power inlets.
Besides fail-safety, these network adapters can also distribute traffic. When lots of users connect to your service at the same time, distributing the traffic on multiple network connections can prevent slowdown.
Hard Disk Redundancy
Desktop hard disk failure is catastrophic. Your only remedy is to install a new hard disk and reinstall your applications.
Server machine hard disks are generally of higher quality. Besides the higher quality, it also is designed to provide redundancy. You can implement RAID (redundant array of independent disks) easily on server machines.
Server machines are compatible with ECC (error-correcting code) memory. Your desktop might fail due to some electromagnetic interference nearby, but a server machine has a higher tolerance due to ECC. It checks for parity in the binary code. If it finds an error, it can use algorithms to fix it.
However, the reliability comes at a price. Error checks take up processor time. Server machines prioritize reliability over speed to ensure that critical services are not compromised.
Operating System (OS) Security
Server operating systems remove unnecessary features. Every OS functionality adds another opportunity for an error or a security vulnerability. So server operating systems intentionally stick to the basics.
A lot of user-friendly desktop features are generally missing on a server OS. You need to be more knowledgeable in order to navigate and install software components.
Also, server OSs are optimized to work with more memory and accept more network connections.
Thoroughly Tested Hardware and Software
Server processors, hard disk, and memory go through rigorous testing to ensure it can handle long-term payloads and continuous use. The operating system and applications also are investigated more thoroughly for security threats.
Back to Derek’s Story
We can take a look back at Derek’s difficulties from our newly gained perspective.
A server would have helped with Derek’s problems. A RAID hard disk system would have guarded against a catastrophic hardware failure. Similarly, the failed network card would have prevented a standstill situation. The virus attack might have still happened, but a more robust server OS would have decreased the probability.
But it is also important to understand that servers are expensive and require a higher level of skill to maintain. When Derek started his job at his startup, using a desktop might have been the right decision. His requirements changed with the company’s growing user base.
The decision to use a desktop or buy a server-grade machine depends on your budget, expertise, and need. Servers are better for reliability and security. But your business has to be ready for the additional money and time commitment.
Are you facing difficulties like Derek? Share your story in the comments below.