A server is a hardware or software device used to provide resources to clients or requesting applications. Servers run on an architecture for fulfilling requests called the “Client-Server Model”, which works by the client asking the server for specific data in an agreed upon format and the server readying and providing the data.

The internet largely runs based on this client-server model. The term server is broad enough to encompass the myriad of specific servers that can be found today such as web servers, game servers, email servers, and proxy servers to name a few.

Data Centers

Large groups of servers can be referred to as data centers. As data center level scale, maintenance of servers requires diligent control of physical environments such as the temperature of locations housing servers, redundancy, etc. Cooling servers is very important at data center level server scale because servers emit heat (especially in close proximity to one another) and therefore need to be cooled down with fans and temperature control measures like air conditioning which at scale can be quite substantial in terms of resources.

Virtualization and Beyond

In the early days of computing, a single server could be used to provide data to a client resource. Things developed naturally so that a single server could serve several clients and one client could communicate with several servers. These days server technology has advanced so that multiple servers can be placed on a single physical servers using hypervisors. The ability to host multiple servers on a single device is known as virtualization, and has led to exponential leaps in computing power, and efficiency in application deployment.


Interested in helping build Docs? Read the Contribution Guide or share your feedback form.

Learn More on Codecademy