2.3 KiB
| id | created | tags | |||||
|---|---|---|---|---|---|---|---|
| 테넌시 선택 20260305 | 2026-03-05 13:18 |
|
- 싱글 테넌시(Single-tenancy) vs 멀티 테넌시(Multi-tenancy)
- 결정적인 차이는 물리적으로 격리되어있는지 여부
멀티 테넌시(Multi-tenancy)
멀티 테넌시를 선택할 때 가장 중요한 것은 인프라를 공유한다는 것입니다. 순수 멀티 테넌시는 하나의 어플리케이션 인스턴스와 하나의 DB를 여러 고객들이 공유해서 사용합니다.
[!note] 설정값, 환경변수 등의 차이만으로 고객간의 구분을 하고 모든 인프라는 하나를 공유해서 사용
고객간의 요구사항 편차가 적을 경우에는 효율이 좋음 편차가 클 경우 대응이 매우 어렵거나 거의 불가능에 가깝습니다. (고객 수가 적으면 되긴 함)
SaaS 솔루션: 완전한 멀티 테넌시 (공통 기능 + DB 설정 기반 커스텀) 즉 SaaS 솔루션은 모든 고객들이 하나의 인프라를 공유해서 사용하는 경우를 의미합니다.
[!warning] 이렇게 되면 고객간의 요구사항 편차가 클 경우 대응이 불가능함
이 문제를 해결하기 위해 하이브리드 방식을 채택합니다. "인프라는 공유하되 애플리케이션은 격리하는 방식" 같은 경우입니다. 이를 가상 싱글 테넌시(Virtual Single Tenancy) 또는 격리형 멀티 테넌시라고 부르기도 합니다.
격리형 테넌시 형태로 엔터프라이즈 솔루션 형태로 구성을 해야함. 엔터프라이즈 솔루션: 고객별 컨테이너/네임스페이스 분리 + 이미지 커스텀
테넌시별로 별도의 컨테이너 이미지를 확보해야함 코드레벨에서 독립되어지기 때문에 클라우드형 싱글테넌시 구조와 유사한 형태의 서비스가 가능
엔터프라이즈 솔루션의 구조도
(고객사별 독립된 어플리케이션 인스턴스 사용 + 하나의 DB 인프라 사용)
!
VPC레벨까지도 격리를 원하는 고객사의 경우에는 위의 이미지대로 별도의 ECS Cluster를 구성
그정도까지 아니면 하나의 공용 ECS Cluster에 태스크(Task)만 별도로 추가