명령어 몇 줄로 Next.js AWS에 배포하기 with SST
SST는 Next.js 프론트엔드 + 백엔드 서버리스 스택을 명령어 단 몇 줄로 AWS에 쉽게 배포할 수 있게 도와주는 도구입니다. Vercel로 배포하는 방법도 있지만, AWS에 직접 배포할 수 있다는 점과 Vercel의 과금 체계를 따를 필요가 없다는 점이 제일 큰 장점이라고 생각됩니다. ### Vercel보다 좋은 점? Vercel은 진입 장벽이 낮고 Next.js를 만든 커뮤니티 그 자체이기 때문에 굉장히 스무스하게 배포가 가능합니다. 다만, 배포를 해보신 분은 알겠지만 배포 자체는 너무 쉬워서 감동스러운데 organization에 속한 저장소를 배포하려면 1인당 월 20$ 과금이 들어가고, 트래픽이 늘어날수록 과금 단위도 늘어나게 됩니다. AWS 인프라에 Vercel과 같은 서버리스 방식으로 Next.js를 배포하는 게 불가능하진 않지만, 프론트엔드 개발자가 하기엔 진입 장벽이 너무 높은게 문제입니다. 이에 반해 SST는 완전한 오픈소스로 운영되고 있고, AWS CDK를 통해 마치 테라폼처럼 타입스크립트 코드로 인프라스트럭처를 관리할 수 있다는 게 장점입니다. 현업에서는 FE 개발자가 '어느 정도' AWS에 대한 지식을 갖고 있으면 쓸 데가 많은데, AWS를 들어가서 서비스의 로그를 확인하는 등 경험을 쌓을 수 있다는 장점도 있습니다. Vercel이 정한 과금 체계에서 해방되는 것도 장점입니다. ### SST의 한계 SST 생태계는 Vercel이 아닌 더 작은 커뮤니티에서 OpenNext라는 프로젝트로 운영이 되고 있습니다. 현재는 대부분의 기능을 지원하지만, Next.js의 최신 업데이트를 항상 반영하지 못할 수 있습니다. 예를 들어, 현재 (2023년 12월 29일 기준) Next.js의 Streaming을 현재 '매우 실험적인' 단계로 지원합니다. 예전에도 SST와 같이 AWS에 서버리스 스택 배포를 도와주는 serverless-next.js 프로젝트가 있었지만, 작년 3월 배포를 마지막으로 사망한 사례가 있습니다. Vercel에 비해 규모가 작고 투자 비용도 적은 SST도 추후 같은 수순을 밟게 될지 모른다는 점은 유의하셔야 합니다. 그럼에도 불구하고, 현재 시점에서 Vercel의 대체제로 사용하기에 너무 괜찮은 도구이기 때문에 서버리스 배포를 염두하고 계신다면 SST를 추천드립니다. https://docs.sst.dev/start/nextjs ### 같이 보면 좋은 링크 - 100초 안에 SST 톺아보기: https://www.youtube.com/watch?v=JY_d0vf-rfw&ab_channel=Fireship