woojae.dev

Building

왜 woojae.dev를 정적 콘텐츠 허브로 시작했는가

서비스, 실험, 프로젝트와 글을 한곳에 연결하면서도 운영 복잡도를 키우지 않기 위해 선택한 Astro와 Cloudflare 중심 구조를 정리합니다.

AstroArchitectureCloudflare
카테고리
Building
발행일
2026.07.17.
최근 업데이트
2026.07.17.

개인 사이트를 만들 때 가장 먼저 정한 원칙은 모든 기능을 하나의 거대한 웹 애플리케이션에 넣지 않는 것이었습니다.

메인 사이트가 맡는 역할

woojae.dev는 Services, Lab, Projects, Writing과 About을 연결하는 공개 허브입니다. 이 정보는 변경 이력을 관리하기 쉽고 빌드 시점에 검증할 수 있는 Markdown을 원본으로 사용합니다.

정적 페이지는 Astro 컴포넌트로 구성하고, 복잡한 브라우저 상태가 실제로 필요한 기능에만 React Island를 사용합니다. 현재 홈과 핵심 경로, 테마 전환과 sitemap은 별도 백엔드 없이 빌드됩니다.

독립 서비스는 분리한다

사용자 로그인, 데이터 저장, AI 추론이나 독립적인 배포 주기가 필요한 서비스는 향후 서브도메인으로 분리합니다. 메인 사이트의 콘텐츠 변경이 서비스 배포를 요구하지 않고, 서비스 장애가 소개와 기술 문서까지 함께 중단시키지 않게 하기 위한 경계입니다.

Cloudflare는 필요한 시점에 확장한다

초기에는 Pages의 정적 호스팅만으로 충분합니다. 입력 폼이나 운영 데이터가 실제로 필요해지면 Worker 또는 Pages Functions 경계 뒤에서 검증하고, D1과 R2는 각각 관계형 데이터와 파일 저장에 사용합니다.

API 키와 관리자 권한은 클라이언트 코드에 넣지 않습니다. 동적 기능은 정적 사이트가 안정된 뒤 수요가 확인된 순서로 추가합니다.

현재 판단

이 구조는 기능을 적게 만드는 선택이 아니라, 콘텐츠와 제품의 변경 주기를 분리하는 선택입니다. 메인 사이트는 빠르게 읽히고 관리하기 쉬운 상태를 유지하고, 실제 서비스는 각자의 요구에 맞게 독립적으로 성장할 수 있습니다.