Last updated on 30/06/2020
I need a blog! I wanted a place I could write up some of the more interesting technical stuff that I work on both to give back to the community but also to remind my future self what I did to overcome a problem, which, no doubt, I would forget about otherwise. Why did I choose AWS Lightsail instead of hosting my own WordPress install? Well, a few reasons.
When I first started looking at hosting a blog for Systems Mystery, I initially thought about using Jekyll to have a static blog hosted in an AWS S3 bucket. For those who may not know, Jekyll is a static site generator written in Ruby. In a nutshell, you create your blog in markdown language and generate the static HTML files, which are then hosted on either a traditional web server or in an S3 bucket. This can work well, it’s simple to set up, and markdown is (in my opinion) an accessible format to write in. However, I found that most of the themes and additional plugin functionality that I wanted to use was only available for WordPress. Don’t get me wrong, if another project I work on requires some kind of static site I would definitely consider using Jekyll for it, however this time around, Jekyll is not the answer.
The search for an alternative.
With Jekyll out the window as an option, I started to look into the alternatives out there. My first thought was to use Medium. This would give my blog a potentially broad audience, but I wanted something I could customise to my needs. I also don’t like Medium adding a large splash screen over the top of articles when a user visits the site. Medium, out. To mind, the only platform left was good old WordPress. I’d used WordPress before, can self-host, customise as I wanted and was easy to set up and manage. So, now that I have decided on my blogging platform of choice, the next question to answer is where do I host it?
AWS, the new home for my WordPress Blog.
Now that I know I’m going to use WordPress for my blog, my next decision was how I was going to host it. I decided to look into using AWS as, well, I’m an AWS fanboy! AWS is fantastic at publishing “Reference Architectures” and best practice whitepapers for deploying your project onto their platform. I’d recommend checking it out here.
AWS has a whitepaper entitled “WordPress: Best Practices on AWS” and a reference architecture on GitHub which goes through how to deploy WordPress on AWS. The problem? The reference architecture can get pricy! Below is the reference architecture diagram as per AWS’ recommendations.
An Application Load Balancer alone would cost me at least $20 a month. Even if I scaled it down to a single EC2 instance with the database installed on the same instance as the WordPress application, I’d still need that load balancer as I was planning on using spot instances to keep the cost of the compute down. As much as I would have liked to create a whole infrastructure to host the blog, I don’t think I can justify the cost at the moment (unfortunately).
Lightsail to the rescue.
After coming to the realisation that I couldn’t justify the cost of running my own WordPress infrastructure, I found out that AWS offers another service called Lightsail. Lightsail, according to AWS, is “…an easy-to-use cloud platform that offers you everything needed to build an application or website, plus a cost-effective, monthly plan“. What’s even better is the pricing. Plans start at $3.50 a month. I also have some unused AWS credits in my account, which can be used towards the cost of Lightsail. So I decided to give it a go. I have to say, so far, I’m really impressed with how easy Lightsail has been to set up and use. I will put together another blog post about how to go about setting up a WordPress blog on Lightsail, but in the meantime, you can check out more information about Lightsail here.