Tech Chorus Blog Hosting Story
By Sudheer S
The Tech Chorus blog, started by Sudheer Satyanarayana in 2008, has evolved through various hosting technologies and software over the years. This post captures that journey, highlighting the transitions, challenges, and decisions that shaped its infrastructure.
The Early Days: Drupal and LAMP
Back in the day, the blog ran on the Drupal content management system (CMS), a popular choice among developers. The LAMP (Linux, Apache, MySQL, PHP) stack dominated web hosting at the time, and Drupal was one of my favorite CMSes. The site was hosted on a cPanel server, making management relatively straightforward.
However, as time went on, maintaining Drupal became a challenge. Keeping up with security patches, updating plugins, and upgrading between major Drupal versions required significant time and effort. Eventually, I sought a simpler and more maintainable alternative.
Moving to a Static Site: Lektor
To reduce maintenance overhead, I transitioned to a static site generator. After some research, I discovered and fell in love with Lektor. With Lektor, I managed content locally on my workstation, generated the static site, and deployed it to an AWS EC2 instance running Nginx.
This setup eliminated many of the maintenance headaches associated with dynamic CMS platforms. However, over time, Lektor’s development and support dwindled, making installation and content generation increasingly difficult. When basic tasks became a struggle, I knew it was time for another transition.
Embracing Hugo
After evaluating alternatives, I switched to Hugo. So far, Hugo has proven to be a reasonable choice. It offers extensibility and customization options, though my initial expectations for an out-of-the-box experience were a bit high. That said, it’s a solid solution—at least until I find something even better.
The Current Setup: CloudFront, S3, and Automation
Today, the site is deployed using AWS CloudFront, with S3 as the origin. To handle URLs in Apache DirectoryIndex style, I leverage CloudFront functions. This setup requires minimal maintenance while keeping costs optimal.
While using a Content Delivery Network (CDN) often means relying on proprietary services like AWS CloudFront, open-source tools can still play a role in managing cloud infrastructure. I use Terraform as my Infrastructure as Code (IaC) tool to provision and manage AWS resources efficiently.
For automated deployments, I rely on GitHub Actions. Whenever I push changes to the repository, GitHub Actions handles the build and deployment process, seamlessly updating the site on S3 and CloudFront.
Final Thoughts
From a dynamic Drupal site to a fully automated static site deployment, Tech Chorus has come a long way. Each transition brought valuable lessons in scalability, maintainability, and cost-effectiveness. While no setup is ever truly “final”, this current approach strikes a balance between performance, ease of use, and automation.
What does the future hold? Only time will tell. But for now, Hugo, CloudFront, and Terraform keep Tech Chorus running smoothly with minimal effort.