|
| |
In information technology, a server (also called a server application) is "an
application program that accepts connections in order to service requests by
sending back responses." (RFC 2616 (Hypertext Transfer Protocol -- HTTP/1.1)) A
server application can run on the same computer as the client application using
it, or they can connect through a computer network. Examples include file
server, database server, backup server, print server, mail server, web server,
FTP server, application server, VPN server, DHCP server, DNS server, WINS
server, logon server, security server, domain controller, backup domain
controller, proxy server, firewall, etc.
Term usage in information technology
Server is an adjective in the term server operating system. A server operating
system is intended, enabled, or better able to run server applications. The
differences between the server version and the "workstation" version of an
operating system vary. Sometimes (as in the case of Windows 2000 and Windows
2000 Server), the primary difference is the removal of arbitrary
license-dependent limits on the number of network file share connections
accepted. Some server editions include additional server applications bundled
with the operating system. Some server applications (e.g. Microsoft IIS) impose
arbitrary limits on the number of HTTP connections they will accept, depending
on whether they are running under a server operating system or not.
A server computer (often called server for short) is a computer system that has
been designated for running a specific server application or applications. A
computer that is designated for only one server application is often named for
that application. For example, when Apache HTTP Server (software) is a company's
web server, the computer running it is also called the web server. Server
applications can be divided among server computers over an extreme range,
depending upon the workload. Under light loading, every server application can
run concurrently on a single computer. Under heavy loading, multiple server
computers may be required for each application. Under medium loading, it is
common to use one server computer per server application, in order to limit the
amount of damage caused by failure of any single server computer or security
breach of any single server application. Any server computer can also be used as
a workstation, but it is avoided in practice, again to contain risk.
Server or server computer is also a designation for computer models intended for
use running server applications, often under heavy workloads, unattended, for
extended time. While any "workstation" computer can run server operating systems
and server applications, a server computer usually has special features intended
to make it more suitable. Distinctions often include faster processor and
memory, more RAM, larger hard drives, higher reliability, redundant power
supplies, redundant hard drives (RAID), compact size and shape, modular design
(e.g., blade servers often used in server farms), rack or cabinet mountability,
serial console redirection, etc.
The name server or server appliance also applies to network-connected computer
appliances or "appliance hardware" that provides specific services onto the
network. Though the appliance is a server computer, loaded with a server
operating system and a server application, the user need not configure any of
it. It is a black box that does a specific job. The simplest servers are most
often sold as appliances, for example switches, routers, gateways, print
servers, net modems.
A server is defined as a multi-user computer that provides a service (e.g.
database access, file transfer, remote access) or resources (e.g. file space)
over a network connection.
Server hardware
Although servers can be built from commodity computer components—particularly
for low-load and/or non-critical applications—dedicated, high-load,
mission-critical servers use specialized hardware that is optimized for the
needs of servers.
A server rack seen from the backFor example, servers may incorporate
“industrial-strength” mechanical components such as disk drives and computer
fans that provide very high reliability and performance at a correspondingly
high price. Aesthetic considerations are ignored, since most servers operate in
unattended computer rooms and are only visited for maintenance or repair
purposes. Although servers usually require large amounts of disk space, smaller
disk drives may still be used in a trade-off of capacity vs. reliability.
CPU speeds are far less critical for many servers than they are for many
desktops. Not only are typical server tasks likely to be delayed more by I/O
requests than processor requirements, but the lack of any graphical user
interface (GUI) in many servers frees up very large amounts of processing power
for other tasks, making the overall processor power requirement lower. If a
great deal of processing power is required in a server, there is a tendency to
add more CPUs rather than increase the speed of a single CPU, again for reasons
of reliability and redundancy.
The lack of a GUI in a server (or the rare need to use it) makes it unnecessary
to install expensive video adapters. Similarly, elaborate audio interfaces,
joystick connections, USB peripherals, and the like are usually unnecessary.
Because servers must operate continuously and reliably, noisy but efficient and
trustworthy fans may be used for ventilation instead of inexpensive and quiet
fans; and in some cases, centralized air-conditioning may be used to keep
servers cool, instead of or in addition to fans. Special uninterruptible power
supplies may be used to ensure that the servers continue to run in the event of
a power failure.
Typical servers include heavy-duty network connections in order to allow them to
handle the large amounts of traffic that they typically receive and generate as
they receive and reply to client requests.
The major difference between servers and desktop computers is not in the
hardware but in the software. Servers often run operating systems that are
designed specifically for use in servers. They also run special applications
that are designed specifically to carry out server tasks.
Servers have a unique property where the more powerful and complex the system,
the longer it takes for the hardware to turn on and begin loading the operating
system. Servers often do extensive pre-boot memory testing and verification,
along with starting up remote management services. The hard drive controllers
then start up banks of drives in sequence so as not to overload the power supply
with the sudden surge of everything turning on at once, then followed by RAID
system prechecks for correct operation of redundancy. It is not uncommon for all
these preboot hardware checks to take several minutes, but then for the machine
to run continuously for months at a time.
Server operating systems
The Microsoft Windows operating system is predominant among desktop computers,
but in the world of servers, the most popular operating systems—such as FreeBSD,
Solaris, and Linux—are derived from or similar to the UNIX operating system.
UNIX was originally a minicomputer operating system, and as servers gradually
replaced traditional minicomputers, UNIX was a logical and efficient choice of
operating system for the servers.
Server-oriented operating systems tend to have certain features in common that
make them more suitable for the server environment, such as the absence of a GUI
(or an optional GUI); the ability to be reconfigured (in both hardware and
software) to at least some extent without stopping the system; advanced backup
facilities to permit online backups of critical data at regular and frequent
intervals; facilities to enable the movement of data between different volumes
or devices in such a way that is transparent to the end user; flexible and
advanced networking capabilities; features (such as daemons in UNIX or services
in Windows) that make unattended execution of programs more reliable; tight
system security, with advanced user, resource, data, and memory protection, and
so on. Server-oriented operating systems in many cases can interact with
hardware sensors to detect conditions such as overheating, processor and disk
failure, and either alert an operator, take remedial action, or both, depending
on the configuration.
Because the requirements of servers are, in some cases, almost diametrically
opposed to those of desktop computers, it is extremely difficult to design an
operating system that handles both environments well; thus, operating systems
that are well suited to the desktop may not be ideal for servers and vice versa.
Nevertheless, certain versions of Windows are also used on a minority of servers
as are recent versions of the popular Mac OS X (also Unix-based) family of
desktop operating systems and even some proprietary mainframe operating systems
(such as z/OS); but the dominant operating systems among servers continues to be
UNIX versions or clones. Even in the case of Linux, configurations that are
ideal for servers may be unsatisfactory for desktop use, and configurations that
perform well on the desktop may leave much to be desired on servers.
The rise of the microprocessor-based server was facilitated by the development
of several versions Unix to run on the Intel x86 microprocessor architecture.
The Microsoft Windows family of operating systems also runs on Intel hardware,
and versions beginning with Windows NT have incorporated features making them
suitable for use on servers.
Whilst the role of server and desktop operating systems remains distinct,
improvements in both hardware performance and reliability and operating system
reliability have blurred the distinction between these two classes of system,
which at one point remained largely separate in terms of code base, hardware and
vendor providers. Today, many desktop and server operating systems share the
same code base, and differ chiefly in terms of configuration. Furthermore, the
rationalisation of many corporate applications towards web-based and middleware
platforms has lessened the demand for specialist application servers.
Servers on the Internet
Almost the entire structure of the Internet is based upon a client-server model.
Many millions of servers are connected to the Internet and run continuously
throughout the world.
Among the many services provided by Internet servers are: the Web; the Domain
Name System; electronic mail; file transfer; instant messaging; streaming audio
and video, online gaming, and countless others. Virtually every action taken by
an ordinary Internet user requires one or more interactions with one or more
servers.
There are also technologies that operate on an inter-server level.
| |
|