For years I used to hook clients up with what I considered at the time to be reliable hosting companies. However I found that they rarely understood that their hosting contract was with these companies rather than myself.

When problems arose, as they very often did, I would get angry clients on the phone demanding that I fix their issues. I became an intermediary between the client and hosting company, usually unpaid.

Eventually I decided that since my time was being taken up with these support queries anyway, I may as well host these clients myself and make a bit of profit for my time.

Initially I went with a reseller account on a shared hosting service which was an absolute nightmare for all of the reasons you descibe in your article – however now that I’ve moved to using VPS (with Memset, as it goes) things have become a lot more stable and I’m finally reaping the rewards.

I always give clients the option of hosting elsewhere, and I figure now that if they have enough understanding to make that decision, then they should understand the clear distinction between developer and hosting company.

Finally I’m happy that I’m hosting clients myself, but it’s been a long struggle dealing with several utterly useless hosting companies, and having to learn an awful lot about sysadmin!

You also mention billing for small invoices. I ask clients to set up standing orders which is very helpful, but there are plenty of apps out there that can handle recurring monthly subscription payments. I’d suggest people use one of those. Unfortunately they weren’t around when I started, so had to write one in house – which took a while! – either way, I think it’s important to have that side of it automated.