In computing, the word “server” comes from queueing theory, which refers to the mathematical study of waiting lines, or queues. The use of “serving” dates back to the late 1960s documents, such as RFC 4.
The term “server” was also used in RFC 5 document to describe ARPANET (an earlier version of the Internet) and differentiate between two types of hosts: user host and server host.
In this overview article, we’ve explained what exactly the server is and how does it work. We’ve also mentioned common types of servers along with their uses. Let’s start with the basics.
What Is A Server?
A server is a device or software that provides resources, data, and services to other devices called clients, over a network. In theory, whenever a system shares resources with client machines, it is considered a server.
A system can use resources from another system and provide resources (or services) at the same time. This way, it could act as both a client and a server.
The first World Wide Web server located at CERN | Image credit: Wikimedia
Usually, servers are powerful computers connected via a network to a group of less-powerful client devices, such as laptops, desktops, and smartphones. This network architecture is known as the client-server model, in which both the server and the client machine possess computing power, but specific tasks are assigned to servers.
In the recent decade, computing techniques have improved significantly, and the definition of server has evolved with it. Today, we have virtual servers that share hardware and software resources with other operating systems. They provide increased functionality, faster resources control, and cost-effective solutions.
What Operating System Do Servers Usually Run On?
Since most of the servers are configured and managed remotely, they run unattended without input device, monitor, audio hardware, and USB interfaces. They are managed via several computer programs such as SSH, PowerShell, and Microsoft Management Console.
Like our home computers, servers also require operating systems (OS) to function. The most dominant OS among servers are Fedora, Debian, Windows Server, and FreeBSD. Proprietary OS, like macOS Server and z/OS are also deployed, but they don’t have a significant share.
How Does It Work?
To operate as a server, a system must be configured on a network connection in such a way that it can listen to requests from clients. A single server can serve millions of clients, and a single client can use numerous servers.
Server operating systems are specifically designed to handle advanced level hardware, software, and network configuration services. They provide the functionality to listen to and respond to client requests while implementing security and essential administrative processes.
Components of a rack-mountable server
For example, Microsoft Windows Server OS facilitates efficient transfer between machines using idle network bandwidth and provides a full disk encryption system, advanced threat protection features, and an admin center to manage servers.
When a client needs service or data, it sends a request to a server over the network. Once the server receives this request, it starts processing (to fulfill the request) and sends corresponding data.
This server processing usually involves verifying the requestor’s identity, ensuring that it has permission to access request resources or data, and responding with appropriate information.
Modern servers can do much more than just storing files and accepting print jobs. They can handle intensive calculations required for complex tasks, such as training a neural network, weather forecasting, or molecular modeling.
Mission-critical servers are very fault-tolerant. They use specialized hardware with low error rates and uninterrupted power supplies. They are also incorporated with the RAID disk system, storage redundancy, and EEC memory along with intensive pre-boot memory testing to guard against unexpected failures.
Different Types Of Servers
Servers can be divided into various categories based on their purposes. However, they all have one common role: share data/resources and distribute work.
1. Web Server
A web server is a hardware or software that uses Hypertext Transfer Protocol (HTTP) along with other protocols to respond to client requests made over the World Wide Web.
This process is a perfect example of the client-server model. Every machine that hosts a website must have a web server software installed. Nginx, Apache, Microsoft Internet Information Server (IIS) are some of the most popular web servers.
2. Application Server
As the name suggests application server is specifically designed to run applications. In most cases, it combines or works with a Web (hypertext transfer protocol) server and is known as a web application server.
On the hardware side, CPU and RAM are the most crucial components for the application server. On the software side, the operating system plays a major role since it determines what programs the server can run.
They tend to have high availability monitoring, clustering, integrated redundancy, load balancing, high-performance distributed application services, and support for complex database access.
The most popular applications sever platforms are Apache Tomcat, WebLogic, Glassfish, J2EE, Apache Geronimo, and JBoss Enterprise Application Platform.
3. Database Server
As per the client-server model, a database server stores and manages databases and provides data access to authorized users. The data is usually kept in a central location so it could be frequently backed up, and easily accessed by users and applications across the network.
Databased management systems can be accessed through a command-line user interface or graphical user interface developed by an organization or third parties. While users interact with data through the user interface, it’s actually stored in the SQL Server or Oracle database located on a database server.
Microsoft SQL Server, Oracle, Informix, DB2 are the most popular proprietary database applications. Examples of free software database applications include MySQL, Ingres, and PostgreSQL.
4. Mail Server
It handles and delivers email over a network, usually over the Internet. While web servers and mail servers are mostly merged in a single machine, large ISPs and public email services (like Yahoo and Gmail) may use dedicated hardware for sending and receiving email.
In order for a device to work as a mail server, it must have a mail server program – a program that enables system admin to create and manage email accounts for each domain hosted on the server. For example, the server that hosts the domain “rankred.com” provides email accounts ending with “@rankred.com.”
The common protocols used in mail servers include SMTP (for sending messages to a mail server for relaying), POP3, and IMAP (for retrieving messages).
A proxy acts as a gateway between a client (requesting resources) and the Internet. It is an intermediary server separating end users from the site they browse.
Proxies are mostly used to bypass filters and censorship. For example, if a website is using IP-based geolocating to restrict its service to specific countries, clients can use a proxy server located in other countries to access the site’s content or service.
It also provides additional benefits, such as firewall functionality, caching, privacy, and security. Some proxies are also used to translate website content into visitor’s native language, repair common errors in data, and fix accessibility issues.
6. Virtual Server
Virtual servers share both software and hardware resources with other virtual servers. This means the entire computer is not dedicated to running the server software.
Instead of requiring a separate machine for each server, dozens of virtual servers can run on the same computer. Each is designated a separate operating system, application, and independent reboot provisioning.
Since virtual servers provide faster resource control and cost-effective solutions, they are very popular in web-hosting environments.
In most cases, the performance isn’t affected, and websites/applications behave as if they were being served via a dedicated server. However, an overflow of virtual servers in a single physical machine may lead to resource-hogging, which could ultimately result in performance issues.
7. Catalog Server
Illustration of a global catalog server
A catalog server indexes database, files, and data across a large network and allows various forms of searches, including keyword and Boolean search. In other words, it’s a central point that users can access to search for information across a distributed network.
Catalog servers are responsible for maintaining an index or table of contents, which can be easily found on the large network, such as web apps and files shared on file servers.
Global catalog servers, for example, hold the same information as domain controllers. They also hold a read-only replica of every domain naming context in the forest (for faster searching of objects), which is maintained by the Active Directory Domain Services (AD DS) replication system.
8. Game Server
A game server is an authoritative source of events in a multiplayer video game. It could be a local or remote server used by game clients to play multiplayer games. Most games played over the Internet function by connecting to this type of server.
Game servers can be further categorized as dedicated servers and listen servers. The former operates independently of the client and provides higher bandwidth and processing power. The latter runs in the same process as the game client, enabling a player to host and participate in the game at the same time.
Most of the popular multiplayer online games run on dedicated servers, which are usually maintained by the software company that owns the game. This makes it easier for companies to update and control their gaming content.
9. Computing Server
Computing servers provide various services for performing complex computation tasks. They share vast amounts of resources, particularly CPU and RAM, over a network.
Most computing servers are supercomputers that are used by scientists to carry out a wide range of resource-intensive tasks in various fields. In general, modern supercomputers are used for climate research, weather forecasting, molecular modeling, quantum mechanics, physical simulations, and oil and gas exploration.
10. Communication Server
Communication servers are specifically designed to handle a broad range of communication-based applications. They allow vendors to add values at different levels of the system architecture.
Based on industry-managed standards, like Carrier Grade Linux and MicroTCA, these servers are the foundational platform upon which vendors develop network infrastructure components for deployments, such as wireless broadband and IP Multimedia Subsystem.
It has three key properties: Flexibility (their architecture is scalable), openness (they are based on industry standards), and Carrier-Grade (can be easily upgraded).
11. File Server
Commonly found in offices and schools, a file server provides file systems (or some parts of a file system) to connected clients. You can think of it as a central storage place for files that is accessible to all authorized users.
These types of servers function within a hierarchical computing environment. They treat clients, machines, files, and applications as distinct but related entities on the network, and grant access to users based on credentials.
File servers also feature some sort of security system to limit access to certain files to specific clients. In large companies, this task is generally delegated to directory services, such as Microsoft’s Active Directory, Novell’s eDirectory, or OpenLDAP.
12. Sound Server
It is a program (commonly runs in the background) that provides access to sound card or audio devices. In a Unix-like OS, it combines different data streams and transmits single unified audio to output devices.
JACK, PulseAudio, PipeWire, sndio, and Network Audio System are some of the popular examples of sound severs.
13. Media Server
Media servers store digital media (images, audio, and video) and make it available over a network. The growing use of motion graphics and virtual reality content has accelerated the demand for such kind of servers.
It can be an application software or a device with network access and adequate bandwidth for saving and sharing media. For example, it may be a home theater PC running Windows XP Media Center, a Network Attached Storage, MediaPortal, or a commercial web server that hosts media for a large website.
Media servers are mostly used to deliver video-on-demand — they retrieve prerecorded video content from storage and send it across the network. Another increasingly popular use of these servers is live streaming — they deliver content as soon as it is created (with a delay of a few seconds).
NGINX and NGINX Plus are some of the advanced media server solutions used by big platforms like Zynga, Dropbox, and Netflix. Over 400 million websites rely on NGINX to deliver their content quickly and securely.
14. Print Server
A print server connects printers to client devices over a network. It manages print requests and shows printer queue status to network administrators and end-users.
It is often used to enforce admin policies, such as watermarking printed documents, department authentication, or color printing quotas. There exist many proprietary or industry-standard printing protocols like Jet Direct, NetWare, Line Printer Daemon, and Internet Printing Protocol.
Print servers are used in both small and large organizations. In small offices, it is implemented as a small network device or a specialized plug-in board to manage dozens of printers. In large organizations, a dedicated server manages hundreds or even thousands of printers.
15. Fax Server
A fax server installed on a LAN enables devices (that are connected to the LAN) to send and receive fax messages. It could be a software program installed on the LAN or modems connected to telephone lines.
It accepts documents from clients, transforms them into faxes, sends them to their destination address, receives fax calls, and stores or passes the incoming documents to end-users.
How Much Energy Do They Use?
As volumes of servers and their capabilities have grown, so has the overall amount of electricity consumed. According to Statista, there are more than 7 million data centers in the world.
In 2018, these data centers accounted for 205 terawatt-hours electricity usage, which is about 1% of the local electricity consumption. Moreover, the amount of computing performed in data centers more than quintupled between 2010 and 2018.
While the demand for servers has exploded in recent years (due to rising autonomous vehicles, artificial intelligence, and distributed manufacturing systems), power consumption is increasing quite slowly, thanks to improvements in energy efficiency.
Because of the improved efficiency of infrastructure equipment and a shift from corporate data centers to hyper-scale data centers and cloud data centers, the total power consumption held steady as computing output has risen.