- 기타SaaS 개발 시 주로 사용하는 멀티테넌시 구현 방법 문의 드립니다.
-
궁*이 2024-04-03 15:47:34- hits68
안녕하세요. 제목그대로 SaaS 개발 시 멀티테넌시를 설계할 때
크게 어플리케이션 레벨 멀티 테넌트와 DB레벨 멀티 테넌트 유형이 있다고 들었습니다.
이때 현업에서는 주로 어떤 유형을 사용하시는지 그리고 해당 사용하시는 이유 또는 장점을
간략하게 적어주시면 초보에게 도움이 많이 될 것 같습니다.
안녕하세요. 개방형 클라우드 플랫폼 센터 입니다.
SaaS(Software as a Service) 애플리케이션에서 멀티 테넌시는 다수의 고객(테넌트)이 동일한 애플리케이션 인스턴스를 공유할 수 있도록 지원하기 위해서 사용합니다.
클라우드환경에서 자원의 효율적인 사용을 위해 사용하는 패턴이지만, 보안적인 측면을 고려하여 적합한 방식으로 구현해야합니다.
■ 애플리케이션 단위 멀티 테넌시
애플리케이션 내에서 테넌트를 식별하고 관리하는 로직을 포함하여, 각 테넌트에 대한 요청을 처리할 때 적절한 데이터에 접근하도록 합니다.
로그인 세션, API 키, 도메인 이름 등을 통해 각 요청이 어떤 테넌트에 속하는지 식별하여 데이터 처리합니다.
■ 데이터베이스 단위 멀티 테넌시
데이터베이스 레벨의 멀티 테넌시는 데이터 보호를 위한 격리 단계에 따라 여러가지로 나뉩니다.
1. 데이터베이스 단위 분리
- 보안 수준 높음 / 자원 사용량 높음
2. 스키마 단위 분리
- 데이터 베이스는 공유 / 데이터는 격리되지만, 스키마 관리가 필요
3. 동일 스키마
- 모든 테넌트가 하나의 데이터베이스와 스키마 공유 / 구현이 쉽고, 유지보수 용이하지만, 보안 우려
K-PaaS는 SaaS 개발이 아닌 개방형 클라우드 플랫폼 표준모델(K-PaaS 표준모델, 오픈소스)을 기반으로 표준 PaaS 를 개발하고 운영하고 있기에,
위와 같이 일반적인 내용만을 설명드릴 수 있을 것 같습니다.
SaaS 제품을 개발하는 업체나, SI 업체 쪽에 문의하시면 정확한 문답이 가능하실 것 같습니다.
감사합니다.
-
- 다음글
- 비용 발생관련 문의