Are You Using The Term ‘Server’ Correctly? (Spoiler: You Probably Aren’t)

I’ve said in the past that I’m a descriptivist. As I see it, language exists solely to transmit ideas. If a language consumer comprehends a message within a reasonable degree of the communicator’s intent, then I rarely concern myself with the particulars. If you think about it, human society reflects a similar attitude. In most legal systems, we classify the severity of crimes that have the same outcome based on the intent of the perpetrator (for example, premeditated murder as opposed to negligent homicide). When ideas start to get lost, my attitude changes. In this article, I will focus on a very common, yet almost universally misused word: “server”.

The Most Proper Definition of the Technical Term “Server”

In its most proper application, the term “server” means a component that provides a service that can be consumed by other technologies. I doubt that many people would contest that. However, it does include a qualifier that doesn’t enjoy such widespread acceptance: very rarely does a piece of hardware meet the definition. Almost everything that can accurately be labeled “server” would also most closely fit the definition of “software”. Firmware and embedded systems cover most of the rest. However, the big tower unit sitting in the back of your small office doesn’t really count. Neither do the “pizza boxes” filling datacenter racks. Yes, their manufacturers sell them as “servers” and almost all of us call them “servers”, but the term is technically incorrect in that usage.

Background

I don’t have a lot of information on the early uses of the term “server”. I don’t know who used it first, I don’t know how it was added to computer science jargon, and I don’t know how it entered the common vernacular. I have no doubt that someone knows these things; it might all be a simple Internet search away. However, I don’t think that’s important. Instead, I want to relay my own experiences so that any skeptics know that I understand how they feel.

My story starts in 1998. I was still very new to IT as my chosen career path. As many others have noted, newcomers to our industry often have a peculiar arrogance powered by ignorance. I was at least as bad as anyone else. Through fortune, I had more or less grown up with computers in a time when that was still very rare. So, even though I was just getting started, I acted as though those pre-professional years provided me with some unique insights.

At some point in that year, I attended a vendor presentation. I don’t now remember very much about it. I do recall the speaker saying something like, “A ‘server’ is always software. It is never hardware.” I scoffed (to myself). Afterward, I and a colleague had a good hearty laugh about how that guy didn’t know what he was talking about. Then, we went right back to our normal process of selling and configuring “servers”.

The Explanation

That episode always stuck with me. It took quite some time for me to realize that he was right. It took even longer for me to admit it. Hopefully, anyone that disagrees with this definition can get over their objections more quickly.

The short-circuit way to the explanation lies in the function of anything that we would call a “server”. To be a “server”, what must something do? Serve something, right? Think about that big box with the blinking lights that you call a “server”. When you first unboxed it and turned it on, was it capable of serving anything? Unless it came with something pre-installed, I’m guessing that it couldn’t. Perhaps it had some add-on module for out-of-band management. That would qualify as a server, but only because of embedded software. And, if that’s the only thing that the big shiny box could do, no one would have much interest in it.

Evidence: Qualifying Software

If the quick answer doesn’t suit you. then let’s take a longer view. The most convincing evidence for me was simply the proper application of the term. Think about all of the places that you usually find “server”:

  • Web server: Do you know of any pure hardware solutions that will show web pages to client systems. If you can think of one, would you classify it as “full-featured”? Now, think about common web servers. Apache Web Server. IIS Server. What about web developers? When you hire or contract a web developer, do you expect them to work with a particular type of hardware? If you pay a company to host your web sites, do you even know the brand of physical systems that they use? Does it matter?
  • Mail server: Same question as for web servers. You may not know of any hardware-only solutions, but you’ve heard of Exchange Server, right? Maybe Zimbra? When you configure your e-mail client to connect to an e-mail server, does it ask you anything about the hardware?
  • File server: For some of us, the story might get grayer when we talk about file servers. Medium and larger businesses commonly have one or more physical systems dedicated to serving files. However, we all know that most operating systems provide this service natively. The hardware has little to do with it. In this case, the “file server” may not be a uniquely identifiable chunk of software, but it is still software. And, of course, we still have file servers that are not necessarily part of their operating system, such as Samba.

Of course, I could go on and on adding items to this list. FTP servers, LDAP servers, backup servers, etc. They all have basically the same formula with basically the same conclusion: servers are software, not hardware.

Evidence: Hardware

We can’t easily ignore the hardware in this discussion. Our hardware vendors sell us these things that they call “servers”. They certainly look and behave and cost differently than the other things that we buy. How do we reconcile all of that with this definition? I submit these points:

  • What if you had to describe that box that you call a “server” by its constituent physical components? CPU, memory, expansion slots, ports, hard/SSD drives, optical drives. Would that not be an equally apt description of a desktop system? A laptop?
  • I doubt that many people in my field have never installed Windows Server or a Linux server on a non-“server” piece of hardware. If you haven’t, then do you have any doubts that it could be done?

Once upon a time, we used the term “server-class hardware”. I don’t love that term because it tries to place artificial limitations on what type of hardware can run server software, but at least it has some merit. I sometimes see the term “PC Server”, which gets closer but still doesn’t quite make the cut. These “servers” are just computers. They might have been designed differently and they might use hardware of a higher quality, but they differ from other computing systems only by degree — not category.

Evidence: Operating Systems

I already mentioned that you can install a “server” operating system on just about any computer. However, we can go deeper:

  • Non-“server” operating systems still provide services. You can remotely browse the local file system of a Windows 10 computer. It runs a constrained build of the same SMB server that ships as a component of Windows Server. It contains other built-in servers as well.
  • These “workstation” and “personal” operating systems can also run third-party servers with ease. Have you ever hosted a network-based game world for your friends? That’s a server. Linux doesn’t even really care about distinctions in the operating system; you can install all sorts of server software from repository or source packages without restrictions. None of it checks your hardware unless it has some particular dependency.

The goal of this section is to show that many of the distinctions that we try to make around the term “server” are already artificial and to point out that hardware has very little to do with it.

The Point of Using the Term “Server” Correctly

Of course, the big question is: “does it really matter?” Most of the time, no, it doesn’t. If it did, we would have all agreed on some other term. I changed my thinking on the word “server” years ago, but I’ll still refer to some equipment as “servers”. I almost never correct anyone for using the term “incorrectly”.

But, sometimes, it does matter. And when it matters, it matters quite a bit.

Recently, I was working with some other people to build a load-balanced service using an F5 load balancer. If you’re not familiar with F5, they make physical appliances that run highly specialized embedded software. That software performs its load-balancing duties by employing what F5 calls “virtual servers”. The software creates whatever listeners you tell it to (such as HTTP) and binds them to an IP address or range. They’re called “virtual servers’ because the F5 doesn’t really serve much of anything; it passes it through to your back-end servers.

In my estimation, F5’s usage of the term “virtual server” is perfectly correct. However, it caused all sorts of problems in my conversations with the others that I was working with. Every time that I said, “virtual server”, they processed that as “virtual machine”. They couldn’t understand why I was creating so many virtual machines and why I was configuring them so strangely, and I couldn’t understand why they were resisting what seemed like perfectly reasonable suggestions. The language consumers were unable to comprehend the message within a reasonable degree of the communicator’s intent.

Future Behavior and Usage

Since we’re all hypervisor people around these parts and, therefore, accustomed to the term “virtual machine”, I am fond of adopting the term “physical machine” — or just “machine” — to replace “server” as a hardware descriptor. I doubt that much confusion will arise over that.

Practically speaking, how much confusion will such a tactic avoid? Of that, I’m not certain. I’ve only had a few interactions where a meaningful amount of time was lost over a misuse of the term “server”. A few of those times have been in relation to this Spectre/Meltdown business, which is already messy enough. I think that any time we can be clearer in our communications, we should strive to do so. However you feel about all of this, I think it’s worth taking note that not everyone may understand “server” the way that you do.

Altaro Hyper-V Backup
Share this post

Not a DOJO Member yet?

Join thousands of other IT pros and receive a weekly roundup email with the latest content & updates!

9 thoughts on "Are You Using The Term ‘Server’ Correctly? (Spoiler: You Probably Aren’t)"

  • Bob Jones says:

    Lol Eric must be a slow day at the office to spend a long article on what a server is.

    I think the people selling like A power Edge server would call it a server but its really Server Class hardware.

    Like you said its software but if you buy a Dell Poweredge chances are you are going to be running some kind of server software on it. Then after awhile you just start calling it a server.

    The hardware just makes it more bullet proof, (dual PS), Drac card for remote support etc.

    Totally agree on the article but come on. I think maybe you might here it used incorrectly so often you had to write about it.

    • Eric Siron says:

      Well, my worst case was three days of back-and-forth because of “server” being misunderstood, which delayed a project update. If it happened to me, it must have happened to at least a few other people. That’s a lot of lost work hours. Seems worth it to me.

      • Rick Pa says:

        I see the term server describes the software much more than hardware. Your typical high-end desktop has more power, space and ability than true servers did back in the 80’s. When I call something server it is running server software. I have old PowerEdge boxes that now run Windows 10. I don’t call them servers anymore.

        • Eric Siron says:

          Dollar-by-dollar, “server” computers have always had less relative power and capacity than contemporary “workstation” and “desktop” systems in the x86 world. That’s just a truism. And again, the differences are by degree, not by category. Not sure where you were headed with that.
          Windows 10 ships with an SMB server, a web server, and a network connection sharing server. They’re still servers, regardless of what they’re used for or what anyone calls them.

  • Allen says:

    I predate you by a decade and a half. I remember when a server was a hardware box that ran daemons.

  • Jason Clark says:

    While I know nothing of F5, based on the short description it SOUNDS like it’s just a proxy – listening on certain ports and relaying those incoming streams to a back end IP of it’s choosing based on the load balancing defined. If that is true, I would suggest that they are the ones that used the term “virtual server” more incorrectly than anyone else. There is nothing new about proxying incoming connections to a different back end/internal IP, and I’ve never heard anyone try to call that a “virtual server” before. (of course the caveat – this is all based on what I just read from your article about what it does. I could be way off base.)

    • Eric Siron says:

      I did a fairly poor job of explaining F5’s product, so blame me, not them. There’s a great deal more to it than the tiny little blurb that I threw out there.
      I don’t always feel like “virtual server” is the best descriptor for what they’re doing, but I always come up short on a better one. It is more correct than incorrect.

Leave a comment or ask a question

Your email address will not be published. Required fields are marked *

Your email address will not be published. Required fields are marked *

Notify me of follow-up replies via email

Yes, I would like to receive new blog posts by email

What is the color of grass?

Please note: If you’re not already a member on the Dojo Forums you will create a new account and receive an activation email.