ITWeb/스크랩

[펌] Multitenancy

jjeong 2012. 2. 14. 10:15

최근에 주변에서 듣고 있는 단어들이 이렇다.
- CMS, ECM, SaaS, ASP, Cloud, salesforce.com, CRM ....
그럼 이런것들이 국내에서는 어떻게 적용 되고 있을까???
제 생각은 "구름 속에 숨겨진 SI" 구나 싶내요.

남들이 하니까.. 따라하는.. 비즈니스.. 과연 얼마나 성공 할 수 있을지.. 
따라 하면서도 스스로는 뭔가 굉장한 걸 하고 있다는 자부심에 사로잡혀.. 판단력이 흐려지고 있는지도 모른다.

Fast Follow 가 나쁜게 아니고 현실감과 혁신성이 없는게 나쁘다.

[Wikipedia]
http://en.wikipedia.org/wiki/Multitenancy 

[기사1]
http://www.ddaily.co.kr/news/news_view.php?uid=72827 

[디지털데일리 심재석기자] 클라우드 컴퓨팅을 이야기할 때 빠지지 않는 기술요소 중 하나는 멀티 태넌시(다중소유 Multi-Tenancy )다. 멀티 태넌시란 하나의 소프트웨어를 여러 사용자가 함께 사용하는 것을 말한다. 


대표적인 사례가 세일즈포스닷컴이다. 세일즈포스닷컴의 CRM 애플리케이션은 전 세계 모든 고객이 함께 사용한다. 고객들은 프로그램을 수정하는 것이 아니라 세일즈포스닷컴이 제공하는 환경설정 기능을 통해 자사에 맞도록 커스터마이징해서 이용한다. 

멀티-태넌시는 SaaS(Softeware as a Service)와 애플리케이션 임대 서비스(ASP)를 구분하는 가장 중요한 속성이다. 둘 다 기업들이 소프트웨어를 소유하지 않고 빌려 쓴다는 점은 같지만 ASP 사업자는 고객마다 각자의 하드웨어와 소프트웨어를 별도로 구축한다.

하지만 멀티 태넌시 환경의 클라우드 서비스 제공업체는 서버 풀(Pool)을 만들어 이를 기반으로 하나의 서비스를 제공한다. 모든 고객들은 이 서비스를 공유해 사용하는 것이다.

멀티태넌시의 가장 큰 이점은 규모의 경제가 가능하다는 점이다. 서비스 제공업자가 고객마다 새로운 시스템을 만들 필요가 없기 때문에 IT투자를 최소화 할 수 있다. 또, 하나의 시스템만 관리하면 되기 때문에 관리비용도 적게 든다. 오류를 발견해도 하나만 수정하면 전세계 고객이 똑 같은 혜택을 얻을 수 있고, 한 번만 업그레이드하면 전 세계 고객이 동시에 이를 이용한다.

하지만 멀티 태넌시 기술은 논쟁의 여지가 있는 것도 사실이다. 데이터베이스를 공유하는 것이 필수적이기 때문이다. 

멀티 태넌시 환경은 하나의 데이터베이스에 전 세계 모든 고객의 데이터를 담아둔다. 고정적인 메타데이터도 공유된다. 고객별 데이터는 각기 다른 테이블을 통해 관리된다.

하나의 DB에 모든 사용자의 데이터를 담는다는 것은 그만큼 위험성도 높다는 걱정을 야기한다. 

이 같은 위험성을 강조하는 업체는 오라클이다. 오라클의 래리 앨리슨 회장은 “멀티 태넌시는 미친 짓”이라고 주장한다.

앨리슨 회장은 “모든 고객이 동일한 데이터베이스를 사용하는 것은 보안 면에서 끔찍하다”이라며 “멀티 태넌시는 소름끼치는(horrible) 아이디어”라고 말했다.

하지만 세일즈포스닷컴 마크 베이오프 회장의 생각은 정반대다. 그는 “멀티 태넌시가 아닌 것은 가짜 클라우드”라고 생각한다. “클라우드를 시작할 때는 100만 달러를 지불할 필요가 없어야 한다”는 것이 그의 확고한 주장이다.

그는 “멀티 태넌시 아키텍처가 보안 면에서 지적을 받지만, 세일즈포스닷컴은 지금까지 단 한 차례도 보안 문제를 일으킨 적이 없다”면서 “클라우드 컴퓨팅이란 아키텍처를 공유하는 멀티태넌시 시스템이 기본”이라고 강조했다.

멀티 태넌시가 매우 효율적이지만 계란을 한 바구니에 담는 아키텍처라는 사실은 분명하다. 실제로 많은 기업들은 클라우드 컴퓨팅의 보안 문제에 대한 우려를 나타내고 있다. 

글로벌 소프트웨어 업체 한 관계자는 “공급업체 입장에서 멀티 태넌시는 매우 효율성이 높은 아키텍처이지만, 보안 면에서는 우려가 많은 양날의 칼”이라면서 “멀티 태넌시 아키텍처는 강력한 데이터 암호화 등 다양한 보안 기술과 병행돼야 한다”고 말했다



[기사2]
http://www.netapp.com/kr/communities/tech-ontap/tot-1007-deploying-multi-tenant-infrastructure-for-the-cloud-ko.html 

클라우드를 위한 멀티 테넌트(Multi-Tenant) 인프라 구축

공유 인프라 구축은 까다로운 과제입니다. 일반적인 기업 데이터 센터는 중요 애플리케이션이나 공유 요소에 대한 요구 사항을 과도하게 초과하는 전용 인프라를 가지고 있습니다. 두 방식 모두 낮은 리소스 활용율로 예산을 낭비합니다.

문제는 추가적으로 부하가 생기면 서버, 네트워크 및 스토리지와 같은 인프라 구성 요소가 어떻게 동작할 것인지를 예측하기가 어렵다는 것입니다. 클라우드 컴퓨팅을 통해 개별 애플리케이션, 그룹 또는 고객 간에 모든 리소스가 공유되는 멀티 테넌트(multi-tenant) 환경의 모든 측면을 이해하는 것이 보다 중요해졌습니다.

이러한 이유로 NetApp은 시큐어 멀티 테넌시(multi-tenancy)를 위한 완전한 솔루션을 개발하기 위해 Cisco 및 VMware와 협력해왔습니다. 이 솔루션은 NetApp 연구소의 충분한 테스트를 거친 후 많은 회사에서 구현되었습니다. 예를 들어 중소기업용 관리 서비스 선두 제공업체인 Tier 3은 자사의 데이터 센터를 공유 가능하면서도 안전한 클라우드로 변환할 수 있었습니다. 이 클라우드는 IaaS(Infrastructure as a Service) 및 StaaS(Storage as a Service)를 제공하는 동시에 가상 서버 환경의 스토리지를 67% 회수하고 전체 데이터 센터의 백업 시간을 24시간에서 1시간으로 단축시킵니다. (또 다른 예는 ExamWorks 요약 부분을 참조하십시오.)


그림 1) 시큐어 멀티 테넌시(multi-tenancy) 솔루션 구성 요소.

이 문서에서는 공동 솔루션의 기초를 제공하는 설계 원칙을 설명하고 클라우드 구현을 돕기 위해 사용할 수 있는 리소스에 대한 지침을 제공합니다.

멀티 테넌시(multi-tenancy)의 4대 요소

많은 기업들이 보안과 QoS(서비스 품질)를 염려하여 클라우드 인프라 구축 또는 클라우드 서비스에 대한 계약을 망설이고 있습니다. 이러한 이유 때문에 NetApp, Cisco 및 VMware가 시큐어 멀티 테넌트(multi-tenant) 클라우드 아키텍처를 개발한 것입니다. 본 설계에서는 시큐어 멀티 테넌시(multi-tenancy)의 4가지 요소에 대해 설명합니다.

  • 가용성. 공유 인프라 하나에 장애가 발생하는 경우 10, 20 또는 50개의 클라이언트에 영향을 줄 수 있습니다. 따라서 우리가 정의한 인프라는 장애가 발생할 수 있는 상황에서도 필요한 컴퓨팅, 네트워크 및 스토리지 리소스를 이용할 수 있도록 이중화 및 기타 메커니즘을 기본으로 제공합니다.
  • 안전한 분리. 한 테넌트는 어떤 상황에서도 다른 테넌트의 VM(가상 시스템), 네트워크 또는 스토리지 리소스에 액세스할 수 없어야 합니다. 각 테넌트는 안전하게 분리되어야 합니다. 이에 우리는 엔드 투 엔드 보호를 위해 각 계층에서 보안 조치를 구현했습니다.
  • 서비스 보장. 정상적으로 운영되는 동안은 물론 장애가 발생하거나 특정 테넌트에서 비정상적인 부하가 발생할 경우에도 컴퓨팅, 네트워크 및 스토리지가 분리되어 성능이 보장되어야 합니다. 이 솔루션은 서비스 등급을 최대한 애플리케이션에 근접하게 설정하고 해당 값을 정책 정의에 매핑하며 각 계층의 고유 품질에 따라 정책이 모든 계층에 균일하게 적용되도록 합니다. (이 항목은 이전 Tech OnTap 기사인 "엔드 투 엔드 서비스 품질"에 자세히 기술되어 있습니다.)
  • 관리. 모든 리소스를 빠르게 프로비저닝, 관리 및 모니터링할 수 있는 기능은 매우 중요합니다. 우리의 목표는 관리를 단순화하는 동시에 고객이 특정 벤더에 얽매이지 않도록 하는 것입니다. 우리는 어떠한 타사 애플리케이션 벤더도(고객이 선택하는 경우) 전체 환경에 대한 관리를 제공할 수 있도록 모든 단계에서 API 통합 지점을 상세히 나열하고 워크플로를 상세히 기술했습니다.


그림 2) 멀티 테넌시(multi-tenancy) 요소.

포괄적인 참조 사항

공동 솔루션의 큰 장점 중 하나는 NetApp, Cisco 및 VMware에서 모든 고된 작업과 테스트를 미리 수행했다는 것입니다. 유사한 기능의 솔루션을 자체적으로 개발하려고 한다면 선택한 벤더의 모범 사례를 검색하고 파악하는데 많은 시간을 소모하게 됩니다. 그런 후에도 모든 것이 유기적으로 작동하여 엔드 투 엔드 성능 및 보안을 제공하고 있는지 여부를 확신하기가 여전히 어려울 수 있습니다.

우리는 이 아키텍처를 자세히 설명하는 두 개의 포괄적인 문서를 작성했습니다. 설계 설명서에서는 멀티 테넌시(multi-tenancy)의 네 가지 각 요소를 지원하는 메커니즘과 주요 설계 결정이 내려진 이유를 설명합니다.

구현 설명서는 이 환경을 구성하는데 필요한 모든 조치를 상세히 설명하는 단계별 안내서입니다. 이 설명서는 두 개의 섹션, 즉 인프라 설정 방법을 설명하는 첫 번째 섹션과 환경이 구성된 후 각 테넌트를 구현하는 방법을 다룬 두 번째 섹션으로 구분됩니다.

전반적으로 이 설계는 유연성을 강조합니다. 이 설계를 적용하면 경직된 하드웨어의 한계에 얽매이지 않고 특정 요구에 맞게 공유 인프라의 크기를 보통에서 대용량까지 조정하고 필요에 따라 독립적으로 규모를 조정할 수 있습니다.

공동 지원

시큐어 멀티 테넌트(multi-tenant) 솔루션의 또 다른 이점은 공동 지원입니다. 세 지원 조직 중 어느 곳에나 전화하여 전체 인프라에 대한 지원을 요청할 수 있습니다. 지원 조직뿐 아니라 엔지니어링 조직도 직접 상호 협력하고 있습니다. 고객의 문제가 서버, 네트워크, 스토리지 또는 가상화 중 어느 것에 대한 것이든 해결될 때까지 해당 문제는 미결 상태가 됩니다.


그림 3) 공동 지원 모델.