Skip to main content
  1. Projects/

Deploying a Static Site with AWS

Table of Contents

Creating an online presence often involves not only the content but also the infrastructure that delivers it seamlessly. In developing my personal website, I sought an efficient and scalable deployment system that would ensure reliability and easy updates. I achieved this using a dynamic yet straightforward architecture.

The Tech Stack
#

At the core of my deployment system lies Hugo, a static site generator that enables rapid development and easy maintenance of my website’s content. Leveraging Hugo allowed me to create a performant and content-rich site with ease.

AWS S3 and Route 53
#

I chose AWS for its robust services and scalability. The static nature of my website made AWS S3 an ideal candidate for hosting. S3 provided a reliable and cost-effective solution for storing and serving static assets.

To ensure users easily access my site, I utilized Route 53, AWS’s scalable DNS web service. This enabled me to manage my domain’s traffic efficiently and direct visitors to my site hosted on S3.

AWS CodeBuild and GitHub Webhooks
#

Automating the deployment process was key to maintaining a seamless workflow. AWS CodeBuild became an integral part of my deployment strategy. I configured CodeBuild to trigger deployments automatically whenever pull requests were merged with the main branch of my GitHub repository using github webhooks.

Benefits and Scalability
#

This deployment system brings numerous advantages. The static hosting in S3 ensures low latency and high availability. Additionally, the seamless integration of Hugo, GitHub, and AWS services allows for rapid updates and version control while maintaining cost-effectiveness and reliability.

The use of AWS services provides scalability, ensuring that as my site grows, it can easily handle increased traffic without compromising performance.

In conclusion, this deployment architecture employing Hugo, AWS S3, Route 53, GitHub, and AWS CodeBuild has allowed me to establish and maintain a high-performance website with minimal operational overhead.

GitHub Repository for Project