SaaS(서비스형 소프트웨어)는 소프트웨어 개발 회사(SDC)가 제품을 관리형 서비스로 고객에게 제공할 수 있도록 합니다. B2B(기업 간 거래)든 B2C(기업-소비자 간 거래)든, 신규 또는 기존 제품이 여러 테넌트(예: 고객, 사용자 그룹 또는 내부 부서)를 지원하도록 설계되는 방식은 다양한 요인에 따라 달라질 수 있습니다.
Microsoft Learn의 멀티테넌시 - SaaS 및 다중 테넌트 솔루션 아키텍처 - Azure Architecture Center | Microsoft Learn
저희는 테넌트 정의, 멀티테넌시 인프라 배포, 모니터링, 자동화, 확장 등의 질문과 같은 아키텍처 고려사항에 대해 단계별로 안내해 드리는 평가(여기에서 확인 가능)를 제공합니다. 또한 멀티테넌트 솔루션을 쉽게 설계하고 구축하는 데 도움이 되는 시작점으로 체크리스트(여기에서 자세히 보기)도 만들었습니다.
일반적으로, 멀티테넌시를 다루는 가장 일반적인 방법/관점은 다음과 같습니다:
- 애플리케이션 (모든 고객을 위한 공유 앱을 사용할 것인가, 아니면 고객별 앱을 생성할 것인가 등)
- 데이터 (하나의 데이터 스토리지를 사용할 것인가, 여러 개를 사용할 것인가, 데이터를 효율적으로 쿼리하는 방법은 무엇인가, 어떻게 스케일링/ 파티셔닝할 것인가, 언제 스케일링할 것인가 등)
- 인프라 (하나의 리전을 다룰 것인가, 여러 리전을 다룰 것인가, 여러 리전에 걸쳐 여러 고객을 어떻게 처리할 것인가 등)
- 에이전트 (에이전트를 테넌트와 어떻게 정렬할 것인가, 테넌트별로 에이전트를 생성할 것인가, 아니면 공유 생태계에 테넌트 기반 도구, 프롬프트, 데이터를 로드할 것인가 등)
이번 세션(비디오는 여기에서, 슬라이드는 여기에서, 데모는 여기에서 확인 가능)에서는 두 가지 사항에 집중하여 구체적인 예시와 함께 다루었습니다:
깔끔한 멀티테넌트 설계로 시작하는 것이 이상적이지만, 현장에서는 종종 현실이 그렇지 않다는 것을 알고 있습니다. 이를 염두에 두고, 저희가 세션에서 선보이는 데모는 다음과 같이 구축되었습니다:
- 웹(UI) 및 API(백엔드 비즈니스 로직 및 에이전트 사용) 애플리케이션은 멀티테넌트가 아닌 상태에서 시작하여, 단계별로 변환하며, 단일 고객 사용에서 다중 고객 사용으로 앱과 백엔드를 변경하는 데 필요한 것을 강조합니다.
- 여러 테넌트를 효율적으로 서비스하기 위해 다양한 접근 방식(시맨틱 캐싱, 테넌트 식별자에 따른 도구/프롬프트 로딩 등)으로 에이전트 사용을 처리하는 방법에 계속 초점을 맞춥니다.
비디오를 시청하신 후에는 멀티테넌시가 로컬 환경과 Azure에서 많은 고려사항, 과제, 그리고 다양한 접근 방식을 수반한다는 것을 알게 되실 겁니다.
Azure와 저희 팀은 여러분과 여러분의 고객을 위한 이러한 여정을 단순화하기 위해 여기 있습니다.
추신
저희 SDC 아카데미의 다른 웹 세미나 및 녹화본도 확인해 보세요.