Workshop At its most basic, the job of a server is to process incoming data and turn it into something more useful, thereby adding value. For example, a web server will accept a request for a web page when you click on a link, search for the page and, if found, bundle up the text and images, and squirt them back the to the requester.
However, a server could be doing almost anything you ask a computer to do. It could be processing data from a deep space telescope, serving print jobs, delivering web pages as we've seen, sharing out storage, managing Exchange emails, or enabling collaboration between every user in the company; just a handful of examples from the thousands out there.
Servers are essentially computers shared by multiple users or machines - not all of them are directly attached to people - and in smaller businesses they are likely to be general-purpose machines.
Do you need one? If you're a small business wondering if you need a server then you probably do, especially if you've more than five to ten users. A server can provide a central repository for information that people use in the day-to-day running of the company, it can act as a security buffer or gateway between employees and the internet, and it can do tasks such as helping to manage your emails. This general purpose kind of server is doing several jobs, which is not untypical in this scenario.
When you install multiple servers together in a datacentre or server room, their purpose and format change. To make the installation more efficient and cost-effective, common services such as storage and networking will be provided from a shared pool. This means a server doesn't need to be self-contained in a tower case but will slot into a rack, and its configuration will shift from a case containing storage and one or more CPUs, memory and a network card to just CPUs, memory and a minimal amount of storage.
Rather than serving individuals, the datacentre server could be running any one of a number of applications but is more likely to be running just a single application.
That's because each task requires a particular configuration. So for example, a server whose job is to serve web pages will be set up differently from one that processes database transactions, and again different from another that delivers files to end users running Windows. Additionally, server managers prefer to separate applications from each other to avoid interference: for example, if an application needs high-speed access to the disk, it runs faster if it's not competing with other applications.
This 'one job per server' principle applies whether a server is a physical device or a virtual machine sharing a physical host server with lots of other virtual servers.
This is necessarily a brief introduction to the job of a server - they're more complex than there's space here to fully discuss. However, whether in a datacentre or tucked in the corner of a small office, a server needs one attribute above all others if it is to be useful, and that's reliability. As modern hardware components are more reliable than ever, today's servers tend to be very reliable. However, for added assurance of continuous operation, enterprise servers go one further by doubling up components whose failure would make the machine inoperable, a process known as adding redundancy. If a hardware failure happens, a duplicate is ready to shoulder the load without interruption.
Redundancy ensures that online services such as the Amazons, Microsofts and Googles of this world are always ready - as long as the network is still working. But that's another story. ®