2009-03-03 22:41:13 GMT
I've been using the services of MediaCenter as my web hosting provider for 3 years and I cannot say a bad word about them because they provide a decent service, but I've realized recently that I want more, specifically:
* SSH to do advanced system administration and secure file transfer
* Virtual Host configuration without the need to contact customer support
* Manipulating DNS records without the need to contact customer support and being able to use a name server other than theirs
The last few days were very demanding because I wanted to find the best shared hosting provider that fit the above needs.
The toplic of managed vs unmanaged hosting really hits home for me. Most users are not technically savvy so they prefer having a customer support to hold their hands, but it's an entirely different situation for me who uses computers since the age of 6. I don't wanna mail back and forth with anyone just to make something happen. As huge companies wanna satisfy the masses and clueless users constantly mess up their DNS records and contact the customer support, companies decide to disable manual DNS record manipulation and make the job of novices easier and mine harder. This is a common pattern to see, not only about DNS specifically, but about all services.
SSH is a serious filtering factor. There are very few providers who offer SSH because of the considerable security risk involved. There are about a dozen of them who seemed adequate. After further filtering them based on their hosting plans I could remove most of them who 1) offered very few addon domains, 2) who had all hosting plans longer than one month (all of them offer money back guarantee, but I don't trust anyone for the first time) and 3) who had lots of very bad reviews on a lot of site.
Review sites is a mixed bag. I think that the whole peer review concept is useless without some kind of metrics, like a trust network, just as Advogato does or like the online auction sites do. Unfortunately none of the review sites have any metrics so how could I be sure that their reviews are honest are not made by some marketing people posting good or bad reviews? There's no way to tell, but my method is to look for reviews that look pretty unique and google some parts of them. If I don't find any duplicates that's a good sign that it's a genuine review. I think this method is pretty reliable because most people are too lazy to post their reviews on multiple sites. I don't know whether I'm right, but I don't have any better ways to tell which reviews are trustable.
One should be very careful when evaluting providers. Nothing is unlimited and nothing is free, no matters what they state on their front page. You have to read their ToS no matter what! You can easily find out that they don't offer the money back guarantee - which they are so proud of on their front page - for shared hosting packages.
A2 Hosting seemed very promising and I was flirting with their hosting plans for a while so I tried them first. Everything seemed pretty fine until I realized how poor their foreign bandwith is. It's about 30 kbyte/sec, not something that I expected. They use CentOS, and the jailed shell was rather limited, but I could find a Midnight Commander package and make it work. Unfortunately there was no subshell because they don't offer devpts in a jailed environment. I left them because of their poor foreign bandwidth.
Ubiquity Hosting Solutions was my next try. They seemed to offer everything I needed based on their hosting plans. As I issued "who" from their command line I realized how few power user were present. A typical server of a big hosting provider has about 4 Xeon processors with 16G RAM and hundreads of user, but there were only about 2 or 3 users logged in through SSH. I could also detect a major security hole which allowed me to see the home directories of other users on the server. I could also see some public_html directores and the configuration files of various CMSes managed by other users. I could hack some sites, but I rather reported them the problem and they solved it within 24 hours. Unfortunately after realizing that they don't allow me to use any other nameserver but theirs, I moved on. This goes back to the sad topic of managed vs unmanaged hosting.
Webintellects was my next try. I was their customer for about two hours while I could easily figure out that they provide a ridiculously limited shell environment without procfs and sysfs.
Bluehost was my last hope. I don't think one can make up any company name that is more boring than theirs. I was more than surprised when I figured out that they provide the most powerful SSH of all times. I could build Midnight Commander from source, all the developer packages were present. One should be careful however because according to their ToS they can cancel the service if one overuses processing resources so I stopped make a several times and later continued. Bluehost provides devpts, so subshell works magically with the Midnight Commander. Their foreign bandwidth is also adequate so my journey of finding the ultimate shared hosting provider has succeeded.
After going through all the hassle one might ask me whether I am satisfied. Well, BlueHost provides everything one can ever ask from a web hosting provider, but there are limitations in such an environment. The one thing I'd like is to use SVN through HTTP, but I'm not allowed to use DAV with Apache on their servers. I think the next step is going to be a VPS. KickAss VPS has the best price and Business Services also seem promising, but I'm a little bit sceptical because they don't provide dedicated resources, neither compute time, nor bandwith. I don't wanna move to a VPS just to have SVN thorugh HTTP. Currently I use the services of SourceRepo for my SVN needs and I may move on to a VPS eventually.
You may also want to choose
Disclosure: I recieve compensation for this referral.
Update (2009-08-17): Now it is absolutely clear to me that Bluehost is ahead of the rest regarding shared hosting. Matt Heaton, the CEO of Bluehost have some incredible insights about performance issues in shared hosting environments and they're working on the kernel level to solve these problems. Here are his relevant posts so far:
The guy have been done a massive amount thinking about these issues and he deserves success.
I could build Midnight Commander from source, all the developer packages were present.
I neeed my MC in a shell. How'd you get by the dependency for GLIB on your Bluehost install? I've tried compiling both mc-4.6.1 and the newer mc-4.7.0-pre3 with the same sort of GLIB death:
checking for GLIB - version >= 1.2.6... no
*** The glib-config script installed by GLIB could not be found
*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GLIB_CONFIG environment variable to the
*** full path to glib-config.
configure: error: Test for glib failed.
GNU Midnight Commander requires glib 1.2.6 or above.
Unfortunately, I cannot recall the exact specifics, but based on the output it seems to me that the glib developer package is not installed on the host you're on. I'd install glib from source first and set LD_PRELOAD to ~/lib assuming you put the relevant files there.
I don't have a Bluehost account currently, so that's the most I can help so far.
Let me know how it works for you.
Elton: Adding any feed to Google Reader should be a no-brainer. I wouldn't like to hurt your feelings by deleting your comment but I will if you won't answer within about one week because I suspect that yours is an automated advertisement message.
I have used all of the shared web hosting providers as well and feel it might be time to upgrade to VPS or the Cloud. Just too many performace issues and the speed is simply subpar. But what do I expect when there are hundreds of sites on a server?
Well said, Russ. Shared hosting is shared hosting...
I figured that a VPS is not a perfect solution either because it gets slashdotted easily. An auto-scaling cloud service would be the best choice but those start from around $150 per month. Right now my plan is to move from Apache to ngnix on my Linode 512.