DB를 버리고 텍스트 파일로 돌아가다: Hugo 선택 이유

Dev

이전 글에서 언급했듯, 저는 제로보드부터 워드프레스(WordPress), 개인 미디어위키(MediaWiki)까지 다양한 툴을 거쳐왔습니다. 하지만 이번 블로그는 정적 사이트 생성기(Static Site Generator)인 Hugo로 구축했습니다.

가장 큰 이유는 ‘데이터베이스(DB)에 대한 피로감’ 때문입니다.

1. DB 관리의 부담과 백업의 어려움#

CMS를 운영해 보신 분들은 아실 겁니다. 웹 페이지 소스 코드와 콘텐츠(DB)가 분리되어 있다는 것이 개인 운영자에게 얼마나 큰 부담인지요. 파일처럼 단순히 복사-붙여넣기로 백업이 되지 않고, mysqldump를 떠야 합니다. 글의 내용, 작성 시간, 제목이 테이블 여기저기에 흩어져 있어 DB 파일만 봐서는 내용을 직관적으로 확인하기도 어렵습니다.

2. 형상 관리(Git)의 부재#

엔지니어로서 가장 답답했던 점은 ‘변경 추적’이었습니다. 워드프레스에서 글을 수정하면, 언제 어디가 바뀌었는지 명확히 알기 어렵습니다. 반면 Hugo는 모든 글이 마크다운(md) 파일로 존재합니다.

  • ** Git 연동: ** 글을 작성하고 수정하는 모든 내역을 Git으로 관리할 수 있습니다.
  • ** File-based: ** 텍스트 에디터만 있으면 언제 어디서든 글을 쓸 수 있고, DB 접속이 필요 없습니다.

3. 본질에 집중하기#

정적 사이트라 댓글 같은 동적 기능이 아쉽긴 합니다. 하지만 제 블로그에 댓글이 폭발적으로 달릴 것 같진 않아서(웃음), 쿨하게 포기했습니다. 혹시 필요하다면 Giscus 같은 도구를 붙이면 되니까요.

복잡한 빌드나 배포 환경 구축에 대한 이야기도 하려 했으나, 서론이 너무 길어졌네요. 결론적으로 저는 “내가 쓴 글과 작성 시간”이라는 본질만 남기고, 나머지 복잡한 관리 요소들을 걷어내기 위해 Hugo를 선택했습니다.

다음 포스트에서는 실제 배포 구성과 파이프라인에 대해 다뤄보겠습니다.