How to manage shared hosting accounts

burnedfaceless used Ask the Experts™
I'm taking on a few clients in 2018 and by 2019 I hope to have enough of a portfolio to pay rent by taking on new clients full time.

I am going to offer hosting to my clients, renting out VPS servers and providing security updates, SSL certificates for maybe $25 a month.

I was thinking it would be best to pool money and rent a 8 core 16GB server and host sites on it. I figure the sites can handle more fluctuations of traffic.

I don't know how to monitor this.

I was going to use or a similar service to make sure the sites are always up and that I'm notified if they go down.

What would be the best way to monitor the server resources that the sites take up. Is it as primitive as just keeping stats or can we do better than that?

Also is $25 a good price to charge?
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Linux/LXD/WordPress/Hosting Savant
Distinguished Expert 2018
Sounds like the first time you've done this, so I'll pass along some things I've learned, running my private hosting business since 1994.

1) The types of sites you run + the traffic they receive will determine how well all your sites perform.

I only host WordPress sites + Static sites together on the same machine. People with other types of CMS systems or custom code, I charge a truckload + they go on their own dedicated server... as this type of code is near impossible to tune to play well with other sites running on the same machine.

2) At your machine level run Ubuntu + install LXD.

3) All clients get their own LXD container, so you have no VM overhead draining machine resources slowing down all sites.

4) Use a provisioner like OVH where IPs cost $3/once, with no monthly + no bandwidth charge.

5) Run latest Apache + FPM + HTTP2 + OpenSSL + LetsEncrypt (SSL).

6) Charge by the hour for any ad-hoc work to fix crashed sites + tune sites to run fast.

You must tune each site or you can end up with one poorly tooled site taking down your entire machine.

7) I release sites into the wild when they pass this simple test.

lxd: net11-foo # h2speed --count=10000
h2load -ph2c -t16 -c16 -m16 -n160000
finished in 8.47s, 18893.24 req/s, 341.35MB/s
requests: 160000 total, 160000 started, 160000 done, 160000 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 160000 2xx, 0 3xx, 0 4xx, 0 5xx
Requests per second: 18,893.24
Requests per minute: 1,133,594.4
Requests per hour  : 68,015,664

Open in new window

Note the 1,000,000+ requests/minute speed.

You may think this speed level is overkill. It's essential. Since this WordPress site runs at 1,000,000+ requests/minute, this means the resource burden of this site is close to nothing.

This particular site (name is changed), runs evergreen launches every few days + during launch cycles receives 50K-100K+ requests/minute.

If you tune all your sites to run at speeds like this, then you can run 100s of sites on one machine.

7) I suggest you choose at least CPU of at least 16 threads, so an 8 core + hyperthreaded machine.

8) I suggest you choose at least 128G of memory. With 16G you'll only be able to run a few sites, before your machine will start swapping.

Once swapping begins, your machine speed will circle the drain + likely crash.

Following these simple guidelines, will get you off to a good start.

9) I'd also charge more. Maybe $25/site. $100+/site is better.
Distinguished Expert 2017
You should first identify what your existing customers can finance.
And whether the current can fund your expanding clients.

As David pointed out, you have to know what your clients needs are.
Note, David sets forth the basis for service provided to a client.
Clients often do not really know what they need nor want, but as options are explained their need and wantsexpandaccordigky because they may not have been aware of the options.

Some provides have hosting (shared) where you can bethe principle essentially reselling services.
You might want to start this way and then as you have more .... Separate clients to ......a more customized platform.
David FavorLinux/LXD/WordPress/Hosting Savant
Distinguished Expert 2018
Expanding on what arnold said, client's rarely know what they require + almost always imagine something like hosting will be a simple task... like water running when they turn on a tap or lights when they flick a switch.

Rarely to clients understand what's required to run utilities to a house + keep those utilities running at 100% usability, 100% of the time.

Hosting tends to fall into the utilities category, so for me, I target highly knowledgeable clients. They rarely know how Hosting works + my perfect client is someone who's lost a truckload of money, when their hosting has glitched out + died right in the middle of a massive launch, costing massive lost of revenue or loss of relationships with JV partners mailing for the launch.

A likely good activity for you to go through is an old copywriting device, called Avatar Generation.

You describe in writing + pictures (clipped from magazines) your perfect client.

This can go a long way to assisting you setting your prices + determining how clients must perform to remain your clients.

I call this a Customer Contract, which encompass various factors which are important to you.

If a client/customer breaks their contract with, you then you fire them. A few weeks ago, bright an early Monday morning, I fired 2 clients who were both producing five figures of monthly revenue for me + together they were eating up 90% of my time, so immediate billing income was good + they were interfering with me working on long term, continuity income... so they had to go...


David, Thank you very much.

What you posted will be a good challenge for me. Hopefully in a month it will be second nature.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial