# SaaS기업의 비밀 : 왜 멀티테넌시가 중요한가

> Clean Markdown view of GeekNews topic #6243. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=6243](https://news.hada.io/topic?id=6243)
- GeekNews Markdown: [https://news.hada.io/topic/6243.md](https://news.hada.io/topic/6243.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2022-03-28T10:54:01+09:00
- Updated: 2022-03-28T10:54:01+09:00
- Original source: [shomik.substack.com](https://shomik.substack.com/p/whats-under-the-hood-of-saas-companies)
- Points: 20
- Comments: 0

## Topic Body

"Multitenancy는 SaaS의 확장성을 훌륭하게 만드는 숨겨진 기반"  
- SaaS 모델의 높은 마진과 무한해 보이는 확장성은 주식시장/투자자/창업자들이 이 분야에 뛰어드는 이유   
- 그것을 가능하게 하는 것은 바로 인프라, 특히 "멀티테넌시" 개념  
- 오늘날 거의 모든 회사는 클라우드와 SaaS를 이용하며, 클라우드 솔루션 구현의 핵심은 바로 멀티테넌시임  
- 세일즈포스 창업자인 Marc Benioff는 "멀티테넌시는 SaaS 벤더가 성공하기 위한 필수 사항" 이라고 했음   
- 정확히 멀티테넌시는 무엇이고 왜 중요한가?  
  
### 멀티테넌시 : 지하철 시스템 구축   
- 싱글 테넌시를 먼저 이해하자   
  - 각 고객은 하나의 고유한 어플리케이션과 데이터베이스를 사용   
  - 즉 100명의 고객이 있다면, 100대의 서버와 100개의 어플리케이션과 100개의 DB가 있다는 것   
  - 싱글 테넌시는 대규모로 유지관리 하기 위해 많은 시간,돈,노력이 듬   
- 교통 관점에서 생각해보면 출근을 위해 차를 몰거나 지하철을 탈 수 있음  
  - 차를 몰면 편하지만, 자동차 비용, 유류대, 주차비, 추가로 교통 체증과 공해등에 비용을 지불해야함  
  - 지하철을 타면 비교적 저렴하고 도로를 깨끗하게 유지하고 오존층을 덜 파괴함   
- 세계 무역 센터(WTC)에 있는 5만 명의 모든 노동자가 차를 몰고 간다면 하나의 복잡한 시스템을 가지게 될 것   
- 그래서 지하철과 같은 멀티테넌시가 생성되어 비용과 간접비를 줄이고 환경의 '혼돈'을 크게 줄였음   
  
### 왜 지금일까 ?  
- 지하철로 갈아타는 이유는? 그게 정말 좋다면 왜 지금까지 이것이 선택되지 않았을까 ?  
- 그 해답은 "클라우드"에 있음. 클라우드 컴퓨팅과 SaaS 비즈니스의 인기가 폭발적으로 증가중   
- 퍼블릭 시장을 보면, 예전에 셀프호스팅 제품을 공급하던 회사들이 빠르게 클라우드로 눈을 돌리고 있음   
- Atlassian, Autodesk, Elastic, Microsoft 같은 회사들이 클라우드 호스팅 솔루션을 제공하여 폭발적인 매출 성장을 기록중   
- Atlassian은 지난 분기에만 1만명 이상의 고객을 추가했음. 1만명의 고객을 싱글테넌시로 유지한다면 개별 엔지니어링 작업, 자원 관리, 복잡성 및 핵심 비즈니스 문제를 해결할 인재의 고갈로 회사가 어려워 질 것   
- **따라서 초기 스타트업은 'Quick-and-Dirty(빠르게 간단히 만든)' 싱글 테넌시 환경에서 시작하는 것을 선택할 수는 있지만, 규모가 커지고 성장하기 시작하면 불가피하게 멀티테넌트 환경에서만 해결할 수 있는 기술적 부채에 직면하게 됨**  
- 클라우드 컴퓨팅 및 SaaS 비즈니스가 성장하면서, 싱글 테넌트 솔루션의 오버헤드도 커지고, 멀티테넌시에 대한 요구도 커짐   
  
### 멀티테넌시의 장점   
- 멀티테넌시는 SaaS 벤더들에게 많은 마법을 부여함  
- 고객 기반 전반에 걸쳐 인프라를 공유하는 능력은 게임체인저임   
- 멀티테넌시가 제공하는 장점은 스케일 말고도 몇 가지 비밀이 있음   
  
#### 판매 수익(Margins)  
- 공유된 인프라를 활용하는 것은 인프라가 더 많이 사용될수록 공급업체의 수익에 직접적인 영향을 줌   
- 멀티테넌트는 인력과 소프트웨어/하드웨어 비용면에서 직접(판매된 제품의 비용 측면) 및 간접(주요 인력들이 에너지를 다른곳에 집중 가능하다는 측면)에서 더 적은 리소스를 요구   
- 이로인해, 총 마진이 증가하고 결국 시장에서 더 높은 밸류에이션을 받을 수 있는 잉여 현금 흐름(Free Cash Flow)이 발생  
  
#### 가시성(Visibility)  
- 멀티테넌시의 사용은 인프라의 성능을 이해하거나 특정 고객 그룹에게 비용이 반영되는지를 아는데에 매우 유리  
  - 데이터는 통합 또는 고객별로 쿼리가 가능해야함   
- 싱글테넌트 인프라에서는 고객 데이터가 분산되어 있기에 Cross-Customer 지표를 분석하는 것은 매우 어려움   
- 그러나 멀티테넌트 인프라에서는 전체 고객 기반을 보면서 거시적 트렌드를 확인할 수 있음   
  - 이는 로깅, DB 단위나 어플레이션 성능 모니터링 수준에서 확인 가능하여 Cross-Functional Team에 큰 이점이 됨  
  
### 멀티테넌시의 복잡성   
- 모든 '마법'에는 문제가 있고, 멀티테넌시도 예외는 아님   
  
#### 문제1: 가용성과 시끄러운 이웃   
- 이커머스 하나가 모든 고객데이터를 한DB에 저장한다고 할 때, 대부분의 사용자가 한달에 한두개씩만 사지만, 한 사용자는 매일 5천개씩 산다고 가정해보면  
  - DB가 이런 고객의 급증하는 부하를 처리 할만큼 충분히 강력하지 않으면 전체 DB가 다운되고 다른 고객이 구매를 못할 수 있음   
- 이건 큰 도전이고, 데이터 파티셔닝 결정으로 이어짐  
  - Silo 파티셔닝(테넌트당 DB분리) vs. Pooled 파티셔닝(테넌트간 DB공유)  
  - Silo 파티셔닝은 몇몇 고객의 문제를 해결할 수는 있으나, 그러면 원래의 문제로 돌아가서 수많은 인스턴스를 관리해야 함   
  - Pooled 파티셔닝은 잘 동작하지만, 한 명의 고객이 부하를 일으켜서 문제가 생기면 느려지거나 시스템 다운으로 연결됨   
  
#### 문제2: 공유 자원과 데이터 보안   
- 모든 고객이 같은 자원을 이용하며, 멀티테넌트의 표준 구현체 라는 것이 없기 때문에, 서로 다른 테넌트 간에 데이터가 교차되는 기술적 버그가 있을 수 있음.  
- 서로 경쟁하는 고객을 동시에 서빙하고 있다면 아주 위험할 수 있는 문제   
- 기술팀은 데이터 주권 법(Data Sovereignty Laws) 및 테넌트 격리에 영향을 미치는 규정 등을 평가 해야함   
  
### 복잡성 해결  
- 멀티테넌트는 SaaS 어플리케이션의 주요 기둥(Pilar)중 하나가 되었지만, 아직 구현단계에서 고려해야할 복잡성이 많음.  
- Cloudinary의 CEO는 "멀티테넌시는 운영 탁월성(Operational Excellence)을 달성하는 핵심이지만, 제대로 하기 위해서는 많은 지식과 투자를 필요로 한다"라고 강조.  
- (이 글을 쓴) Boldstart 와 F2는 이런 멀티테넌시의 문제점을 해결하는 스타트업(현재 스텔스 모드)에 투자했음  
- 멀티테넌트 시스템엔 복잡한 것이 많지만, 싱글테넌트 시스템에서 확장 시에 생기는 기술적 부채를 생각하면 더 이상 고민할 필요가 없음  
  - 이 기술 부채를 해결하기 위해서 최고의 엔지니어 팀을 투입하고 핵심 비즈니스가 아닌 부분에 자원을 소비하게 되기 때문에  
  - **똘똘한 스타트업들은 아예 처음부터 멀티테넌트 환경을 계획해서 만들고 유지하는 것을 선택**함

## Comments



_No public comments on this page._
