nextjs 배포수단을 정하기에 앞서 생각해볼것

kdy·2025년 5월 1일
0

nextjs를 사용해야할때,배포해야할땐 Next 고유 기능을 얼마만큼 사용하냐가 중요하며

그중에 ssr 기능 사용 유무는 Next배포방식에도 영향을 줌.

Next.js 배포 방식은 SSR 사용 유무에 따라 서버 비용·인프라가 크게 달라짐

nextjs에서 ssr 기능 동작 흐름.

1단계. 페이지 요청
2단계. 해당페이지 서빙전 사전 동작 처리 ( 인증, 페이지 삽입 데이터 요청, 서버 로직처리 등 )
3단계. 사전동작 완료 후 페이지 파일 렌더링
4단계. 클라이언트로 서빙


2단계의 사전동작 처리가 배포 방식에 특히 영향을주는대,

2단계을 크게 두가지 방법으로 처리하기때문임.

런타임 처리 방식과 빌드 타임(또는 사전 생성) 처리

1번. 항상 켜져 있는 서버

항상 실행 중인서버 위에서 사전동작 처리하는 Next.js 환경
예시) aws ec2와 같은 가상인스턴스 환경, 온프레미스 서버 등
(비용 높음)

2번. 콜드 스타트 기반 서버리스

요청발생시 콜드 스타트하는 함수가 사전동작을 처리하는 환경
예시) vercel, (cloudflare functions,pages,workers) ,aws fargate etc..
(비용 낮음)


여러가지 배포 경험을 해보았지만 nextjs의 ssr기능,next서버의 다양한 역할이 필요하다면

1번전체, fargate 이라 생각된다.

1번과 fargate를 1순위에 둔 이유는

기본적으로 상태 유지 서버의 특징을 가졌기때문인데, 이 특징으로 얻을수 있는 점은

1. 완전한 node api 사용가능
2. sh파일과 같은 next서버 외 기능 사용가능

이 2가지 기능이 next서버의 기능,역할을 더 풍부하게 해준다.

결론

SSR 기능이 풍부하게 필요하다면 “항상 켜져 있는 서버”(1번)을 1순위로 설정해야함.

단순 API 호출·렌더링 정도라면 “서버리스”(2번)을 1순위로해 비용을 최대한 절감

profile
빠르고 정확해야 혈압이 안오른다

0개의 댓글