This is more tactical and technical than I'd like for this blog; but anyone looking to start-up a web application runs into this type of issue.
Impartial reviews on shared web hosts are hard to find - they're buried under a ton of commercial review sites which sell their souls to whoever gets them the fattest referral check.
So I'm sharing here my own experience at selecting a shared web hosting provider - hoping it will help someone at some point.
What do you need it for?The first step in selecting a web host is to understand what are your requirements.
These requirements are typically in terms of technology stack (LAMP vs. .Net vs. Java vs. YouNameIt), disk space, bandwidth, computing power, and up-time/reliability.
The web application I was looking to deploy is based on fairly standard architecture:
Some PHP/MySQL, with the meat of the application being a fairly chunky Flex/Flash file (.5 MB in size) that spends most of its time querying the net to retrieve analyze and aggregate RSS feeds and other
REST-based data.
Because of
cross-domain security restrictions, most of that traffic needs to be proxied through my own server(s) before being able to reach the browser/Flash application.
My requirements bottom line is this:
a. I need a ton of bandwidth, but
b. I don't need much disk space or computing power: most of the action is happening in the browser/Flash client.
c. I need a standard LAMP stack (with PHP5.x and MySQL5.x)
Scalability and load-balancingWhile the odds of overwhelming success are definitely not in my favor; I'm a firm believer that
you need to prepare for what you're wishing for.
So, if overwhelming success means overwhelming bandwidth consumption; I'd better think about the problem in advance.
The solution I've devised consists in doing some poor man's load balancing:
a. have the html/php pages and database hosted on a very fast and reliable server
b. have the flash files as well as associated RSS proxy traffic distributed onto dumber/commodity servers
More contenders than I'd like to deal withSo far, in the past 3 months, I've tried a total of 6 shared hosting providers.
My primary sources for trying them has been
dumb google searches and
netcraft.
Netcraft is the best source I've found for starting your selection of shared web hosts: they report on actual quality of service and seem to be impartial.
However, you ultimately need to go for a trial in order to see what you're getting.
Here's the run-down - in the order I signed-up with them:
.
LaughingSquid [http://laughingsquid.net/]Plans are anywhere between $8 and $14 per month; but bandwidth is constrained to 60GB/month.
This is a great thing if you're not bandwidth hungry - it means no-one else is hogging on the wire while you're being civilized.
They're based in San Francisco, cater to artists and bloggers, and clearly state that they don't want your business if you're going to suck down their servers.
The fact that they enforce a strict policy while not being dirt cheap turns out to work pretty well if your requirements are met: tech support is very good, and server response times are always great.
They mention that their servers are actually hosted by
rackspace.com; which led me to host #6.
.
aplus.net [http://www.aplus.net/] - offers a $7.46/month LAMP plan where you get 2000GB of bandwidth.
I ran into a technical issue; and their tech support wasn't able or willing to address.
So I moved on.
Cancellation and refund was without any hassle.
.
1and1 [http://www.1and1.com] - is another big provider with attractive packages - 2500GB of monthly bandwidth for under $10 a month.
The tools are great; but instructions are sparse.
Tech Support is available 24/7, but they seem to be using cheap IP phone lines; so on one instance I just couldn't understand what the Tech Rep was saying on the other end of the line - I ended-up sorting out the problem myself.
Server response times were often 10x of those experienced with LaughingSquid. So I canceled.
The cancellation process was a bit funky for me -requiring 3 emails and the same number of phone calls- but in the end I did get my refund.
.
PowWeb [http://www.powweb.com/] - provides unlimited bandwidth for under $8/month
The tools they offer are very good; and their tech support was top of the line.
Just like 1and1; server response times were often 10x of those experienced with LaughingSquid; and just like 1and1, the cancellation process was a bit funky but I did get my refund.
I did get the overall feeling that they were truly concerned about delivering great value.
.
Yahoo small business hosting [http://smallbusiness.yahoo.com/webhosting/]- also offers unlimited bandwidth for under $10/month
Server response times are pretty good.
I ran into 2 limitations:
1. You can only send 250 emails per day from any email account (that's their way of preventing spam). The trouble is, my registration process includes an email confirmation, and in my dreams, I get more than 250 registrants per day (hasn't happened just yet)
2. They offer PHP4 support, but no PHP5 - and all my script were developed on PHP5.
This is where I currently host the Flash file and proxy the RSS traffic.
.
Mosso.com [http://www.mosso.com/] - Mosso is Rackspace' shared hosting division. Much like Amazon Web Services [
aws.amazon.com] it's a pay-what-you-use type of service.
It's not cheap: $100/month gets you 500GB of bandwidth (and more diskpace and computing cycles than I need).
Except for one instance where the tech guy was unresponsive, Tech Support has been top of the line.
And, I do get the best server response times.
This is were my html/php pages and MySQL database are currently hosted.
And the winners are...It again really depends on what you need:
. If you're OK with limited features, but want dirt-cheap bandwith, go with Yahoo SMB Hosting
. If you need great service, great response times, and don't need a ton of bandwidth or diskspace; LaughingSquid is your choice
. Lastly, if you need a lot of bandwidth, great features, good tech support and great response times, then you'll need to pay for it, and mosso will be a good place to start.