Server

A server is a computer that provides data to other computers. It may serve data to systems on a local area network (LAN) or a wide area network (WAN) over the Internet.

Many types of servers exist, including web servers, mail servers, and file servers. Each type runs software specific to the purpose of the server. For example, a Web server may run Apache HTTP Server or Microsoft IIS, which both provide access to websites over the Internet. A mail server may run a program like Exim or iMail, which provides SMTP services for sending and receiving email. A file server might use Samba or the operating system's built-in file sharing services to share files over a network.

While server software is specific to the type of server, the hardware is not as important. In fact, a regular desktop computers can be turned into a server by adding the appropriate software. For example, a computer connected to a home network can be designated as a file server, print server, or both.



How servers work

The term server can refer to a physical machine, a virtual machine or to software that is performing server services. The way that a server works varies considerably depending on how the word server is being used.

1. Physical and virtual servers

A physical server is simply a computer that is used to run server software. The differences between a server and a desktop computer will be discussed in detail in the next section.

A virtual server is a virtual representation of a physical server. Like a physical server, a virtual server includes its own operating system and applications. These are kept separate from any other virtual servers that might be running on the physical server.

The process of creating virtual machines involves installing a lightweight software component called a hypervisor onto a physical server. The hypervisor's job is to enable the physical server to function as a virtualization host. The virtualization host makes the physical server's hardware resources -- such as CPU time, memory, storage and network bandwidth -- available to one or more virtual machines. An administrative console gives administrators the ability to allocate specific hardware resources to each virtual server. This helps to dramatically drive down hardware costs since a single physical server can run multiple virtual servers, as opposed to each workload needing its own physical server.

2. Server software 

At a minimum, a server requires two software components: an operating system and an application. The operating system acts as a platform for running the server application. It provides access to the underlying hardware resources and provides the dependency services that the application depends on.

The operating system also provides the means for clients to communicate with the server application. The server's IP address and fully qualified domain name, for example, are assigned at the operating system level.

What are they used for?

Servers manage network resources. For example, a user may set up a server to control access to a network, send/receive e-mail, manage print jobs, or host a website. They are also proficient at performing intense calculations. Some servers are committed to a specific task, often referred to as dedicated. However, many servers today are shared servers that take on the responsibility of e-mail, DNS, FTP, and even multiple websites in the case of a web server.

Types of servers

Servers are often categorized in terms of their purpose. A few examples of the types of servers available are as follows:

A web server is a computer program that serves requested HTML pages or files. In this case, a web browser acts as the client.

An application server is a program in a computer in a distributed network that provides the business logic for an application program.

A proxy server is software that acts as an intermediary between an endpoint device, such as a computer, and another server from which a user or client is requesting a service.

A mail server is an application that receives incoming emails from local users -- people within the same domain -- and remote senders and forwards outgoing emails for delivery.

A virtual server is a program running on a shared server that is configured in such a way that it seems to each user that they have complete control of a server.

A blade server is a server chassis housing multiple thin, modular electronic circuit boards, known as server blades. Each blade is a server in its own right, often dedicated to a single application.

A file server is a computer responsible for the central storage and management of data files so that other computers on the same network can access them.

A policy server is a security component of a policy-based network that provides authorization services and facilitates tracking and control of files.

A database server is responsible for hosting one or more databases. Client applications perform database queries that retrieve data from or write data to the database that is hosted on the server.

A print server provides users with access to one or more network-attached printers -- or print devices as some server vendors call them. The print server acts as a queue for the print jobs that users submit. Some print servers can prioritize the jobs in the print queue based on the job type or on who submitted the print job.

Where are servers stored?

In a business or corporate environment, a server, and other network equipment are often stored in a closet or glasshouse. These areas help isolate sensitive computers and equipment from people who should not have access to them.

Servers that are remote or not hosted on-site are located in a data center. With these types of servers, the hardware is managed by another company and configured remotely by you or your company.