Digital Transformation Nomad

SaaS의 Tenant 격리 모델 본문

Digital Transformation

SaaS의 Tenant 격리 모델

문학중년 2023. 6. 23. 18:00

SaaS가 기존 ASP와 구별 되는 특징들이 몇 가지 있는데, 일단 Tenant가 명확하게 분리되어야 하고, 동일한 Source를 사용해야 하고, 과금 체계 등이 구축되어 있어야 합니다. 여기서 Tenant라는 단어가 나오는데 SaaS에서 가장 중요한 개념 중의 하나입니다. Tenant는 임차인이나 세입자라고 번역되는데, 하나의 Application을 아파트라고 비유해보면, 아파트에 입주한 고객을 세입자, Tenant라고 할 수 있습니다. 일상 생활에서도 임차인이나 세입자들이 층간 소음이나 충돌 없이 조화롭게 지내는 것이 중요하듯이 SaaS에서 Tenant들을 다른 Tenant들과 충돌 없이 잘 분리/격리하는 것이 매우 중요합니다.

 

SaaSTenant 격리 모델에는 Silo, Pool, Hybrid3가지 방식이 있습니다. 단어만 봐서는 어떤 말인지 바로 이해가 되지 않지만 현실과 비교하여 설명해 보겠습니다.

 

고급 단독 주택은 다른 주택들과 분리되어 독채로 존재하며 독립적으로 거주가 가능합니다. 마음만 먹으면 주변의 이웃들과 교류하지 않고 영향 받지 않으면서 살아갈 수 있습니다. 조용한 곳에서 모든 인프라를 나만 이용하면서 평화롭게 살아갈 수 있는데 이러한 방식을 Silo라고 합니다. 조직 구조가 Silo라서 서로 정보 공유도 안되고 인적 교류도 안된다는 이야기를 가끔 들어보셨을 겁니다. 바로 그 Silo를 떠올리시면 됩니다.

 

반면 Pool은 어떤 공동의 장소를 생각하시면 됩니다. 인력 Pool이라는 표현도 가끔 들어보셨을 겁니다. 일단 쉽게 아파트로 예를 들어보겠습니다. 아파트는 공동의 자원을 여러 임차인들이 공유하는 형태입니다. 고급 단독 주택 대비 비용이 저렴하고, 규모의 경제에서 오는 편리함이 있습니다. 하지만 다수의 임차인들과 공동 생활에서 발생하는 불편한 점도 있는데 이러한 방식이 바로 Pool방식입니다.

 

어떤 세대에서 공사를 하거나, 여러 사람들이 방문하여 크게 떠들고 놀면 층간 소음으로 인해서 주변 임차인들에게 영향을 주게 됩니다. 가끔은 밤에 놀이터에서 고성방가 하는 사람도 볼 수 있는데, 공동 생활의 단점이기도 합니다. SaaS를 사용하는 특정 Tenant의 트래픽 급증으로 인해서 다른 Tenant들이 영향을 받는 현상을 'Noisy Neighbor'라고 부르기도 합니다.

 

Hybrid 방식은 Silo 방식과 Pool 방식을 섞어 놓은 모델입니다. 이러한 예를 현실에서 찾기는 쉽지 않습니다만 아파트 단지 내에 고급 단독 주택이 공존하는 형태라고 보시면 됩니다.

 

예를 들어, 아이들이 많아서 층간 소음이 걱정되거나, 아파트의 답답함을 싫어하지만 규모의 경제에서 나오는 보안, 주차, 놀이터, 학교, 공원 등의 편리함을 누리고 싶은 세대는 아파트 단지 내의 단독 주택에 입주하면 됩니다. 단독으로 고급 주택에 살기에는 버겁지만 아파트 내의 단독 주택에 입주할 여력이 된다면, 아파트와 단독 주택의 장점을 함께 누릴 수 있게 되는 것입니다. 

 

SaaS의 Tenant 격리모델

위의 그림에서 제일 왼쪽인 Silo를 보시면 고객 A,B,C는 각각 독립적인 클라우드 자원을 할당 받아서 서비스를 운영하고 있습니다. 고객들이 내부적으로 처리하는 갈색, 노란색, 붉은 색의 Funtion들도 같은 기능을 하지만 각기 독립적으로 사용되고 있습니다. 서로가 서로에게 영향을 주지 않는 구조입니다. A고객에게 아무리 많은 트래픽이 몰려도, 장애가 나서 다운이 되더라도 B와 C는 영향 받지 않고 운영됩니다.

 

반면 가운데 그림인 Pool은 고객 A, B, C가 같은 인프라, Function을 공유하게 됩니다. 공유 자원을 논리적으로 분리하여 고객 서비스를 합니다. 그림을 잘 보시면 아시겠지만 같은 기능을 하는 Function들도 색깔 별로 3개로 나뉘어져 있습니다. 하나의 소스 내에서 고객사의 요구 사항에 맞는 기능을 활용하거나, 아니면 A, B, C를 각각 지원하는 Funtion이 있다고 보시면 됩니다. 

 

마지막은 Hybrid입니다. 고객 A와 B는 Pool방식을 사용하고, 고객 C는 Silo방식을 사용합니다. 공유 자원을 사용하지만 고객C는 독립적인 자원을 할당 받고 사용합니다. Silo방식을 사용하기에는 비용이 부담이 되기 때문에 Pool방식을 사용하지만, 컴플라이언스나 과도한 트랜잭션 때문에 다른 고객사에 영향을 줄 우려가 있는 경우에 사용합니다.

 

SaaS에서 가장 중요한 개념인 Tenant는 그리 어려운 개념은 아니지만 개념을 명확히 이해해야 하는 중요한 요소입니다.

 

<제가 출판한 '넥스트 디지털'입니다. 블로그의 내용이 자세하게 기술되어 있습니다>

 

 

넥스트 디지털 - 예스24

글로벌 리서치&자문 회사인 가트너가 선정한 한국 최초의 디지털 전환 글로벌 모범 사례 ‘AIDA’ 와 ‘HWADAP’ - 그 개발을 주도한 DT 담당 임원(CIO/CDO)이 알려주는 AI 시대 디지털 전환과 3가지 핵

www.yes24.com

 

<제 유튜브 채널 '정해진tv'입니다. 도움이 되시길 바랍니다>

 

 

Haejin Jeong TV

The content is divided into two main sections: Digital Transformation and Travel. - Emerging technologies such as AI, Cloud, IoT, Blockchain, etc. - Short videos captured during travels. I would like to share my blog site "https://cultravelite.tistory.com"

www.youtube.com