An old colleague of mine was telling me of his plans to finally, after almost fifteen years of working for someone else, start his own hosting venture. My first instinct was of course to offer this poor soul some Lithium, seeing that his existing salary as CTO is more than triple the amount of profit he could expect from a start up web hosting venture in the first few years. I listened patiently as he unveiled his plan to take over the universe one domain at a time when all of a sudden he completely shocked me:
“I’m not doing shared, too much hassle and nobody wants it. Cloud, baby! CLOUD!”
Interestingly, I was just in the process of setting up a re-seller account for another friend when he dropped in. I didn’t say much, I just let him finish. He was looking for a sympathetic ear and he found one, I am well known for being rather prolific in my development of tools to make Xen easier for web hosts. I don’t think he was expecting my reply, which was:
“All these years, and you still don’t get it.”
As a web host, you must accomplish several things to be successful:
- Find and keep customers
- Innovate without annoying customers
- Find and keep rock star employees
Sure, there’s a little more, but the rest falls mostly on your data center if you are just getting started.
This list seems simple, but it isn’t. Lets go down the list one by one and you’ll quickly see that you are looking at several very deep rabbit holes.
1 – Find and keep customers
While finding or attracting the ‘right’ kind of client to your company is harder than it used to be, the fact remains that your primary focus has to be on keeping them once they settle in. Shared hosting, offered inexpensively (but not scary inexpensively) is a great way to attract people whose needs will very likely quadruple over time. Competition in this industry is heavy, someone with a lot more marketing dollars than you have is already hard at work trying to find ways to steal your customers. You must, I repeat must offer and be able to fulfill a cradle to grave solution that requires no effort on the part of your customer. Effort is spent by doing things like figuring out how per hour resource billing works, waiting to be migrated to ‘better hardware’ or even waiting for an order to be completed. Yes, waiting is an effort for most people, especially if they have something else to do.
If you order shared hosting on any recent platform that I had anything to do with, your data is kept in such a way that it can be provisioned into a single, or many virtual servers in just a few minutes (seconds usually, depending on how much you have). So here we have the first misconception, “shared hosting means succumbing to stand alone server mentality“. It doesn’t, and you need to educate your clients to that effect. Clients appreciate knowing that they won’t have to deal with complicated platforms unless their sites become sufficiently complex to require them. Even then, as far as the customer is concerned, there should be no such thing as complexity.
If you ask one of my nieces to determine how many cores she needs just to put up a simple blog to entertain her friends, you’ll get a blank stare. She’ll just appreciate the fact that if the blog goes viral, her host can handle it.
The other thing you have to take into consideration is that a substantial number of domains are registered and never used. If someone has the idea that some kind of meter is running for every hour that their domain is hosted, they will be a lot more likely to cancel and just let the domain lapse. If they know that keeping it up and alive to be worked on in whatever spare time they have only costs a few bucks a month, they’ll be more likely to keep it. Additionally, as a host, you should be detecting domains that were set up and never / rarely touched. Its an opportunity to reach out to your client and see if they’d like some help getting their idea in motion. I’ve got a great idea for new blog, I hardly have time to work on it. Do I pay $30 a year or $24 / monthly? I’d rather pay $30 a year with the knowledge that I won’t become a victim of my own success once I launch it, even if it means paying more when and if that happens.
Remember, the key here – make everything your clients need available under one roof so they never have to look elsewhere. Treat clients like customers, not consumers. Make sure they know the value of your offering and that growth will be painless in the future. Don’t be afraid to go so far as to set up an internal freelance marketplace. requiring providers to pass tests and an identity confirmation process that you establish. Did I mention, keep everything under one roof?
Lastly, you are going to get abusers, people who just want to use your servers to get rich without a care in the world regarding consequences for their actions. Identify them, and fire those clients quickly. With proper security, most people in this category will just give up.
2 – Innovate without annoying customers
Stop relying on Parallels, C-Panel or even Xen to dictate your offerings. Find more creative uses for the technology you have at hand and put it into play responsibly. Have you thought of enabling FUSE on your Linux servers and giving clients a simple means to mount encrypted volumes accessible via WebDAV? Have you thought about using version control software to allow clients to go back in time with their files? Have you considered making your own API that allows developer clients to write cool applications to interact with your service that get released as open source (thus promoting your company)? Perhaps rewarding those that do?
When you stop and think about it, the awesomeness of just adjusting the RAM of a virtual server in response to visitor activity pales in comparison to coming up with something actually novel. Put the tools that you have, which you may have yet to discover to better use and find creative names for the resulting offering that can be trade marked. This builds your brand far more than the typical “we scale to a gazillion cores!” offering. You can’t just put up a pretty site with a nice AJAX ordering system that abstracts away complexity and expect to be successful. Sure, one helps, but you have to continue to innovate in order to stand out from the thousands of other companies that offer the exact same thing that you do, on the exact same hardware, often in the exact same data center.
Just try not to annoy your clients while your stuff works its way out of beta.
3 – Find and keep rock star employees
Be it the quality of customer service, the novelty of innovation or the dedication to work through a major outage – the quality of your people is the quality of your company. Find people who get a twinkle in their eye when thinking about how things could be made better, not just people who like to rely on third party tools and collect a pay check. That holds true for customer service agents as well as senior developers. You can’t be the only person in your company with great ideas, hire people who bring even more to the table and listen to what they have to say. If your customer service rep tells you that he/she may have handled a situation differently if they knew that the client had a long history of prior complaints, make sure you put that in place quickly. If your system administrator tells you that he’s sick of having his/her hands tied by proprietary tools, make tools that give them what they want.
You want the people who spend their free time just tinkering with ideas, who refuse to limit their knowledge and experience to some kind of pseudo comfort level found in the ‘mastery’ of proprietary tools. Your job is to start with the kernel, then work your way up making your platform work better for your customers. One of the neatest projects I ever took on was writing a very unique and custom ‘jail shell’ for a host. Not only did it allow people to manipulate files, it also allowed easy rollbacks (it was based on Git) and simple access to features normally only found in the control panel.
Find these people, get them in front of your clients and make sure you keep them. This gives your customers an overall sense of consistency as well as many opportunities to put them at awe with what you came up with. I would not want to stay at a company where I cringe every time I need to ask for help. Even if the service is good, I still get very frustrated at having to explain my history over and over again.
Now why, oh why would you want to scrap an offering that offered so many opportunities? If you build it correctly, it will be profitable quickly. Or, just do what everyone else is doing – throw more cores at the problem and hope it goes away. If you rely on words like “Cloud”, “ROI”, “SOA” on your web site in order to do business, you are probably doing something wrong.