How Dedicated Servers Work
I got an internship at an online education company. I'm mostly going to manage their existing websites, but they really want me to become a LAMP expert since their only programmer wants to retire. The programmer dude, let's call him John, took me into the server room in their building. There was a full rack in there. They have two web server, another one (or two?) he called domain servers (I think), a database server and another thing hanging on their (I can't remember what he called it, firewall maybe).
The problem is, the company (of about 5) wants to move everything offsite because what they have now is too unreliable and expensive (yes JeevesBond, they are running Windows, ASP, MSSQL, IIS). I bought a development server (just a weak sauce celeron and 512mb ram) from a host in Seattle.
When they/we get everything off our site, and into the host's datacenter, are we going to need all those domain and database servers? It all just confuses me because a shared server doesn't have all those fancy things (I think). What's the average server setup look like? How many servers are needed to run something pretty basic like online courseware? I could ask John, but he's always busy and I don't want to bug him with a noobish question, so I'll bug you guys .
JeevesBond posted this at 18:00 — 19th June 2007.
He has: 3,956 posts
Joined: Jun 2002
Hehehehe, no problem. That's what we're here for.
This would be a good question for Andy, if he's around...
Two web servers is either for failover, or they're hosting lots of sites.
Think domain servers means DNS servers? Generally two separate servers is the minimum for name resolution (just in case one falls over, or wants to go down the pub). So all the domain names registered for the company will point to those DNS servers for IP resolution.
There are advantages and disadvantages to having a separate database server, it all depends upon what the application is. If you have a small number of large operations then I'd guess a dedicated database server would be an advantage, for serving web pages (large number of small operations) it would probably be better to have everything on a single server. With a dedicated server the connection overhead is usually higher, but you have the power of a whole server working on a single task: this can be optimised by tweaking your database server to cache more too.
The other thing could be a firewall, proxy, or maybe a load balancer (for the web servers?).
Really what setup suits you best depends upon what you're trying to do. TWF has everything on a single server (including DNS), whilst YouTube has a whole cluster for generating videos, probably several web servers, complete with load balancing. I would guess the average server has everything in a single machine, although I have seen shared hosting with a dedicated db server. Ever noticed how on most shared hosting you simply connect to 'localhost' when writing/installing scripts?
Am not sure whether you need all that infrastructure or not, maybe they were persuaded to buy it all by some Microsoft rep? Maybe the company who made the courseware recommends that infrastructure? Or maybe this John dude just thought it would be cool to put it all together like that: it's certainly scaleable?! Maybe you could investigate how much load those machines are under normally, you may well be able to move it all onto one server. Or even make a copy on a single machine, then load test it.
Anyway, hope this helps. Sorry for the waffle.
a Padded Cell our articles site!
andy206uk posted this at 23:08 — 19th June 2007.
He has: 1,758 posts
Joined: Jul 2002
Did I hear my name?
If you are buying new hardware and whatnot to co-locate at your providers data centre then no, you won't need all of that stuff, although there's no reason that you couldn't format a couple of boxes and use them as internal development servers - it's quicker than uploading to the web and means you can still work even if your broadband or host goes down for whatever reason. Also if you have an identical setup locally and remotely, it means you can test changes without putting them live on the internet for the general public!
An average server setup varies massively. Most of our customers have single servers running all of their services (like the TWF server). If a site is likely to be especially busy or processor intensive, then you really need a setup more like this:
Firewall
|
Loadbalancer(s)
|
Multiple Web Servers / Db servers
|
Large Raided Network Attached Storage
Andy
kb posted this at 06:14 — 23rd June 2007.
He has: 1,380 posts
Joined: Feb 2002
I don't know about your actual setup, but I can tell you this: I've been working at an "internship" (read: one-man IT department) for a small media company... and when I came in, it was a complete disaster. The company was running PHP pages on a M$ server, with the occasional ASP page or two... and it was all located on some random 5-year-old desktop somewhere in Texas...
When I came in the picture, and realized the situation, I quickly took charge... the current setup is dependent on only one actual server (NetBSD, Apache, PHP, MySQL), but serves a nice amount of content.
What I CAN tell you is that I have plans for another server (one that's already bought and paid for) to be the "dynamic content" server (read: video), through a subdomain reference, and the "main" server to be "static" content. All of this is based upon what most companies use, with the exception that I neither have a dedicated server for a loadbalance nor a firewall.
So... the allocation is largely up to you, but you should give it some thought because it may end up being immensely crucial. More processors/servers are not always better than fewer... alot of it depends on both how you setup the server architecture, and the load between them all.
Want to join the discussion? Create an account or log in if you already have one. Joining is fast, free and painless! We’ll even whisk you back here when you’ve finished.