next 커스텀서버란?

승환입니다·2023년 3월 25일
0
post-thumbnail

커스텀 서버란?

next.js는 자체의 서버를 제공하기떄문에 ( dev서버) 꼭 express나 Fastify와 같은 별도의 웹 서버를 사용할 필요가 없다.

하지만 기존에 제공하는 서버의 기능을 확장해야한다면 커스텀서버가 필요하다.

그 경우는

  1. Next.js 웹 애플리케이션을 기존 서버에서 실행하는 경우
  2. 멀티테넌시 지원이 필요한 경우
  3. 더 세밀한 제어가 필요한 경우

하지만 커스텀 서버를 쓴다면 관리의 주체자가 next에서 “나”로 바뀌기때문에 신경을 더 써야하며 지속적인 유지보수를 해야한다는 단점이 있습니다. (웬만하면 안쓸꺼같습니다)

추가적으로

next에서 내장된 서버는 개발용도로 만들어져있어서 배포할떄 내장서버로 배포하면 안돼요. 왜냐하면 말 그대로 개발서버라 서버가 작고 기능이 적기 떄문입니다.

그리고 위에서 말씀드렸다싶이 커스텀 서버는 관리의 주체자가 “나”가 되면서 여러가지 유지보수를 추가적으로 해야하므로 대형 프로젝트가 아니라면 비추천한다고 합니다. 그렇다면 저희는 어디다 서버를 만들고 배포해야할까요?

저희의 선택지는 대표적으로 크게 두가지가 있습니다 .

  1. EC2
  2. Vercel

EC2는 Amazon Web Service(AWS)에서 제공하는 가상 서버 인스턴스입니다.

Vercel은 Next.js을 쉽게 배포할 수 있는 클라우드 플랫폼입니다.

vercel은 기본적으로 vercel이라는 회사에서 서버를 관리해주기떄문에 ci cd , api라우트 등 다양한 기능을 기본적으로 제공합니다.

그렇다면 ec2 , vercel 저희는 어떤 기준을 두고 배포할 곳을 선택해야할까요?

  1. 규모
  2. 비용
  3. 개발환경

이 세 가지를 고려해서 배포할 곳을 정해야합니다.

ec2가 더 저렴하게 배포를 할 수 있습니다. 다만 처음부터 끝까지 배포과정을 구성해야하기때문에 커스텀이 필요하기때문에 비교적 큰 프로젝트를 할떄 ec2에 배포하는게 유리합니다.

vercel은 배포 환경을 구성할떄 복잡한 과정이 필요없고 CDN , SSL인증서등 설정을 자동으로 해주기떄문에 편리하게 이용할 수 있습니다. 다만 유료 서비스이기때문에 (ec2도 비용이 들지만 vercel보다는 적게 듭니다) 작은 프로젝트에서 간단하게 배포한다면 vercel이 유리합니다.

또한 vercel 자체에서 기능을 제공하는게 많지만 반대로 제한되는 기능도 많기때문에 자유도 높은 배포를 하고 싶다면 ec2를 추천드립니다.

profile
자바스크립트를 좋아합니다.

0개의 댓글