기억나는 게 있다.
Next.js를 처음 만졌던 시절. 인증 관련 기능을 붙여야 했다.
로컬에서야 다 잘 되더라. 그래서 안심하고 PR 올리고, 테스트 배포 환경에서 확인하려는데 —

this is fine
이게 지옥의 시작이었다.
로컬과 배포 환경이 미묘하게 달랐다. 인증 플로우라는 게, 환경 차이 하나로 토큰이 꼬이고, 쿠키가 안 심기고, 리다이렉트가 엇나간다. 로컬에선 완벽했던 게 배포에선 작동을 안 한다.
그때 나는 Next.js 초짜였다. 원인을 바로 짚을 수가 없었다. 그래서 할 수 있는 건 하나뿐이었다.
수정하고 → 배포하고 → 로그 보고 → 다시 수정하고 → 또 배포하고
이 사이클을 돌리는 건데...

spongebob typing loop
문제는 한 번 배포하는 데 10분이 가까이 걸렸다는 거다. AWS Amplify로 배포하니까.
10분을 기다리고, 로그 보고, 한 줄 고치고, 또 10분.
이를 바득바득 갈며 그 인증 기능을 어떻게든 마무리했다. 기능은 끝났지만, 남은 건 분노 하나.
"배포 한 번에 10분이라고? 이건 아닌데."
그렇게 기능 개발이 끝나자마자, 곧바로 배포 프로세스 최적화에 뛰어들었다.
이게 내가 Amplify를 버리고, SST + OpenNext를 만나게 된 계기다.
Amplify는 솔직히 말해 설정이 너무 편했다.