Recently I’ve developed quite a fable for AWS. The sheer amount of services they offer fascinates me - plus my colleagues kept telling me about all the great features they found. I just had to try it. My first experiment was with EC2, RDS and a couple other periphal services to run a recent uni project based on Docker. At first I struggled with the permissions system, but other than that there weren’t any big issues. It was quite remarkable to see how much infrastructure we have at our fingertips. But of course I couldn’t stop there…
Which brings me to my second AWS project: my personal site! Amazon S3 is well known as being a ridiculously cheap storage option in the cloud. And the best thing is: you can host your whole web page directly from it and only pay a couple cents a month! If you setup CloudFront too you even get a free SSL certificate.
Many of the popular content management systems for the web currently are based on PHP (or a similar executing language). The cheap S3 hosting only applies to static content though, there’s no execution of any kind of app involved. That means my dear old Wordpress blog couldn’t survive. Writing pure HTML is no solution either. I needed something that can handle the templating, while I just write the content: an HTML generator.
Static site generators have been gaining quite some traction lately (sometimes you wonder if tech innovations are just one giant repeating time loop) and they promised to fix all of those issues. That’s why I sat down for a day and built a new site using Hugo. It’s a generator written in Go, which also is the foundation for two of it’s biggest advantages: it’s easy and fast. No complex installations, just copy the binary and start developing. It compiles huge pages in seconds!
Of course that comes with a downside: It doesn’t have an extensive modularity through plugins like Jekyll does, but I don’t need that. I’d much rather take something that’s easy to get going and works well on Windows (looking at you, Jekyll).
So here we are - a beautiful static page hosted on AWS.