Going Serverless

+


My website has been offline for pretty much 5 months or so, simply because I wasn't using it all that much and the AWS credit that I had, finally ran out and those $40 of services that I was running (and being billed for) every month just wasn't really affordable.

One of my colleagues at work happened to mention hugo, I had a look into it and it looked moderately easy to migrate over from wordpress. You end up with a generated folder of content that you can host in s3. Stick a cloudfront distribution in front of it and you can have secure connections.

Throw codecommit, codebuild and code pipeline into the mix and you can have hugo dynamically rebuild your site every time that you commit to the repository.

All of the content is written in markdown. Ir's fairly easy to learn and is obviously used a lot in confluence and wiki sites. I simply clone the repo, create some new files, commit and push, codedeploy is triggered and hugo generates the site, it's copied to s3 and the cloudfront distribution is invalidated, forcing a recache.

Seems to work well, I've learnt a bit about go and have also learnt about the way that the themes work, with overrides being available at multiple points to static content, css and page layout.

I've gotten my featured pages to work. I've gotten something of a gallery up and running but I need to go through my pictures and get all that sorted properly. It'll take a bit of time.

It's going to cost pennies to run and has given me a nice little intro to CI/CD and build pipelines.

Oh and I'm not running a database server anymore, I don't have to keep two ec2 instances up to date and I don't have to worry about the security flaws contained in a wordpress installation and all of the plugins therein.

You can git clone your codecommit, run hugo in live server mode, make changes and see how things will look before you push back, meaning that you can do all of your development offline if you want to. Handy.

Pretty awesome, even if I do say so myself :D

comments powered by Disqus Share on: