Ideal setup for around 150 websites hosting?

leontas

New member
Hello all,
my friend is in the web design business for about 6 years or so and after me pushing him to go into hosting as well, he started a small hosting company 2 years ago or so.

He has now asked me to join him so I'm looking into ways of doing the best I can while keeping the cost as low as possible, without being cheap of course.

Right, so the server we have is a rather powerful one from www.fasthosts.co.uk . I've heard not so good things about their support, but so far after 2 years they are quite ok. We use a dedicated server with 8 gb ram and we are hosting around 75 websites using Win2008 web edition, the sites are developed in asp, php and Coldfusion (CF is my friend's expertise). This has been achieved with minimum to no advertising so when we start ads hopefully more customers will come.

The server costs around 250euros each month.
We use Plesk, and are currently configuring WHMCS to automate some processes, since so far everything was done manually, believe it or not quite a few people actually crave for personal communication with their hosts and this was so far the niche we were targeted at! :)
But like I said we now want to acquire more customers.

However ram usage is approaching the 6,5gb mark and with only 1,5gb left remaining, I'm considering what the best options would be in terms of data integrity and limited downtime in the future.

So my question is how do you think I should proceed? What are my options here? I've heard about moving towards cloud computing, how do I do that? I have no problem to have nodes in the same datacenter, so how do I take advantage of the Virtualization options available?

What I want to achieve is to have as less downtime as possible, so I was thinking of having 2 dedicated servers, but how do I synchronize all their data and make them appear as one?

Having ONE dedicated server with really good specs and running 2 virtual machines in them, each of them being an exact copy of the other (apart from the IP of course) is not really helping my downtime, because it will help it only in terms of having to restart the server for updates, it will not help me in hardware failure cases.

Should I get 2 dedicated servers (A and B) and having them run synchronized? So if I want to restart server A, all clients will be served from server B, and when A comes online again all data will be synchronized. But how do I do that?

We're not aiming to become a big web hosting company because the competition is huge even in our country, however we want to make sure that the user experience is as smooth as possible without downtime for security updates etc.

I have small experience with the entry level VMWare products (Workstation, Server and Player) so if you think VMWare can help me, go ahead and let me know what my options are.

I forgot to say that our customers' payments make up for around 2,5 - 3 times the costs of running the server, most of the real money comes from web site development so far.

Thanks for your suggestions and your time!!! :)
 
Sounds like you could use a little IIS tweaking.

I was curious myself to try a cloud server and the folks at http://www.gigenetcloud.com/ were nice enough to supply with trial credits via live chat.

I think for half of what you're paying now, you can setup a beast there.

Good luck,
 
If by IIS tweaking you mean ram issues, it might be due to the fact that we host many Coldfusion sites which we have seen have proved to be memory hogs..

Since we run Plesk, I'm not too sure I want to mess around with IIS, unless there are a few things that can be done from inside Plesk. Please shed some light if you have the knowledge!

I'm checking the website you gave me now..
 
In order to keep costs down and service up, a cloud solution might be the right track for you. At a minimum you'll want to spread your clients over multiple machines especially since you're providing phone support. Run the scenario in your head of a server going offline and 75 people calling to complain. They want answers, and you're busy trying to fix things so you don't answer the phone (or you do answer and they just keep yelling).

You unfortunately can't base how big of a machine to get just by looking at how many accounts are on the server. You'll want to take into account how busy certain sites are, how big they are and how much resources they consume. Have you run any scripts on your server to determine average CPU loads, memory spikes, mysql usage, email usage etc?

We run a few decent machines in England with the following type setup;

Quad Core Xeon 2.5ghz
8GB memory
2 x 250GB Drives (RAID 1)
1000GB Bandwidth
32IPs
CentOS, cPanel & Fantastico

We get out the door at just over £160 (about 190 euro). Of course our machines in the US are cheaper but for the European market we host in London.

I'd strongly suggest looking at running two or more machines and splitting your users up that way. A Cloud is a good solution too, but definitely splitting up memory hungry accounts can help you in the long run.

When I first started back in the mid 90s I was running a design company and the hosting end of things was just a means of providing reliable service to customers. At the time we actually lost money (and sometimes broke even) on our hosting expenses, but it was the Design and programming that we made our money.
 
Thanks for your reply, our company used to be a one man show for 2 years so this is pretty much similar to your start as well. Thankfully dedis are now quite cheap compared to a few years ago so we are certainly past the break even point since day one (when I was not working with him).

Anyhow, we have some websites that are business critical, for example we have 3 hotels that we also host their emails. Splitting our users is good, however I'm more concerned about downtime through hardware failure, for some reason this has always tormented my mind since the start of my career.

We too host in England since we only have EU customers, however I wouldn't mind renting a dedicated server in the US if I could make it a complete identical and constantly synchronized copy. Therefore all my clients would work from the English server, and if/when that fails the US node would take over.

I haven't done much testing with the server to know what its peaks are etc, but I'm looking at renting a very cheap VPS in a different DC in order to install a monitoring software like Nagios in order to constantly monitor it.
 
check with your datacenter to see if they offer any type of load balanced or fail-over type systems in their center. Running multiple machines in multiple datacenters will generate bandwidth, and well England is known for their expensive bandwidth (not as high as Australia & New Zealand, but still high).

You could run mail to TWO servers (one dedicated and one VPS for that matter) and then for the fail over you could just have a page on the VPS version saying that the site is offline for maintenance and will be back online shortly.

This way, you don't need an exact copy of the site in operation, but the mail would still flow and the visitors would be alerted that there was an issue. This COULD be a solution for you too.
 
I'm not that concerned about DC issues, I'm far more concerned about hardware failure and more importantly HDD failures. So having 2 load balancing servers in the same DC doesn't seem that bad of a choice to me. And more importantly, I will be able to bring a server down for security updates etc, while the other will still be serving my websites.

I'll ask my hosts to see what they are offering, perhaps they have a premade solution. If not, how do you suggest I do it manually?
 
If you're colocating at the datacenter then a load balance switcher would be like an extra machine in your rack. Otherwise you'd need to setup a sort of round robin DNS type setup where it checks to see if machine 1 is online, of so, send the user there. If not, send it to machine 2 (and vice versa).

It's not as simple as that, but that's the general gist of things. If you're running database type setups, you'll need to sync your databases, use secondary MX records for the alternate mail server etc. Again, that's a pretty broad stroke of the paint brush for how to accomplish it. Check with your DC, they should have a solution in place to allow you to do something like that. most datacenters do.
 
You mentioned VMware and that might be a good option. We switched to a hosted VMware setup a few months back and it's proved excellent, although it's not going to be for everyone. The thing that scared me was the downtime reports for a lot of the cloud hosting companies - take a look at some of the forums and they are full of stories of serious downtime by cloud providers. We went with a specialist VMware provider (stratogen) in the end and they seem fine.
The good thing about the cloud is you can easily do load balancing or server upgrades without downtime. If you go for a dedicated server you are going to have an issue when you want to upgrade.

I guess at the end of the day it's whatever you feel most comfortable with. Cloud is certainly a bit more risky until the providers can sort themselves out.
 
Top