피드로 돌아가기
Dev.toInfrastructure
원문 읽기
월 $30 VPS로 50개 이상의 Tenant를 수용하는 고효율 Multi-tenant 아키텍처
Multi-tenant SaaS for $30/mo: wildcard SSL + nginx vhost generator + Flask routing
AI 요약
Context
SaaS 초기 단계에서 Kubernetes 및 Managed 서비스 도입으로 인한 과도한 비용과 복잡성 문제 발생. 최소 비용으로 수십 개의 파트너 전용 서브도메인을 즉시 프로비저닝해야 하는 기술적 제약 상황.
Technical Solution
- Wildcard SSL 적용을 통한 개별 Tenant별 인증서 발급 프로세스 제거
- nginx Regex Server Name 설정을 통한 동적 서브도메인 라우팅 및 파트너 식별자(X-Partner-Slug) 추출
- Flask before_request Hook을 통한 HTTP Header 기반의 Tenant Context 주입 및 DB 스코핑
- Webhook 기반의 DB Row 추가만으로 별도의 설정 변경 없이 즉시 프로비저닝 완료하는 구조 설계
- 트래픽 증가 단계에 따른 SQLite Shared DB → Per-tenant SQLite → Postgres Schema-per-tenant으로 이어지는 점진적 마이그레이션 전략 수립
실천 포인트
1. Wildcard SSL과 nginx Regex를 활용해 인프라 설정 없는 동적 서브도메인 구현 검토
2. Application Layer의 Middleware/Hook을 통한 Tenant Isolation 전략 수립
3. 초기 SQLite 기반 데이터 저장 후 트래픽 임계치에 따른 단계적 DB 마이그레이션 계획 수립