Node.js를 한 문장으로 정의하면, Chrome 브라우저의 V8 Javascript 엔진을 탑재한 Server Side 오픈소스 Javascript 런타임입니다.
이렇게 속도까지 얻게 된 Javascript는 생태계가 더욱 커지게 되면서, Browser에서만 실행 가능한 Javascript를 웹 브라우저가 아닌 곳에서도 실행 가능하도록 만들고자 하는 목소리가 커지게 됩니다.
V8 엔진을 브라우저에서 독립시킨 Javascript의 또 다른 실행 환경(runtime)인 Node.js 탄생,
그러면서, 브라우저에서 할 수 없는 운영체제의 파일 시스템에 접근해서 파일을 조작한다든지 등의 다양한 일들이 가능하게 되었습니다.
Node.js는 주로 API 서버(HTTP 서버)를 구축하는데 활용됩니다.
Node.js 기반의 네트워크 서버(API)의 장점은 Frontend와 Backend 기술 스택 통합, 빠른 처리 속도와 높은 동시 요청 처리 성능, 그리고 MSA (Micro Service Architecture)에 적합 등이 있습니다.
MSA는 요즘 널리 사용되는 아키텍처입니다.
MSA 구조 안에서는 기능이 추가될 때마다 기존 시스템에 더해지는 것이 아니라 가벼운 시스템을 새롭게 구축하는 방법으로 확장하게 됩니다.
결과적으로 Node.js는 상대적으로 가벼운 런타임이기 때문에 MSA와 아주 잘 조화되어 사용될 수 있습니다.
이러한 이유로 자바스크립트와 노드로 백엔드 API 서버를 구축하는 것은 좋은 선택일 수 있습니다.