토픽 103 / 107·인프라 및 운영
멀티테넌시 (Multi-tenancy)
멀티테넌시 (Multi-tenancy)
하나의 애플리케이션 인스턴스가 여러 고객(테넌트)을 서비스하면서 각 테넌트의 데이터와 설정을 격리하는 아키텍처 패턴
특징: 비용 효율(↑), 운영 효율(↑), Noisy Neighbor 위험(↓), 격리 복잡도(↓)
데이터 격리 방식
- •DB per Tenant: 테넌트별 별도 DB, 강한 격리, 비용/관리 부담
- •Schema per Tenant: 공유 DB, 테넌트별 스키마, 중간 격리
- •Shared Schema: 공유 스키마, tenant_id로 필터링, 약한 격리, 비용 최소
테넌트 식별: 서브도메인(tenant.example.com), 경로(/tenant), 헤더(X-Tenant-ID), JWT 토큰
커스터마이징: 테넌트별 설정, 브랜딩, 워크플로우, Feature Flag
적용사례: SaaS(Salesforce, Slack), 클라우드 플랫폼, B2B 애플리케이션
비교: Multi-Tenant(공유/비용효율/복잡격리) vs Single-Tenant(전용/강격리/고비용)
연관: SaaS, 데이터 격리, Noisy Neighbor, 샤딩, Cell-Based Architecture