2025/04/02 2

멀티테넌시 아키텍처

멀티테넌시(Multi-Tenancy) 아키텍처는 하나의 애플리케이션 인스턴스가 여러 개의 고객(테넌트, tenant)를 지원할 수 있도록 설계된 소프트웨어 아키텍처. 여기서 "테넌트"란, 세입자란 뜻으로 어플리케이션 자원을 사용하는 독립된 사용자 그룹 또는 조직을 의미함.각 테넌트는 자신의 데이터, 사용자, 설정을 갖고 있지만, 물리적으로는 같은 애플리케이션과 인프라를 공유합니다.  멀티테넌시 아키텍처의 유형별 정리1. 공용 데이터베이스, 공용 스키마 (Shared Database, Shared Schema)하나의 데이터베이스와 하나의 스키마(테이블 구조)를 모든 테넌트가 공유하는 구조. 모든 테넌트의 데이터는 동일한 테이블에 저장되며, 이를 구분하기 위해 각 테이블에는 tenant_id와 같은 컬럼이 ..

개발 고민 2025.04.02

SaaS와 멀티테넌시

우리 회사는 얼마 전까지만 해도 SI 프로젝트를 통해 제품을 고객의 요구사항에 맞춰 개발해주는 회사였다.그런데 클라우드 플랫폼 사업으로의 확장을 고민하면서, 기존 SI 프로젝트 형태로 제공되던 제품을 서비스화 하자는 논의가 있었다.그러면서 자연스럽게 나온 개념이 바로 SaaS와 멀티테넌시(Multi-tenancy)였다. SaaS와 멀티테넌시라는 개념 자체는 알고는 있었지만, 구체적으로 어떤 구조인지, 우리가 지금 처한 상황에 맞게 적용할 수 있는지에 대해선 명확하지 않았다.우선 머릿속에 떠오른 의문점들은 다음과 같았다.SaaS와 우리가 해오던 SI는 정확히 무엇이 다른가?멀티테넌시를 꼭 도입해야 하는가?고객마다 요구사항이 제각각인데, 하나의 공통 플랫폼으로 제공하는 게 가능한가?이러한 질문들에 대한 실마..

개발 고민 2025.04.02