Web Hosting Talk







View Full Version : One server or multiple servers for mail, database, web, dns, ftp?


archangel777
11-19-2001, 01:50 AM
I'm wondering if I should offer webhosting with just one server, or should I split it up into several? For example, one for apache, one for sendmail/qmail, dns, database, ftp, etc.

Any experienced webhosters out there recommend using just one server for all these services?

What's the pros/cons in using one server vs. multiple?

(SH)Saeed
11-19-2001, 05:45 AM
I think that depends on how many users and how much money you have. For example, if you already have 4 server filled with user accounts, then I think it would be a lot better to have 1 database server, 1 mail server and 2 user account servers.

ASPCode.net
11-19-2001, 08:20 AM
Disagree.

Setting up accounts in a distrubuted environment is always trickier than on a single box. I mean, practically, when creating a new account it is easier if all stuff ( databases/mail/ftp/www ) is on the very same machine.

Also considering that these services work pretty much the same I see no reason of moving a specific service on a machine optimized for that type of application ( i.e database server or whatever ).

When the machine load hits the roof get another one - that's the simple rule to follow.

allera
11-19-2001, 08:57 AM
Management becomes much easier when you split up the servers.

Consider this: You have 500 customers split into 5 servers. Each server has Apache, Mail, DNS, and Mysql. That's 20 applications you need to make sure are operating optimally.

Now consider this: You have 500 customers, split into 3 servers plus 2 other servers: one for Mail/DNS and one for Mysql DBs. The three servers each run Apache. You now have 6 applications to look after.

This is purely hypothetical of course. Even if you don't use a db server and put mysql onto 4 user servers, that's still 10 applications versus 20.

Sure, when _creating_ an account it _might_ be easier to put all services on one machine (depending on how you set up your customers...), but that's only a few minutes of your time, versus possible hours of troubleshooting in the future should one of those unnecessary processes go down. Mail and DNS are too important to have to deal with like that. Optimally, 2 Mail/DNS servers should be used on two different networks for redundancy.

I should also hope you get another machine way before the server's load hits the roof.

Think about it. :)

ASPCode.net
11-19-2001, 09:39 AM
I see your points allera and just wanted to point out

- maybe 'real' Control Panel software can do true scaling - but since I am from the Cobalt world I know that CP won't scale - there is no possibility when adding new sites to get ftp accounts to be added to another server.

- with your solution, if say a memory chip on the MySQL db server breaks and renders the server unuseful - maybe even for a couple of hours - now ALL 500 customers are hurt.

However, I guess it is a matter of choice and how you like to organize stuff

allera
11-19-2001, 09:50 AM
- maybe 'real' Control Panel software can do true scaling - but since I am from the Cobalt world I know that CP won't scale - there is no possibility when adding new sites to get ftp accounts to be added to another server.
You are correct. :) Then again, Cobalts are limited in more ways than that, too.

- with your solution, if say a memory chip on the MySQL db server breaks and renders the server unuseful - maybe even for a couple of hours - now ALL 500 customers are hurt.
Very true, which is why I personally wouldn't do that without mirroring machines.

However, I guess it is a matter of choice and how you like to organize stuff
Yep! ;) There's no right or wrong way (IMO).

archangel777
11-19-2001, 12:27 PM
Isn't it a bigger threat security-wise to have just one server, opposed to multiple servers handling different services? For example, if you have all services on one machine, if Mail service gets hacked into, your entire machine is compromised. On the other hand, if you had Mail on its own machine, only Mail would be compromised and not the rest (Apache, FTP, Bind, etc.).

If you split the services up into multiple machines, wouldn't that kinda take away most of the Control Panel features? How would software, such as Plesk add new MySql databases, mail boxes, and ftp accounts if all of these are on different machines?

allera
11-19-2001, 01:22 PM
Originally posted by archangel777
If you split the services up into multiple machines, wouldn't that kinda take away most of the Control Panel features? How would software, such as Plesk add new MySql databases, mail boxes, and ftp accounts if all of these are on different machines?
Develop your own Control Panel. :)

bitserve
11-19-2001, 02:07 PM
We put a user's email and databases on the server that they're hosted on.

It's really not hard to maintain all of the subsystems on each machine. All the web servers will be identical. I would think that it actually is easier this way. When we upgrade (once a month) we do testing on an identical machine, and when we're done testing, we make an RPM and apply it to all the web server machines.

If you're just starting out, you can probably host your DNS on the same machine until you can move it off. But ideally, your primary DNS server would be dedicated.

As far as FTP, how would you put that on a different server than the one that they're being hosted on?

allera
11-19-2001, 02:17 PM
Originally posted by bitserve
As far as FTP, how would you put that on a different server than the one that they're being hosted on?
You wouldn't. But ProFTP + Mysql is a nice way to centralize a lot. Just depends on how scalable you want to get.

ASPCode.net
11-19-2001, 03:19 PM
For example, if you have all services on one machine, if Mail service gets hacked into, your entire machine is compromised. On the other hand, if you had Mail on its own machine, only Mail would be compromised and not the rest (Apache, FTP, Bind, etc.).


It all depends on how you define risks.

With 'your' method you risk getting ALL your customers getting a little upset ( cause some function is not working ), the other way around you risk some customers ( all on the defunct server ) getting very upset ( cause nothing is working for them ).

To be sure you would need to mirror all your services with instant fallback to a new server if one goes down.

For us deadly with an limited machine park I think it is a matter of how we like to organize stuff, kind of how you organize your documents on your disk - by function
/invoices/
/requests/
/invitations/

or by customer
/cust1/...
/cust2/...

Anatole
11-21-2001, 08:13 PM
There is a control panel for multiserver environment and we are using it. Take a look at HSphere from psoft.net

You will need to enter your customers data only once and then control panel software will populate it over DNS, Mail, SQL and web servers (on different boxes). It works over SSH - so it is secure.