I decided earlier this summer that I wanted to create a personal website. I had little previous experience with web development, but had a good idea of my desired requirements:

  • Full control of the site and its source
  • A minimal static design (i.e. no back-end)
  • Robust site security and deployment
  • Low cost

I had assumed that my requirements would force me to gain a proficiency in web design and development. I did learn a significant amount, but am happy to report that creating such a website can be fairly effortless with the help of some tools.

AWS Services

I chose to set up my domain name and web hosting with Amazon’s cloud-based web services (AWS). Amazon provides helpful tutorials and white papers to guide the uninitiated towards setting up a website. I registered my domain name with Route 53, placed an html file into an S3 bucket, and deployed it. It only took a few hours of work to have a live website!

But there are two more AWS services that are relevant: CloudFront and Certificate Manager. CloudFront allows you to route site traffic through a network of edge locations; the bottom line is that it improves the efficiency and security of your website deployment. Certificate Manager will allow you to set up an SSL encryption for your website. The SSL encryption isn’t exactly mandatory unless sensitive data is involved, but it’s a free, low-hanging fruit.

Jekyll

My next step involved learning the basics of HTML and CSS. These markup languages are straightforward to learn, but it was immediately apparent that creating my website from scratch would be futile. Luckily, there are static site generators for this very purpose.

This leads me to Jekyll: it provides great functionality right out of the box, and you are free to customize any/all of it. Jekyll provides a local development environment allowing you to develop and test the website offline. And Jekyll’s support of Markdown and Liquid streamline development efforts.

Conclusion

To wrap up, I will say that I am very impressed with the quality of tools/services available to build a website at low or no cost. I admit that I didn’t learn as much as I thought I would when I started this project, but am pleased to say I didn’t have to.