Developer of the interwebs, advocate for technology for good and awesome, enjoyer of fine ales and good food.
17 Apr 2014
Wondering why I'm blogging about this? Read more about my quest for badges!
Getting hosting for a website is an essential step to making it available for the world to see. Unfortunately for a newcomer, this can be a minefield to navigate. I'm going to briefly explain about the most common type of hosting for someone looking to get started in the world of websites, and then I'll leap into explaining the three (yes, three) different types of hosting that I personally use.
First up, shared hosting. If you grab a cheap and cheerful hosting service from the vast majority or providers out there, this is what you'll get. With shared hosting you will end up with a bit of space on a webserver shared with several other customers (hence the name), which is the ideal solution for if you're just starting out. You won't need anywhere need the full power of even the most lightweight of modern servers, and shared hosting is configurable enough and offers enough features for you to start hosting things and also try out some more advanced features (like scripting languages and databases) when you feel up to it without breaking the bank.
I spent many years using shared hosts before migrating to different platforms because they better suited my needs. Whilst they are nice and cheap to get going with, however, you do need to watch out that you're not going to end up stung with extras. Some hosts will give you basic hosting for a very low price, but then start racking up the cost with extras which aren't strictly necessary (and which you'll probably never use) but which look good on paper.
My hosting is spread over (at the time of writing) three different providers: the Rackspace Cloud, Pagoda Box and GitHub Pages. These three providers serve three different needs, all cost differently, and are all worked with in a different way, which I'll summarise.
Rackspace is the most 'traditional' hosting platform, at least in the way I use it. I use Rackspace to provide me with a single virtual web server (in which I control everything from the operating system up), which I then use Virtualmin to slice up exactly the same as a shared hosting provider to then run several different websites on. In effect I'm running my own shared hosting service for myself, because I like the extra control which most providers won't offer. I tend to use Rackspace for websites I run which are either very small and which don't need much looking after, or at the other end of the scale for websites which need more configuration or which use specialised bits of software to do their thing.
For several other sites, I use Pagoda Box. This is a totally different way of thinking about web hosting, which is probably not where you want to be if you're just getting used to things. With Pagoda Box I define a lot of aspects about the hosting in the code itself, which is then uploaded using git as a revision control system. Pagoda Box is mostly used for sites which I share with others, where we need to be able to reliably and repeatably deploy our code in a tightly controlled environment. In terms of pricing it weighs in below Rackspace when taken site-by-site, and the free tier works perfectly for developing, but each new site costs independently if you want it to be instantly available without a 'spin up' if it's been idle for a while.
Finally, GitHub Pages provide me with the hosting for this site you're reading right now. GitHub Pages are totally free, but lack any kind of server-side processing capacity and only serve static pages. This is ideal if you're just using straight HTML pages or if (like this blog) your site uses the Jekyll pre-processor to 'render out' your site to static HTML. However, to get your hosting up and running you'll need to at least vaguely familiarise yourself with the same git revision control system that Pagoda Box uses. It's something which I'd strongly recommend anybody doing coding of any kind learns the basic principles and use of (since it makes life super easy), but it's not necessarily as simple as just slinging a file around by FTP.