|This article needs additional citations for verification. (July 2015)|
A server is a computer program or a machine capable of accepting requests from clients and responding to them.[a] Their purpose may be to share data or hardware and software resources among clients. This architecture is called the client–server model. Typical computing servers are database servers, file servers, mail servers, print servers, web servers, game servers, and application servers.
The clients may run on the same computer, but typically connect to the server through a network. Server machines (which can be either actual or virtual machines) run server programs. In turn, a server program turns the machine on which it runs into a server machine. However, designating a machine as "server hardware" or "server-class hardware" implies that it is more powerful and reliable than standard personal computers or are specialized for playing a server's role. Servers may be composed of large clusters of relatively simple, replaceable machines.
The term server is used quite broadly in information technology. In theory, any computerized process that shares a resource to one or more client processes is a server. So, while the existence of files on a machine does not classify it as a server, if it uses some mechanism to share these files then it can be a file server. Similarly, web server software can be run on any capable computer, and so a laptop or personal computer can fulfill the role of a web server.
In the hardware sense, the word server typically designates computer models specialized for their role. In a general sense, a server will perform its role better than a generic personal computer.
Hardware requirement for servers vary widely, depending on the server's purpose and its software.
Since servers are usually accessed over a network, many run unattended, without a computer monitor, or input device, audio hardware and USB interfaces. Many servers do not have a graphical user interface (GUI). They are configured and managed remotely. Remote management include MMC, SSH or a web browser.
Large traditional single servers would need to be run for long periods without interruption. Availability would have to be very high, making hardware reliability and durability extremely important. Mission-critical enterprise servers would be very fault tolerant and use specialized hardware with low failure rates in order to maximize uptime. Uninterruptible power supplies might be incorporated to ensure against power failure AND Hardware redundancy such as dual power supplies and RAID disk system ECC memory, along with extensive pre-boot memory testing and verification. Critical components might be hot swappable, allowing technicians to replace them on the running server without shutting it down, and to guard against overheating, servers might have more powerful fans or use water cooling. They will often be able to be configured, powered up and down or rebooted remotely, using out-of-band management, typically based on IPMI. Server casings are usually flat and wide, and designed to be rack-mounted.
These types of servers are often house in dedicated server centers. These will normally have very stable power and Internet and increased security. Noise is also less of a concern, but power consumption and heat output can be a serious issue. Server rooms are equipped with air conditioning devices.
A class of small specialist servers called network appliances are generally at the low end of the scale, often being smaller than common desktop computers.
On the Internet the dominant operating systems among servers are UNIX-like open source distributions, such as those based on Linux and FreeBSD, with Windows Server also having a very significant share. Proprietary operating systems such as z/OS and Mac OS X are also deployed, but in much smaller numbers.
Specialist server-oriented operating systems have traditionally had features such as:
- GUI not available or optional
- Ability to reconfigure and update both hardware and software to some extent without restart
- Advanced backup facilities to permit regular and frequent online backups of critical data,
- Transparent data transfer between different volumes or devices
- Flexible and advanced networking capabilities
- Automation capabilities such as daemons in UNIX and services in Windows
- Tight system security, with advanced user, resource, data, and memory protection.
- Advanced detection and alerting on conditions such as overheating, processor and disk failure.
In practice, today many desktop and server operating systems share similar code bases, differing mostly in configuration.
In a general network environment the following types of servers may be found.
- Application server, a server dedicated to running certain software applications
- Catalog server, a central search point for information across a distributed network
- Communications server, carrier-grade computing platform for communications networks
- Compute server, a server intended for intensive (esp. scientific) computations
- Database server, provides database services to other computer programs or computers
- Fax server, provides fax services for clients
- File server, provides remote access to files
- Game server, a server that video game clients connect to in order to play online together
- Home server, a server for the home
- Mail server, handles transport of and access to email
- Media server, a specialized application server, usually enterprise class machine, providing video on demand
- Name server, provides DNS services
- Print server, provides printer services
- Proxy server, acts as an intermediary for requests from clients seeking resources from other servers
- Sound server, provides multimedia broadcasting, streaming.
- Stand-alone server, a server on a Windows network that does not belong to or govern a Windows domain
- Web server, a server that HTTP clients connect to in order to send commands and receive responses along with data contents
Almost the entire structure of the Internet is based upon a client–server model. High-level root nameservers, DNS, and routers direct the traffic on the internet. There are millions of servers connected to the Internet, running continuously throughout the world and virtually every action taken by an ordinary Internet user requires one or more interactions with one or more server. There are exceptions that do not use dedicated servers; for example peer-to-peer file sharing, some implementations of telephony (e.g. pre-Microsoft Skype).
In 2010, data centers (servers, cooling, and other electrical infrastructure) were responsible for 1.1-1.5% of electrical energy consumption worldwide and 1.7-2.2% in the United States. One estimate is that total energy consumption for information and communications technology saves more than 5 times its carbon footprint in the rest of the economy by enabling efficiency.
- By contrast, in the peer-to-peer networking model all computers to act as either a server or client as needed.
- Comer, Douglas E.; Stevens, David L. (1993). Vol III: Client-Server Programming and Applications. Internetworking with TCP/IP. Department of Computer Sciences, Purdue University, West Lafayette, IN 479: Prentice Hall. pp. 11d. ISBN 0-13-474222-2.
- Windows Server Administration Fundamentals. Microsoft Official Academic Course. 111 River Street, Hoboken, NJ 07030: John Wiley & Sons. 2011. pp. 2–3. ISBN 978-0-470-90182-3.
- Li, Huang, Shen, Chu (2010). ""A Realistic Evaluation of Memory Hardware Errors and Software System Susceptibility". Usenix Annual Tech Conference 2010" (PDF).
- "Usage statistics and market share of Linux for websites". Retrieved 18 Jan 2013.
- "Server Oriented Operating System". Retrieved 2010-05-25.
- "Web Servers". IT Business Edge. Retrieved July 31, 2013.
- Markoff, John (31 Jul 2011). "Data Centers Using Less Power Than Forecast, Report Says". NY Times. Retrieved 18 Jan 2013.
- "SMART 2020: Enabling the low carbon economy in the information age" (PDF). The Climate Group. 6 Oct 2008. Retrieved 18 Jan 2013.