In my ongoing analogy, a dedicated server would be a lot like a house or independent building. This article builds on my web hosting comparison. Getting a dedicated server is the first hosting option that doesn’t share a resource (strictly speaking, they all share resources, such as network bandwidth and electricity, but in the case of a dedicated server you get completely isolated CPU, disk and memory resources). A dedicated server is more expensive, in much the same way that owning a house is more expensive than renting an apartment or a motel room. Many people look at a dedicated server as the final upgrade option. While that’s not necessarily true, it brings up a valid point. This is a big commitment.
What they tell you
Hosting companies will tell you that the dedicated server is the best you can do for a demanding site. In some ways this is true, but it’s not the whole story. A dedicated server also represents an increase in maintenance and a need for active monitoring. Addressing some problems that come up with your own server can be expensive, time consuming and risky. The old adage about giving you “just enough rope to hang yourself” can be very appropriate for dedicated servers.
As an example, I’ve observed several big product launches where a dedicated server was setup to process orders on launch day. In each case they anticipated millions of dollars in sales. On launch day their server crashed. What happened?
A scenario like this makes for a great story about how not even a dedicated server could handle all the traffic. But I don’t think they planned it (that would actually be pretty careless and could reduce their sales). They simply failed to recognize a few basics. Here they are:
- Whoever manages your dedicated server may not know as much as the guys that mange the shared hosting or VPS servers. Managing a server is a lot more complicated than managing a website.
- The two big factors that affect server performance are
- The number of people that visit your site at one moment in time
- The amount of processing that needs to happen for each visitor
- How various technologies interact together.
A Bus can carry more people than a Car
Here’s one way to look at it. I’m a guy and so I’ll use a car analogy. There are small economy cars, large trucks and then semi trailers and finally buses. Each one has its purpose. The entry level servers might be like a small economy car. They give you the ability to decide exactly where you go and when. You choose what you play on the radio and whether you tint the windows and roll like a “homey” (haha, did I say that right, dawg?). The problem is that an economy car was designed to carry a few people at a time, not dozens.
The shared hosting servers are buses. They’re designed from the start to accommodate lots of people doing different things at the same time. But you don’t have as much control over the windows, the radio, etc. Despite the fact that you have to share the space with others, there’s a natural ebb and flow that can actually give you more burst capacity than a dedicated server. In other words, if you have 100 people come to your site at the same moment, a shared hosting environment may actually process those requests faster than a dedicated server. This stops being the case when you have to sustain that load or your processing requirements become very complicated.
As you increase what you’re willing to pay for a dedicated server, you get more processors (CPUs), more memory and even faster components altogether. Since you can use 100% of the resources in a dedicated server, a small increase in cost may give you big gains down the road. There’s a point at which a dedicated server becomes a better choice for high traffic than shared hosting, but the price point might make other alternatives more appealing (for example, cloud computing).
Good uses for a dedicated server
If your business requires very custom software or has strict (even statutory) requirements about how you deal with customer data, then a custom server might be the right choice. You might also have the need to setup several different environments that use a variety of resources. Configuring these resources can be much easier in an isolated, dedicated environment. However, you want to keep in mind that you can achieve a custom environment with a VPS at a much lower cost, but you can’t accommodate as many visitors.
For a single dedicated server the most significant impact on responsiveness and how much load it can handle before pooping out will be:
- Number of CPUs
- Amount of memory (RAM)
A machine with two CPUs can accommodate two visitors at the same time. A machine with 16 CPUs can handle 16 visitors at the same time. Now while that may not be exactly true, it’s a really good approximation, and as long as you don’t run out of memory or spend too much time waiting on the database, you can have a pretty responsive site.
When not to have a dedicated server
Dedicated servers, much like VPS plans, can buckle under heavy concurrent load. Concurrent means many people at the same instant. So if your website gets 100,000 visits per year and they are evenly spaced, then you’ll get by just fine. However, if you were to get only 20,000 visits per year but they all came within a two (2) hour window, then a dedicated server might not be the best option. Remember, it’s not the number of visitors to your site, but their proximity in time to one another that will determine the responsiveness of your server.
The term “cloud” makes some tech folks laugh, because there isn’t really such a thing as the cloud, but calling something a cloud and giving it a mystical power to absorb any amount of processing or traffic without breaking a sweat is downright awesome marketing fodder. That’s what I’ll cover in my next article.