19P by xguru 12달전 | favorite | 댓글과 토론
  • API 서버는 Hono, 런타임은 Bun, 호스팅은 Fly.io로 전환

이전한 이유

  • 경량 서버 필요: 모니터링 엔드포인트를 위해 간단한 REST API를 갖춘 경량 서버를 원했음. Vercel의 Next.js 서버는 불필요한 추가 기능이 있고 더 무거움. Hono와 Bun을 사용. 시작하는데 0.19ms & 메모리 91MB
  • 가격 문제: 다중 지역 모니터링을 유지하면서 비용을 예측하기 어려웠음. Vercel은 사용한 CPU 시간에만 비용을 부과하지만, 사용자 증가에 따라 비용이 증가함. 반면 Fly.io는 더 저렴

이전 중 도전과제

  • Docker와 모노레포: 초기에 Docker 이미지가 2GB로 과도했지만, 최적화를 통해 700MB로 줄임
  • Fly 배포 시간 초과 문제: Fly 배포는 종종 시간 초과 되어서 타임아웃을 늘려야 했음. Fly 배포는 Vercel에 비해 안정성이 떨어지고, 이전 버전으로 빠르게 롤백하는 방법이 없음
  • Bun 버그: Bun 런타임 사용 시 요청 실패가 증가했으며, keepalive 매개변수를 false로 설정해야 함

결론

  • 이전은 도전적이었지만, 결과적으로 만족스러웠음.
  • 물론 Vercel은 여전히 좋아함. 그러나 Next.js 이외의 애플리케이션 호스팅이 필요한 경우 이것은 최적의 선택이 아닐 수 있음