클라우드(Cloud)

멀티 테넌트(Multi-Tenant) 에 대해 알아보겠습니다.

forward error correction Circle 2024. 12. 17. 08:03
반응형

Ⅰ. 멀티 테넌트(Multi-Tenant) 아키텍처

 하나의 소프트웨어 애플리케이션 인스턴스 및 물리적 인프라를 여러 개의 테넌트(고객 또는 사용자 그룹)가 공유하도록 설계된 아키텍처입니다. 각 테넌트는 독립적으로 구성된 환경을 가지며, 다른 테넌트와 논리적으로 격리되어 있습니다. 주로  SaaS(Software as a Service) 모델에서 사용됩니다.

Ⅱ. 멀티 테넌트 (Multi-Tenant) 주요 특징

 ⅰ. 공유 인프라
단일 애플리케이션 인스턴스와 하드웨어를 여러 테넌트가 공유함으로써 리소스 사용을 최적화합니다.
 ⅱ. 논리적 분리
데이터와 애플리케이션 설정은 테넌트별로 격리됩니다. 따라서 보안과 데이터 무결성이 보장됩니다.
 ⅲ. 높은 확장성
새로운 테넌트를 추가할 때 별도의 인프라 확장이 필요하지 않으므로 수평적으로 쉽게 확장 가능합니다.
 ⅳ. 유지보수 용이성
하나의 코드베이스를 관리하므로 소프트웨어 업데이트와 유지보수를 모든 테넌트에 동시에 적용할 수 있습니다.

Ⅲ. 멀티 테넌트 (Multi-Tenant) 구조 핵심 요소

 ⅰ. 데이터 격리
각 테넌트의 데이터는 독립적으로 저장되고 관리됩니다. 데이터베이스 레벨에서 격리를 구현하는 방식은 다음과 같습니다:
단일 데이터베이스, 다중 테이블 구조: 테넌트별 데이터를 식별하는 키를 사용.
다중 데이터베이스 구조: 각 테넌트마다 별도의 데이터베이스를 할당.
 ⅱ. 테넌트 식별
테넌트 요청을 구별하기 위해 URL, API 키, 또는 인증 토큰 등을 활용.
 ⅲ. 커스터마이징
각 테넌트는 UI, 비즈니스 로직, 사용자 설정 등에서 개별적인 요구사항에 맞게 구성 가능.
 ⅳ. 보안
여러 테넌트가 동일한 인프라를 사용하므로 데이터 접근 및 권한 관리에 대한 강력한 보안 메커니즘이 필요합니다.

Ⅳ. 멀티 테넌트 (Multi-Tenant)  장·단점

  장점 단점
멀티 테넌트 (Multi-Tenant)  1) 비용 효율성 : 동일한 인프라를 여러 테넌트가 공유하므로 하드웨어 및 운영 비용이 절감됩니다.
2) 관리 용이성 : 하나의 애플리케이션 인스턴스를 관리하면 되므로 업데이트 및 유지보수가 간단합니다.
3) 빠른 확장 : 테넌트 추가 시 별도의 인프라 구축 없이 바로 확장 가능합니다.
4) 지속적 개선 : 플랫폼 업데이트가 모든 테넌트에 자동으로 적용됩니다.
1) 보안 및 데이터 위험 : 데이터가 논리적으로만 격리되기 때문에 보안 위협에 대한 민감도가 높습니다.
2) 복잡성 증가 :
여러 테넌트의 요구를 동시에 충족하기 위해 복잡한 설계와 개발이 필요합니다.
3) 커스터마이징 제한 :
공통 인프라를 사용하므로 개별 테넌트의 요구사항을 모두 반영하기 어렵습니다.

Ⅴ. 멀티 테넌트 (Multi-Tenant) vs 싱글 테넌트 (Single-Tenant) 

특징 멀티 테넌트 싱글 테넌트
인프라 공유 여부 단일 인스턴스를 여러 테넌트가 공유 테넌트마다 별도 인스턴스 사용
비용 효율적  상대적으로 비용이 높음
보안 논리적 격리 (추가 보안 필요)  물리적 격리 (보안 우수)
커스터마이징 제한적 커스터마이징 가능 테넌트별 완벽한 커스터마이징 가능
확장성 쉽게 확장 가능 확장 시 인프라 증설 필요
운영 효율성  중앙에서 통합 관리 가능 개별 관리 필요

Ⅵ. 멀티 테넌트 (Multi-Tenant) 사용 사례

사용 사례 설명
SaaS 플랫폼 여러 기업이 같은 소프트웨어를 사용하되, 데이터와 환경은 분리.
Ex ) Salesforce, Microsoft 365, Google Workspace
e-커머스 플랫폼 한 플랫폼에서 여러 판매자가 개별 스토어를 운영하도록 지원
교육 및 학습 관리 시스템(LMS) 학교 또는 기관별로 독립적인 환경 제공.

Ⅶ. 멀티 테넌트 (Multi-Tenant) 설계 시 고려해야 할 사항

 ⅰ. 데이터 보안
   : 강력한 인증, 데이터 암호화, 액세스 제어 등을 통해 보안을 강화.
 ⅱ. 성능 및 확장성
   : 테넌트 증가 시 성능 저하를 방지하기 위한 리소스 관리 필요.
 ⅲ. 모니터링 및 로깅
   : 테넌트별 로그와 사용량 모니터링을 통해 문제를 신속히 해결.
 ⅳ. 컴플라이언스
   : 데이터 보호 규정(GDPR, HIPAA 등)을 준수.

반응형