피드로 돌아가기
Farewell to Node.js v5, Preparing for v7
Node.js BlogNode.js Blog
Backend

Node.js 프로젝트가 6개월 단위 메이저 버전 릴리스와 LTS 전략 도입으로 안정성과 혁신성의 트레이드오프 해결

Farewell to Node.js v5, Preparing for v7

2016년 9월 6일7intermediate

Context

Node.js v0.10은 지나치게 오래 지원되면서 릴리스 빈도가 감소하여 플랫폼의 혁신성 이미지를 훼손했다. 반면 io.js 분기 당시 V8 업그레이드마다 전체 C++ 애드온 생태계가 깨져서 네이티브 컴포넌트 의존성이 높은 Node.js 사용자층에 심각한 문제가 발생했다. 안정성을 원하는 사용자와 빠른 진화를 원하는 사용자의 요구를 동시에 충족해야 하는 과제가 있었다.

Technical Solution

  • 메이저 버전을 6개월 주기로 릴리스: 4월과 10월에 각각 짝수, 홀수 버전 배포
  • Current 단계(6개월): 각 메이저 버전이 활발한 개발 단계로 브레이킹 체인지를 6개월마다 일괄 배포
  • 짝수 버전을 LTS(Long-term Support)로 전환: Current 후 30개월간 Active LTS 및 Maintenance 지원
  • 홀수 버전은 Maintenance 단계 2개월만 제공: 주요 버그 수정만 진행 후 지원 종료
  • 레거시 버전(v0.10, v0.12) 점진적 폐기: 임시 Maintenance 단계로 중요 보안 패치만 제공

Key Takeaway

버전 관리 정책으로 빈번한 메이저 릴리스를 제도화하여 분기된 생태계(io.js)를 재통합하고, LTS 버전을 별도로 지정함으로써 혁신 속도와 프로덕션 안정성 요구사항을 동시에 충족할 수 있다.


Node.js 사용 조직에서는 프로덕션 배포 시 LTS 버전(v4, v6 등)을 선택하고, 개발/테스트/툴체인 용도(프론트엔드 빌드 등)에는 Current 버전을 사용하는 방식으로 각 환경의 안정성 요구도에 맞춰 버전을 분리하면, 브레이킹 체인지로 인한 업그레이드 비용을 최소화하면서도 최신 기능을 활용할 수 있다.

원문 읽기