Journey into the World of Static Sites - Launching My Blog with Hugo, AWS S3, and CloudFront

DevOps

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