Journey into the World of Static Sites - Launching My Blog with Hugo, AWS S3, and CloudFront
Note: This blog post was reviewed using AI for factual correctness and clarity. All content was tested in my private homelab to ensure accuracy.
Welcome to my latest digital adventure! ๐ After much tinkering and exploration, Iโve officially launched my personal blog โ and Iโm pretty excited about it. But this isn't just any blog. Itโs a peek into the fast, efficient, and scalable world of static websites.
Let me take you through how I built it using Hugo, and deployed it on AWS S3 with CloudFront for speed and reliability.
๐ Why Hugo?
Hugo is an open-source static site generator, and let me tell you โ itโs fast. What sold me on it was:
- Super quick build times
- Clean Markdown-based content workflow
- Great themes and customization options
- A strong community thatโs always helpful
Writing in Markdown means I get to focus on ideas, not fiddling with formatting. Hugo takes care of the rest, letting me
hit publish and move on.
โ๏ธ Hosting on AWS
When it came to deployment, AWS was a no-brainer. I wanted something scalable, reliable, and cost-effective โ and AWS checked all the boxes.
- S3 hosts all the static files โ it's simple and rock-solid.
- CloudFront acts as a CDN, caching my content across the globe and speeding up access for visitors no matter where they are.
Together, S3 + CloudFront gave me a fast, secure, and scalable setup with very little maintenance.
๐ ๏ธ Blog Setup Steps
Getting my blog live involved a few key pieces:
- ๐ง Creating and customizing the blog with Hugo
- ๐ผ๏ธ Choosing the Geekblog theme for its clean and minimalist aesthetic
- ๐ชฃ Setting up an S3 bucket for static site hosting
- ๐ Configuring CloudFront to serve and cache content
- ๐ Securing the site with SSL/TLS
- ๐ Connecting my custom domain to the setup
Once everything was wired up, pushing updates was as easy as running a deploy script. Pretty smooth!
๐ง Lessons Learned
Not going to lie โ AWS isnโt always plug-and-play. I hit a few bumps while configuring S3 permissions and tweaking CloudFront behavior. But those speed bumps turned into great learning opportunities. I now feel way more confident managing cloud-based deployments and CDNs.
๐ Whatโs Next?
This blog is just the beginning. I plan to write about:
- Engineering tips and DevOps workflows
- Adventures in cloud and infrastructure
- Personal stories and random geeky thoughts
Thanks for joining me on this ride. Hope to see you around!
Happy reading,
Zhengguang