카카오엔터 FE, Next.js에 12-Factor 원칙 적용… 배포 시간 15분→1분 단축
·2021.11.25 09:00
핵심 내용
카카오엔터테인먼트 FE 개발팀이 Next.js 서비스에 12-Factor App 원칙을 적용하여 배포 시간을 15분에서 1분으로 단축하고, async_hooks를 활용해 요청 단위 로그 추적을 구현했다.
1 / 2
자세히 보기
카카오엔터테인먼트 FE 개발팀은 카카오페이지 웹 등 Next.js 기반 서비스 운영 경험을 바탕으로 12-Factor App 원칙을 프런트엔드 영역에 적용한 사례를 공유했다. 특히 '빌드, 릴리즈, 실행' 단계를 Docker를 통해 철저히 분리함으로써 배포 시간을 기존 15분 내외에서 1분 내외로 대폭 단축했으며, 이를 통해 개발과 운영 간 의존성을 낮추고 프리뷰 서버 구축 등 Cloud Native 환경을 조성했다. 또한, Node.js의 싱글 스레드 특성으로 인해 요청 간 컨텍스트 유지가 어려웠던 문제를 해결하기 위해 실험적 기능인 async_hooks(래핑 라이브러리 express-http-context 사용)를 도입하여, 하나의 요청에 대한 서버사이드 및 클라이언트사이드 로그를 하나의 contextId로 추적할 수 있도록 구현했다. 이 외에도 런타임 환경변수 주입(runtimeConfig 활용), pm2를 통한 프로세스 수평 확장 등 12-Factor의 주요 원칙들을 실무에 적용한 구체적인 방법론을 제시했다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.