본문 바로가기
클라우드

멀티테넌시

by oncerun 2021. 10. 31.
반응형

 

클라우드 컴퓨팅을 공부하는 과정에서 Resource Pool에서 클라우드에 핵심으로 멀티테넌트 모델을 사용한다고 하는데, 멀티 테넌트 모델이 어떤 모델인지 정리하려 한다. 멀티 테넌트라고 검색한 경우에 멀티테넌시라고 결과가 나오는 걸로 봐서 동일 의미인 것 같다.

 

 

 

멀티테넌시 (Multi tenancy) 

 

tenant는 사용자라는 의미를 가지고 있다. 멀티 테넌시란 용어에서 유추 할 수 있듯이 여러 테넌트를 가진 아키텍처라는 의미이다. 

 

우리는 internet 환경에서 여러 사람이 동시에 같은 작업을 하기 위해서 software, service를 여러 사람들에게  공유해야 사용해야 합니다. 이러한 공유를 가능하게 하는 것이 멀티테넌시 아키텍처입니다. 이 아키텍처에서 중요한 점은 각 사용자가 독립적으로 이용할 수 있어야 한다는 점입니다. 

 

쉽게 예를들면 웹메일 서비스가 존재합니다. 이 웹메일 서비스는 각 사용자별로 메일을 수신, 발신함이 존재하며, 설정도 각 개인들에게 적용됩니다. 이 기술이 성숙해지면서 비로소 클라우드도 본격 확산했다고 할 수 있습니다.

 

멀티테넌시는 1970년부터 지금까지 순차적으로 발전해왔습니다. 사실 멀티테넌시는 다양한 기술이 발전하면서, 통합된 결과물입니다.  이전에는 멀티 프레임에서 기업들에게 일부 저장공간과, CPU를 필요한 만큼 빌려 사용했습니다. 전체를 사용하기엔 너무 비싼 가격이 청구되었기 때문이죠. 

 

리눅스에는 Namespace라는 기술이 존재합니다. 접속한 게스트별로 독립적인 공간을 제공하고 서로 충돌하지 않도록 리소스를 격리시키는 namespace 기능은 파일 시스템, 프로세스, 네트워크, IPC, 호스트,  사용자를 제공합니다. 

 

사실 멀티 테넌시 아키텍쳐의 가장 큰 장점은 비용 절감입니다.  IT 리소스를 사용량에 따라 할당하고 해제할 수 있으면 실제 사용량에 따라만 금액을 제공하면 되기 때문에, 기존 온프레미스 형식으로 구축 후 놀고 있는 리소스 때문에 나가는 비용을 생각하면 상당히 효율적입니다.

 

또 다른 장점은 데이터 통합입니다. 하나의 시스템에 여러 사용자가 접근하여 사용하고 있기 때문에, 같은 데이터 스키마에 존재한다고 생각하며, 데이터 분석에서도 매우 효율적입니다.

 

하지만 이는 곧 단점으로 이어질 수 있습니다. 바로 보안입니다. 하나의 시스템의 리소스를 여러 사용자에게 할당하기 때문에 하나의 시스템이 보안적으로 취약해질 가능성이 상당히 높습니다. 여러 테넌트 중 하나의 테넌트의 정보만 유출돼도 중앙 집중된 서버에 접속할 수 있다는 점. 이는 사용하고 있는 여러 모든 테넌트에게 영향을 미칠 수 있다는 점이 상당히 우려돼 빈다. 또 개인화를 지원한다는 것은 각 테넌트 별로 룩앤필을 완전히 다른 형태로 제공할 수 있다는 점이지만, 이는 개발하는 입장에서 상당한 비용과 인력이 필요함을 의미합니다. 배포 중 오류는 모든 테넌트에게 영향을 미칠 수 있다는 점이 가장 무섭습니다. 

 

 

한 줄 정리 : 멀티테넌시는 하나의 소프트웨어나 인프라 자원을 여러 사용자가 공유할 수 있는 아키텍처 모델이다.

반응형

'클라우드' 카테고리의 다른 글

클라우드 서비스 이해  (0) 2021.10.30
클라우드 아키텍처  (0) 2021.10.30
클라우드  (0) 2021.10.24
가상머신(VM)이란?  (0) 2021.02.05
클라우드 서비스란 뭐지?  (0) 2021.02.02

댓글