Host a website
Host a website for almost free

Sep 2015

You’ve created your own pimpin’ website and now want to host it. There are lots of companies offering hosting packages and the typical entry-level package costs around $8 / month for which you can expect to get a very basic Linux machine, a couple of GB of storage and about 20GB of monthly traffic.

Amazon Web Services (AWS) let you host static sites from your S3 bucket (S3 is basically a cloud storage drive, similar to Google Drive and Dropbox). To host your static website, you configure an Amazon S3 bucket for website hosting and then upload your website content to the bucket. The website is then available at a URL generated by Amazon. When you sign-up to AWS, for the first year you’ll get 5GB storage for free, after that it costs only $0.03 /GB/month. Yeah, I had to check that decimal place too. The first 1GB of website traffic a month is free, after that it’s $0.09 /GB. So the AWS cost of 2GB storage and 20GB traffic is about $1.86/month; and don’t forget that the first year is free!

What's the catch?

This S3 solution only works for static websites. By contrast, a dynamic website relies on server-side processing, including server-side languages such as PHP, Python, or ASP.NET. Also, if you need a database (e.g. to store reader’s comments) then you’ll need a server to host the database, that can’t be done on S3.

The majority of home pages and web portfolios don’t actually need a back-end. This website is hosted on Amazon S3, and I certainly don’t miss a dedicated back-end server. It’s a really cheap solution and it’s running on high-grade Amazon servers plus I love the fact that website requests are lightning fast. I’d previously been with 2 different hosts (on dedicated packages) but the load time of my website was relatively slow and I would have needed to upgrade to one of the far more expensive packages to get a higher bandwidth connection.


A typical static site would have every page created by hand, and a small change like modifying the header bar would be a nightmare to propagate across all your pages. Server-side frameworks, like Django, offer templates which are really useful as it means that you only need to change your code in a single place - the template - and all the associated web pages will be updated. You can replicate this behaviour by using Jade and compiling your web site to HTML. It’s a neat language and is very clean. Once you’re using it, plain old HTML will look ugly and verbose.

If you’ve read this far, hopefully this post has been of use. If you’re thinking of taking the plunge, it’s free for a year and the Amazon docs are great.

Good luck!

Please enable JavaScript to view the comments powered by Disqus.