피드로 돌아가기
Static Export, but for APIs: Why I Built StatikAPI
Dev.toDev.to
Backend

Runtime 제거를 통한 Static JSON API 생성 및 CDN 서빙 최적화

Static Export, but for APIs: Why I Built StatikAPI

Zonayed Ahmed2026년 5월 16일8intermediate

Context

데이터 변경 빈도가 낮고 응답 형태가 예측 가능한 Read-heavy API임에도 불구, 모든 요청에 Runtime을 할당하는 비효율적 구조 지속. 이로 인해 불필요한 Latency 발생 및 서버 자원 낭비, 배포 및 보안 관리 복잡도 증가라는 한계 직면.

Technical Solution

  • Runtime 기반의 Request-Response 모델을 Build-time Static Export 모델로 전환하여 서버 부하 제거
  • Filesystem-based Routing을 적용하여 src-api/ 내 정의된 경로를 api-out/ 내 정적 JSON 파일로 매핑
  • Dynamic Route 해결을 위해 paths() 함수를 통한 사전 경로 정의 및 data() 함수를 이용한 빌드 타임 데이터 바인딩 수행
  • JSON-serializable 데이터 구조를 채택하여 단순 파일 읽기 동작만으로 API 응답을 반환하는 구조 설계
  • Build step 도입을 통한 데이터 변환 로직의 실행 시점을 요청 시점이 아닌 배포 전 단계로 전진 배치

- API 응답 데이터의 변경 주기와 요청 빈도를 분석하여 정적 추출 가능 여부 검토 - Docs, Changelog, Public Config 등 Read-heavy한 엔드포인트의 Runtime 의존성 제거 고려 - Dynamic Route 필요 시 사전 정의 가능한 경로 리스트(Path List) 확보 가능 여부 확인 - 서버리스 함수(Lambda 등)의 Cold Start 문제 해결을 위한 Static JSON 서빙 전략 검토

원문 읽기