tips-computer-webhosting

SUMMARY (by type of service)

personal website/low-traffic hosting: nearlyfreespeech.net

budget shared hosting: dreamhost

cheap VPS (Xen): vpsvillage (a brand of grokthis) (one step more expensive but still considered "cheap VPS" ($20/mo): haven't fully researched yet but maybe slicehost, linode, knownhost, serveraxis, powervps, rimuhosting, or others)

midrange web application shared hosting: ?haven't researched much yet; maybe grokthis?

(were i to host a "standard" site (i.e. mostly static, a little dynamic, but not using too much CPU, really high uptime not a concern), i'd use dreamhost. were i to host a "very dynamic" Python site (such as the filters site), i'd start out using grokthis, either VPS or shared)

dedicated server: ?haven't researched much yet

domain name registrar: moniker (if i get the discount i'm seeking), otherwise namecheap

DETAILS

TYPES OF HOSTING

shared hosting (fixed monthly fee), shared hosting (pay as you go), VPS, dedicated, colo

shared hosting (fixed monthly fee): Tens to hundreds or thousands of clients share a server. They each pay a fixed monthly fee.

shared hosting (pay as you go): Like the above, but instead of a fixed fee, clients pay according to how much bandwidth and disk space, etc they use per month. nearlyfreespeech.net is the only one i saw that does this. This seems to be the best deal if you have a low-traffic site.

VPS: virtual private server. A bunch of clients still share the same server. But using virtualization technology (seems to be usually Virtuozzo, VMWare, Xen, or OpenVZ?), it appears to each client as if they are root on their own machine. So this is the most developer-friendly kind of shared hosting. In addition, this tends to be higher-end, so the provider tends to put less clients per machine.

Dedicated: Client rents a server all to themself

Colo (co-located): Client rents a space with the provider, and they supply the server

DETAILS ABOUT THE COMPANIES RECOMMENDED IN THE SUMMARY

nearlyfreespeech.net

This is pay-as-you-go. If you have a typical personal website, i.e. low-traffic, then this is actually cheaper than the "cheap" fixed-monthly-rate shared hosting plans. If you are high traffic, then it is more expensive. But you can't get surprised; you deposit money beforehand, and if it runs out, your site is cut off (they don't suddenly charge your credit card for $1000). Seems fast and developer-friendly (by which I mean that they give ssh access, have lots of software packages installed, seem amenable to adding new stuff for you, and have technical knowledge about this sort of thing). A superficial search on webhostingtalk and on Google didn't turn up anything damning (I found a few complaints, but I thought the complainers were being silly). They are strong supporters of free speech, which I thought was cool. They are bookmarked by a lot of people in del.icio.us. This guy and some of the commentors liked them: http://hostingfu.com/article/nearlyfreespeech-net-2-weeks-review

This guy and many of these guys say they have a weird technical configuration that can make running dynamic stuff complicated.

update: i've been using nearlyfreespeech for this website for years and they're great. I haven't tried installing anything even remotely complicated (not even anything that uses a database), though. Note that over the years they've added some options that you may want to be aware of: (a) for most people it's cheaper with the 'stochastic pricing' option (which is part of the site server type selection), and if your site is static, be sure to select a server for static web sites, to avoid the $0.01/day dynamic site fee, (b) you should set a 'retention period' and a 'suspended animation' period to make your account will survive if you are unable to be reached for awhile.

dreamhost

(as of many years ago)

Seems to be the default choice of shared webhost. Lovable. Used by lots of people. Nerdy vibe. Perhaps the most developer-friendly of the big-name cheap shared webhosts. Transparent -- they talk about the technical aspects of their company on their weblog. Employee-owned. Was highly-recommended a few years ago, but more recently people have been saying that they have lots of downtime, both in terms of massive outages (such as in July 2006), and individual servers and services going down. Also, for some people they are slow (depends on if you happen to be sharing a server with another CPU-hungry client). Generally thought to be too flaky to be suitable for business.

Some of the other big-name cheap webhosts seem to have more uptime and get better user reviews (such as lunarhost and hostgator). But many of these are not as developer-friendly, and none of them have such a nerdy vibe.

Here's a post about dreamhost: http://changelog.complete.org/posts/497-Disappointed-with-Dreamhost.html

EIG shared hosting

a small orange

offers shared hosting among other stuff. noted by http://reviewsignal.com/webhosting/compare and http://lifehacker.com/5911651/five-best-web-hosting-companies . However, commentors note that it was bought by EIG ( https://en.wikipedia.org/wiki/Endurance_International_Group ) and claim that EIG ruins any hosting service that it buys.

however http://www.reviewpon.com/endurance-international-group/ claims that so far EIG has let A Small Orange run independently so maybe it's still good. According to http://enduranceinternational.com/our-company/our-brands/a-small-orange, as of Mar 2014 A Small Orange has a job opening in Texas. Here's the CEO's blog: http://douglashanna.com/

hostgator

offers shared hosting among other stuff. noted by http://reviewsignal.com/webhosting/compare and http://lifehacker.com/5911651/five-best-web-hosting-companies . However, commentors note that it was bought by EIG ( https://en.wikipedia.org/wiki/Endurance_International_Group ) and claim that it suddely became terrible.

bluehost

offers shared hosting among other stuff. noted by http://reviewsignal.com/webhosting/compare and http://lifehacker.com/5911651/five-best-web-hosting-companies . However, commentors note that it was bought by EIG ( https://en.wikipedia.org/wiki/Endurance_International_Group ) and claim that EIG ruins any hosting service that it buys.

reddit webhosting sidebar

The reddit http://www.reddit.com/r/webhosting/ sidebar has some recommendations; the commentators in that reddit seem to like them all.

linode

The category killer for VPS hosting. Apparently Linode support is really excellent.

digital ocean

cheaper VPS hosting than linode but still good (but the rumor is that support is not QUITE as good as linode).

WHERE TO GET INFORMATION

You can also check out whether the Better Business Bureau (www.bbb.org) has anything to say about a given business. The company that stands out the most this way (for shared hosting) is lunarpages, which according to the untrustworthy sites gets good user reviews. Also hostgator.
Godaddy and 1&1 are cheap and 1&1 at least has good uptime, but people have had bad experiences with both.
This "meta-review" site looks particularly good: http://www.consumersearch.com/www/internet/web-hosting/index.html

A lot of this stuff is probably geared towards shared hosting, since that's the cheapest kind.

MODIFIERS

Overselling: promising more than you have. For instance, dreamhost advertises terabytes of diskspace and bandwidth limits per account for their cheap shared hosting. This is similar to the limits of dedicated servers! So clearly, they are betting that most clients won't even get near the limits. This is all well and good, but the question is, if you do get near the limits, what happens? In many cases, there are "hidden limits" that you inevitably hit before reaching the stated limits. CPU time is the most talked-about one. With hundreds or thousands of clients per server, each application had better only use a tiny fraction of the CPU time for that server. If you use too much, shared hosts call you a CPU hog and kick you off, often without prior warning. Apparently even common CGI-driven applications like Wordpress will tend to exceed their allocated CPU time before they hit terabytes of bandwidth.

Burstable: The max amount of something that you can use for a short period of time. For instance, if you are on a VPS, they might tell you that you have 64MB of memory, but that it is "burstable" up to 512MB. This means that you are guaranteed 64MB at all times, but that there is some shared memory on the machine too, and if none of the other clients on your server happen to be using it, you can use some of that sometimes.

Managed: The hosting company looks after your website; they get it back up if it goes down, etc. "Unmanaged" is the opposite; they are only responsible for the network and the hardware, and you are responsible for keeping your website running.

Uptime: the percentage of time that your website is up. Even the cheap places tend to say that they have 99.95% uptime, although many of them don't, according to the statistics sites, and according to user stories it seems like it is not very unlikely that a given unlucky individual user will get even less than that. I expect that the more expensive hosts advertise 99.95% too, but actually deliver it. Business-class hosting often advertises 99.99%, and sometimes more (99.999%, etc). Higher end places advertise "true 100% uptime", which is of course ridiculous (even Google goes down sometimes: http://uptime.pingdom.com/site/month_summary/site_name/www.google.com).

SLA: Service-level agreement. When a hosting company agrees to pay you when they deliver less uptime than they promise. Disturbingly, often you hear that even companies who offer SLAs refuse to pay up! In general, what they agree to pay is only a small fraction of lost profit for website downtime anyhow, so generally SLAs don't mean much.

CHARACTERISTICS OF SPECIFIC TYPES OF HOSTING

SHARED (fixed monthly rate)

I heard bad things about cheap shared hosting webhosts. Overselling was the main thing. Also many of the shared hosts go down a lot (not their whole network, but individual servers). Of course some of this comes from the people at webhostingtalk, who are generally proprieters of small, more expensive webhosting companies. The CEO of one of the big cheap ones (bluehost, which is the same company as hostmonster) posted that he disagreed and that he thought bluehost provided the same level of shared hosting for $7/mo that the smaller guys did for $20/mo, through economies of scale. But I don't know whether to believe him because he gives off that overconfident CEO vibe.

Big-name cheap shared web hosting (fixed rate) is about $5-8/month. No-name cheap shared webhosting (fixed rate) can be that much, or can be around $2/month, with a sizable number being even cheaper than that.

Many of the cheap shared hosts don't allow shell access and don't support the kinds of Apache configurations that allow Python to run efficiently (mod_python, FastCGI?) -- although many do.

The no-name shared webhosts in addition have the reputation of sometimes going out of business quickly (apparently the average lifetime of a webhosting company is two years). Apparently one business model is to start a webhosting company, buy a single computer, advertise really low prices to get people, stuff 1000 accounts on that one computer, then sell your company to someone else (because you have so many paying clients and such low costs!). This sort of thing is not sustainable, so the clients lose out.

One step up from cheap shared is "business-class shared" (I made up that name). These portray themselves as smaller firms that give you better service and better uptime. You get much less bandwidth and diskspace than, say, Dreamhost gives you, but the idea that you'll be content because this host can actually deliver what it advertises. I wasn't looking for this, so I may be wrong, but it seems these guys are more like $20/mo.

Then there is "application hosting". This is a host that is good for web applications, i.e. CGI-driven websites. These applications consume more CPU time, meaning that you can stuff less of them into a single server. Also, various web programming languages and frameworks require special stuff to be installed by the server admin, and the application hosting guys permit/are familiar with/already have that stuff installed/are willing to install other stuff that you want.

One thing that you are supposed to worry about with shared hosting is that if another client on your server gets a lot of traffic or eats a lot of CPU time or is DDOS'd, your site will also slow down (or go down).

I assume that as you move to higher and higher-end shared hosting, eventually you can get to a point where there are only ten or so clients per server, or even less.

Really high-end shared hosting has shared clustered servers, which provide failover, redundant fault-tolerant storage, etc. The keyword here is "high availability" (HA).

VPS

VPS can be seen in a few ways:

One benefit of VPS is that you don't have to worry as much about other people on your server taking up all of the CPU time/bandwidth/memory, because the virtualization software isolates you from them fairly to some degree.

One cost is that the virtualization overhead can be huge (as much as 40% according to this: http://slashdot.org/article.pl?sid=07/03/29/1219218; 10% is the number by a pro-Xen site: http://www.xensource.com/xen/xen/faqs.html#p5); and maybe see also http://blog.realmetrics.com/2006/11/are_shared_host.html).

VPS vs. dedicated. I haven't read up on this much, but at least one person argues that a high-end VPS is better than a low-end dedicated server: http://hostingfu.com/article/dedicated-or-virtual-private-servers

$20/mo seems to be the "standard" rate for a decent VPS, but you can get better ones for more.

Costs for everything seems to have fallen over the years. I anticipate that in coming years, VPS costs will continue to fall, in fact precipitously, because virtualization is getting a lot of attention; and also because, at $5-15/mo, low-end VPS has just recently hit a crucial price point where masses of individual programmers like me will want to rent them for personal use. Also, note that, being a parallelizable kinda thing, costs will continue to fall according to Moore's law.

Random link:

Types of virtualization

DOMAIN NAME REGISTRARS

The ones that people on namepros (which is the analog of webhosting talk for domain names) like the most right now are moniker and namecheap. Moniker gives a discount to people with accounts on namepros).

Some people on namepros like godaddy too, but they're evil: http://nodaddy.com/.

INSTALLING SOFTWARE ON SHARED HOSTING

Here's how to install Ruby gems: http://blog.juliankamil.com/article/26/installing-your-own-ruby-gems-in-a-shared-hosting-environment

www.example.com or just example.com?

For UI purposes, you probably would prefer URLs like http://example.com over http://www.example.com, but there's a quirk in the DNS system that makes the latter preferable. Namely, you can't put a CNAME on the root of your domain (e.g. example.com), only subdomains (e.g. you can put a CNAME on www.example.com). A CNAME is like a symlink. So, if you want to delegate part of your domain to some other server, you can delegate subdomains, but you can't delegate the root.

(note:the root is sometimes also called the "origin" or the "naked domain"; to refer to the root in a DNS record, use "@")

Therefore, you get more flexibility for the future if you redirect the root to www., rather than the other way around. Google does it this way, btw; http://google.com redirects to http://www.google.com.

One place where you may need to do this is if you use Google Apps, or Google Appengine. For those guys to work, you need to CNAME your external domain to a Google server. And you can't CNAME your domain root.

301 or 302 redirect?

Apparently 301 is better, because, being "permanent", it is listened-to more. Apparently some search engines disobey non-301 redirects sometimes and instead try to stay on the old site. I don't really understand this, so i may be wrong.