피드로 돌아가기
Dev.toBackend
원문 읽기
Serverless Cold Start 제거 및 데이터 주권 확보를 위한 스택 전환
Why I replaced Stripe with Polar, Prisma with Drizzle, and Clerk with BetterAuth and never looked back
AI 요약
Context
인디 개발자 환경에서 Stripe의 엄격한 비즈니스 인증 절차와 Clerk의 외부 인프라 의존성으로 인한 데이터 주권 상실 문제 발생. Prisma의 대형 Binary Client로 인한 Serverless 환경의 Cold Start 지연이 사용자 경험 저해 요소로 작용.
Technical Solution
- Merchant of Record 모델 기반의 Polar 도입을 통한 글로벌 세무 컴플라이언스 자동화 및 가입 절차 간소화
- Prisma에서 Lightweight TypeScript ORM인 Drizzle로 전환하여 Binary Client 제거 및 Bundle Size 최소화
- 외부 서비스 기반의 Clerk에서 Application-level 라이브러리인 BetterAuth로 변경하여 사용자 데이터를 자체 Postgres DB로 이전
- Plain SQL Migration 방식 채택을 통한 DB 스키마 변경 사항의 가시성 확보 및 예측 가능성 증대
- BetterAuth와 Polar의 플러그인 시스템을 연동하여 사용자 생성과 결제 프로필 생성을 원자적으로 처리하는 통합 워크플로우 구축
- Next.js 15와 Neon Serverless Postgres를 결합하여 인프라 오버헤드를 최소화한 Modern SaaS 아키텍처 설계
실천 포인트
- Serverless 환경 배포 시 ORM의 Binary Client 포함 여부와 그에 따른 Cold Start 영향도 검토 - Auth 서비스 선택 시 데이터 마이그레이션 비용과 데이터 소유권(Data Ownership) 관점의 Trade-off 분석 - 글로벌 결제 시스템 구축 시 세금 계산 및 컴플라이언스 처리를 대행하는 Merchant of Record 솔루션 고려 - 인프라 설정 반복 시간을 줄이기 위해 검증된 기술 스택을 기반으로 한 내부 Boilerplate 자산화 추진