A server is similar to a regular desktop computer in the way it can share similar components, such as a CPU, RAM, hard drives, etc. However, the function(s) of a server is completely different from a desktop computer. Servers are usually tasked with managing features and enabling functionality for an entire network. You can, technically, take any regular desktop computer and turn it into a server by installing server software and running it on a network.
However, it is recommended when creating a server for a business or enterprise environment to buy server-specific hardware. Server-specific hardware effectively does the same job as it’s regular desktop counterpart but has been optimized for a server environment. For example, a regular desktop CPU may have a few cores with high clock speeds, whereas a server-specific CPU may have many cores but with a slower clock speed. This is due to the type of work each system will generally be doing. A CPU with few cores but a high clock speed can be good for playing video games but a CPU with many cores but a slower speed can be great for running many simultaneous tasks (multi-threading) which is ideal when managing the requests of hundreds if not thousands of computers on a network. It can also be good for virtualisation. A server-specific hard drive may be less susceptible to vibration, which isn’t important in a regular desktop but can be important when a server hard drive will be surrounded by many over hard drives all spinning at the same time. Server-specific RAM may be less susceptible to interference which can be important if the server is holding important information, such as medical records.
There are many different functions a server can have or be installed to execute, and within enterprise networks, you may have multiple servers each handling different services. These services could include:
- A print server to manage print job requests
- A file server to manage the storage and retrieval of files
- An Active Directory Server to manage users and authentication
- A DNS server to manage domain name resolution
- A DHCP server to allocate dynamic IP addresses
- A proxy server to forward client requests to another network
The usage of the word ‘server’ in the above bullet points does not mean you have to have a separate computer per bullet point. It just refers to the server version of the software, for example, a single server could run a file server and a print server simultaneously by just installing the two server applications required. The client computer, the regular desktop connected to the network, will usually have to install the respective client software. The server will have a file server application installed and the client will have an FTP (File Transfer Protocol) client application installed to allow communication between the two computers in respect to the specific function, in this case transferring files.
Within servers it is common to use virtualisation to save space and hardware, virtualisation is the process of having one host operating system (such as Windows Server 2012, or Windows 7) with a virtual computer running inside. Your server could, therefore, have a host operating system but a separate virtual machine running each server service, on a network a virtual machine is treated as a completely separate computer so will have its own unique IP address.