What a server is, what does it do, where are servers normally located, what are the different types of servers, are there any special conditions, specifications and requirements that a server needs, what makes a server different from the client perspective and who looks after (manages) them?
The Server Computer Platform
Put simply a server is a computer that is running a network operating system (NOS) and other software that enables it to service requests from other computers known as clients. This is a two-way state in that the client and the server are determined at any point in time depending upon their relationship at that point in time.
A server computer may get a request from another computer (client) but in order to fulfill that client's request it may itself need to request services from another server computer and so becomes the client of the second server computer. Another paradox is that a computer can fulfill the role of client and server itself.
For example, suppose a network computer is running both a web server and directory services server software (such as Microsoft's Active Directory). The web server receives a request for a service or access to an asset or resources.
The web server software needs to verify that the entity making the request is entitled to have that request fulfilled before it (the web server) can fulfill the request. In order to determine the requesting entities authorisation and access status the web server software asks the directory services server software (running on the same machine) to perform the authentication verification service.
Thus, we have a machine that is at once both a server and a client. Essentially, a server is a computer much like any other in that it consists of two primary components: server hardware and server software. It is the exact mix and type of these hardware and software components that determine the capabilities of the server.
Server Computer Hardware
Let us begin by looking at the types of hardware typically found in a server class computer. As already discussed, any computer including a standard desktop PC can act as a server.
However, due to the nature of activities and functional behaviors expected from a server, the server is usually far better hardware wise endowed than a typical client workstation or general-purpose computers are. After all the server is expected to serve many clients and usually simultaneously at that.
Thus, servers typically tend to be more robust with higher-grade hardware components that are faster, larger, more reliable, have with fewer frills and eye-candy than is the case with the typical workstation or desktop PC computer hardware components.
Due to the nature and types of services that the servers are running it is generally the case that some of them will be classifiable as being “mission critical” from the perspective of those availing themselves of the server's services.
For these reasons, server platforms tend to have multiple redundant computer hardware systems built-in along with “hot swap” capabilities. The last thing wanted from a server is downtime. They also come with considerably more performance enhancing and service availability related computer hardware including:
- Multiple large “hot swap” capable hard disk drives (RAID arrays)
- Copious quantities of memory (RAM)
- Multiple CPUs - The more compute power the better
- Multiple redundant power supply units (PSU) tend to be the norm
- Multiple high-speed network interface cards (NIC) also are common depending on the intended functionality of the server for example as a firewall in an environment with one or more De-Militarized Zones (DMZ)
Computer Server Software
There are three classes of computer server software the Network Operating System (NOS), Server Applications and Administrative Software.
The Network Operating System Software
The Network Operating System includes features such as built-in support for; file sharing, print serving, backup, restoration and security are common to all network operating systems. Some may come with a web server or e-mail server built-in, others do not. Security features are included.
I have already covered the features offered by network operating systems in the article entitled “Network Operating System Features” so I will not reiterate here.
Server Applications Software
Traditional and new server specific software applications now often called Enterprise Class Applications. Many of these software applications are familiar to many users. For example, the Microsoft Office Suite, Adobe Photoshop, Multi-Media Applications, etc. are all software applications familiar to the majority of us.
The big difference between the stand-alone versions that we know so well and these “server/enterprise” versions is “optimization”. The server/enterprise versions of the software are “optimized” to run on the servers where they may be configured as a service (SaaS) or as a remote processing software application.