A server is basically a dedicated computer that provides services on behalf of clients, such as ordinary desktop computers or workstations. So it’s a centralized machine where multiple clients connect to, either over the Internet or in a local area network, and they connect to a server for a specific service.
So for example, that service could be to retrieve a website, to access data, or email, and so on. Now a server could be dedicated to handle one of these services only, where you would have one server it dedicated for a website, one server for data storage, and a server for email. And this model is what larger organizations use. Or you can also set up a server to handle each of these services on the same machine which is what typically happens in smaller organizations.So depending upon which setup is used it all depends on the needs of an organization.
It’s Just A Role A Computer Takes
Now when people talk about a server generally they are referring to a powerful centralized computer that clients connect to over a network, and they would be correct on that. However a server is not just a physical computer. A server is actually a role that a computer takes. Because any ordinary desktop computer can be set up as a server and it doesn’t necessarily have to be a powerful computer.
So for example you can set up a network in your home where you can have an ordinary desktop computer serve as a file server. The computer would have those files in a shared folder and then other computers connect to it to access those files. Or you can also use a desktop computer to serve as a web server, where you would install the website data on that computer and then the other computers can connect to it and retrieve the webpage.
But There’s A Catch
However desktop computers do have their limitations because they are not designed to handle a large workload and they can’t handle a lot of incoming connections from users. And this is not only because of their inferior hardware, but it’s also because of software. Because desktop operating systems are only able to handle a limited amount of concurrent connections. Now servers need to be up and running 24/7 because they are vital to an organization. And if a server does go down then that could jeopardize a business or an organization. So this is why servers need to be more reliable.
Server v/s Desktop Hardware
They need to be built with robust hardware that’s able to run non-stop with little to no downtime. So for example, a desktop would use a processor that’s designed obviously for desktops, such as the Intel core series processors and a server would use a processor designed for servers such as the Intel Xeon processor. A server processor needs to be fast and had the ability to perform a lot of tasks simultaneously. Now both of these processors are powerful but there are some differences. So for example, Xeon processors support a multi processing environment. So they are designed to work with other processors. Which means you can put two or more Xeon processors on a motherboard designed for servers, which is what a lot of servers need to handle a large workload. But desktop processors do not support this, they are only designed to work by themselves and not with other processors. And another difference is that Xeon processors support ECC RAM, which is error code correcting memory. And this type of memory is what’s mainly used in servers. Servers need to be up and running at all times and memory errors could bring down a server and what ECC does is that it detects if the data was correctly processed by the RAM module and it makes a correction if it needs to to prevent memory errors. So using ECC memory in servers is just an extra precaution to guard against any errors to prevent a server from shutting down and Intel Core processors do not support ECC Ram, however AMD processors do so support it. Xeon processors can also support a larger amount of RAM. They would have a larger cache memory. And they would also have a higher core count than desktop processors. And a server should also have hot swappable hard drives in a RAID configuration because if a hard drive were to fail then no data loss what happened and the server would still be up and running because of RAID. RAID is what copies that data on multiple disks and if a hard drive were to fail then it can be removed and replaced without shutting down the server. And then RAID would rebuild the data on the new hard drive automatically. And a server should also have redundant power supplies to keep the server up and running in case of a power supply failure.
Server v/s Desktop Software
Server also needs to use a server operating system, such as Linux, Windows Server, macOS server and so on. Server operating systems are robust and stable and they are designed to run non-stop and are able to handle thousands of concurrent connections. Now there are many different types of servers and when I mean types I’m talking about the type of service that the server provides. So for example, a web server. A web server is what hosts a website. So any website that you go to with your web browser, you are connecting over the internet to that web server to pull up the web site you want. The web server will contain all of the website’s data, including the HTML code and graphics and it will also be running the web server software. Another type of server is an email server an email server is what facilitates the sending and receiving of email and you would access the email using your web browser or you can use an email client such as Outlook or Thunderbird using email protocols such as IMAP, POP, and SMTP. And a database server is another type of server. This type of server stores data on the backend and then it’s retrieved from computers on the front end, for example using queries such as SQL.
This is just the tip of the huge iceberg which are servers.