Hosting a website is cheaper and simpler than it has ever been. You can host a WordPress blog for free on wordpress.com, but that approach comes with significant limitations on using your own domain and monetizing your site; eventually WordPress will want you to start paying for things.
Using other hosting providers often entails signing up to a year-long contract, and unless you are prepared to pay for more than a basic account, the level of control you have is limited.
If you aren’t expecting your blog to have huge amounts of traffic in its first year, and you are prepared to exchange convenience for flexibility and control, Amazon Web Services Free Tier is an excellent way to test the water before making a financial commitment.
Amazon Web Services (AWS) is Amazon’s Infrastructure-as-a-Service platform. At the most basic level, it offers the ability to create and use virtual private servers, with full root access, and only pay for what you use. AWS offers a great deal more than this, including load balancing, database services, email services, and so on; everything necessary to set up a network in the cloud, but for our purposes, all we need to use is the Elastic Cloud Computing (EC2) service.
If you use a server (known as an instance) for three hours, you only pay for three hours. If you are a new AWS customer, Amazon will give you 750 hours per month use of their lowest powered instance (the micro instance) for free each month, which is enough to run the instance constantly. They will also include more than enough free storage space for a simple blog.
Be warned though, if you are looking for a quick and convenient way to deploy a blog, with minimum hassle, EC2 is not for you. You will get no hand-holding. However, if you’d like a fully-functional server to do with as you will, with no financial outlay for a year, then give it a try; it costs nothing and you can experiment as much as you want.
The first thing you will need to do is visit aws.amazon.com and create an account. When you have an account log into the AWS Management Console and click on the EC2 tab. It looks confusing at first, but there is excellent documentation, which will walk you through setting up a server. The terminology can be especially baffling, so here’s a quick guide.
- An AMI is an Amazon Machine Image. You can think of it as a template for a server. It contains a copy of a server’s hard drive in its initial state and some other information to help with the setup. There are thousands of different AMIs to choose from, including ones that have a LAMP or WAMP stack with WordPress set up and ready to go.
- This is your running server.
- Elastic Block Storage
- This is your instance’s hard drive. It’s different to an AMI in that it can be changed. You can install software to the EBS. You need to be careful here because the EBS that makes up the root partition of your system will, by default, be deleted if you terminate the instance, but you can either change the options to make the EBS volume persistent or make a snapshot of it so you can just create another instance whenever you need.
- Elastic IP
- To connect to an instance with your domain name, you will need an IP address, which Amazon will provide upon request. Somewhat counter-intuitively, you will be charged for an IP address if you reserve it but don’t use it. While it is connected to your instance, you won’t be charged for it.
Once an EC2 instance is up an running, it can be treated like any other server. From Windows you can use Putty to connect by SSH and install software like WordPress, set up an FTP server to upload files, and so on. If you are lucky and your website does become popular, it is possible to upgrade your server in minutes to a more powerful instance type (for which you will be charged), and if the traffic dies down, you can just easily revert to the less powerful free instance.
AWS is not for everyone, it has a steep learning curve, and a lot of options, but if you want to learn how to run a server and need maximum flexibility and control for your site, it might just be the perfect solution.