Multitenancy는 여러 Client가 서버에서 하나의 Instance에서 구동되게 하는 Software Architecture를 말한다. Multitenancy는 다른 Client 들이 분리된 Software Instance 혹은 다른 H/W 시스템으로 구성된 Multi Instance 구조로 사용하는 것과는 구분이 된다. Multitenant 구조의 Software Application은 데이터와 설정이 가상의 파티션으로 디자인되어 있다.
Multitenancy는 Cloud Computing에서 필수적인 요소이다.
Multitenancy Application은 세가지의 서비스로 부터 발전되었다.
- 1960년대부터 회사들은 컴퓨터 비용을 감소하기 위해 메인프레임 컴퓨터에서 공간과 프로세싱 파워를 빌려서 사용을 했다. 기존의 Application을 재사용하기도 하였으며 Logon 화면에서 개별 ID를 가지고 접속하게 하였다. 이 ID로 고객의 CPU, Memory, Disk등을 사용한 것에 대해 과금을 하였다.
- 1990년대이후에는 ASPs(Application Service Providers) 라는 Application을 고객에게 빌려주는 서비스가 있었다. ASPs는 다른 시스템(기계) 혹은 다른 프로세스에서 Application이 호스트되도록 되어 있었다. Multitenant Application들은 관리 비용을 줄이기 위해 이와 같은 서비스를 사용할 수 있는 성숙된 구조를 가지고 있다.
- 공객적인 Web Application들은 기능적으로 하나의 Application Instance에서 모든 사용자들이 사용할 수 있게 디자인되었다. Multitenant Application들은 이 모델에서 진화하였으며 고객의 추가적인 요구사항을 사용자별로 혹은 그룹별로 커스터마이징 해줘야했다.
가상화와 다른점
Multitenancy는 고객들이 같은 Application을 공유하여 사용하는데 같은 OS, 같은 Hardware, 같은 저장공간에서 구동한다. 가상화는 각각의 고객의 Application이 다른 물리적인 공간에서 구동되도록 하고 있기에 이러한 점이 다르다고 할 수 있다.
(출처:Wikipedia)
이 글은 스프링노트에서 작성되었습니다.
'소프트웨어 공학' 카테고리의 다른 글
PMML (0) | 2011.12.23 |
---|---|
R (0) | 2011.12.06 |
XP (eXtreme Programming) (0) | 2011.04.19 |
IT Governance (0) | 2011.02.09 |
EPMO (0) | 2010.11.16 |