피드로 돌아가기
Dev.toDatabase
원문 읽기
HTTP Driver 교체로 Serverless Database Scale-to-Zero 비용 최적화 달성
My "serverless" database was billing me like it never slept.
AI 요약
Context
Neon Postgres의 Scale-to-zero 기능을 통해 유휴 상태의 Compute 비용을 절감하려 시도함. 그러나 postgres-js 드라이버의 Persistent Connection 유지 특성으로 인해 데이터베이스가 지속적인 Activity 상태로 인식되어 Compute가 중단되지 않는 비용 과금 문제 발생.
Technical Solution
- 기존 TCP 기반의 Long-lived Connection 방식에서 Stateless HTTP Request 방식으로 전환
- @neondatabase/serverless 드라이버 도입을 통한 쿼리 단위의 독립적 요청 처리 구조 설계
- Connection 유지 오버헤드 제거를 통한 Database Compute의 즉각적인 Suspend 상태 진입 유도
- 애플리케이션 계층과 데이터베이스 계층 간의 연결 상태 의존성을 제거한 Stateless 아키텍처 구현
실천 포인트
Serverless 서비스 도입 시 개별 컴포넌트의 기능뿐만 아니라 전체 스택의 Connection Lifecycle 일치 여부 확인 필요. 특히 DB Driver의 연결 유지 방식이 서버리스의 Auto-scaling 및 Scale-to-zero 동작에 미치는 영향을 사전 검토할 것.