Server (computing)

In computing, a server is any combination of hardware or software designed to provide services to clients. When used alone, the term typically refers to a computer which may be running a server operating system, but is commonly used to refer to any software or dedicated hardware capable of providing services.

Usage
The word server is used quite broadly in information technology. Despite the many Server branded products available (such as Server editions of Hardware, Software and/or Operating Systems), in today's mass markets like Apple and Microsoft.

Server hardware
Hardware requirements for servers vary, depending on the server application. Absolute CPU speed is not usually as critical to a server as it is to a desktop machine. Servers' duties to provide service to many users over a network lead to different requirements like fast network connections and high I/O throughput. Because servers are usually accessed over a network they may run in headless mode without a monitor or input device. Processes which are not needed for the server's function are not used. Many servers do not have a graphical user interface (GUI) as it is unnecessary and consumes resources that could be allocated elsewhere. Similarly, audio and USB interfaces may be omitted.

Servers often run for some time without interruption and availability must often be very high, making hardware reliability and durability extremely important. Although servers can be built from commodity computer parts, mission-critical servers use specialized hardware with low failure rates in order to maximize uptime. For example, servers may incorporate faster, higher-capacity hard drives, larger computer fans or water cooling to help remove heat, and uninterruptible power supplies that ensure the servers continue to function in the event of a power failure. These components offer higher performance and reliability at a correspondingly higher price. Hardware redundancy&mdash;installing more than one instance of modules such as power supplies and hard disks arranged so that if one fails another is automatically available&mdash;is widely used. ECC memory devices which detect and correct errors are used; non-ECC memory can cause data corruption.

Servers are often rack-mounted and situated in server rooms for convenience and to restrict physical access for security.

Many servers take a long time for the hardware to start up and load the operating system. Servers often do extensive pre-boot memory testing and verification and startup of remote management services. The hard drive controllers then start up banks of drives sequentially, rather than all at once, so as not to overload the power supply with startup surges, and afterwards they initiate RAID system pre-checks for correct operation of redundancy. It is not uncommon for a machine to take several minutes to start up, but it may not need restarting for months or years.

Servers on the Internet
Almost the entire structure of the Internet is based upon a client-server model. High-level root nameservers, DNS servers, and routers direct the traffic on the internet. There are millions of servers connected to the Internet, running continuously throughout the world.

Among the many services provided by Internet servers are: Virtually every action taken by an ordinary Internet user requires one or more interactions with one or more servers.
 * World Wide Web
 * the domain name system
 * e-mail
 * FTP file transfer
 * chat and instant messaging
 * voice communication
 * streaming audio and video
 * online gaming

There are also technologies that operate on an inter-server level. Other services do not use dedicated servers; for example peer-to-peer file sharing, some implementations of telephony (e.g. Skype), and supplying television programs to several users (e.g. Kontiki, SlingBox).

Servers in daily life
Any computer or device serving out applications or services can technically be called a server. In an office or enterprise environment, the network server is easy to identify. A DSL/Cable modem router qualifies as a server because it provides a computer with application services like IP address assignment (via DHCP), NAT, and a firewall that helps protect a computer from external threats. iTunes software implements a music server to stream music between computers. Many home users create shared folders and printers. Another example are the many servers for such hosting online games such as Everquest, World of Warcraft, Counter-Strike and Eve Online.