[Paper Review] Metacloud - Wind of Change: From Vendor Lock-in to the Meta Cloud

2013. 10. 23. 21:12Cloud/멀티클라우드

Wind of Change: From Vendor Lock-in to the Meta Cloud

 

본 Paper에서는 현재 클라우드 서비스 제공업체에 대한 *Lock-In( 응용 프로그램이 특정 클라우드 서비스 기반으로 운영할 때, 해당 클라우드 서비스의 특정 API로만 사용하게 되는 문제 / 한번 클라우드 시스템을 선택하여 사용할 때 다른 시스템으로 바꾸려는 경우 완전히 새롭게 시스템과 응용프로그램을 다시 만들어야 하는 문제) 에 대해 해결 할 수 있는 클라우드 시스템 모델인 메타클라우드를 제시한다.

메타 클라우드는 Public과 Private를 모두 운영 할 수 있는 하이브리드 클라우드 모델에서 더욱 발전하여 클라우드 서비스를 기반으로 만든 응용프로그램과에 대한 개발, 실행환경, 환경설정을 개발자의 요구조건에 따라 자유롭게 구성 할 수 있도록 제시하는 새로운 통합 클라우드 시스템 모델이다.

메타클라우드는 클라우드 공급업체의 Lock-In을 완화 시키는데 있어 크게 3가지 목표를 잡고 있는데 다음과 같다.

1) 특정 응용 프로그램에 대한 클라우드 서비스에 대한 최적의 조합을 선택할 수 있어야 한다.

2) 클라우드 기반 응용 프로그램을 개발 할 때 이 응용 프로그램은 다른 어느 클라우드 시스템과 호환이 되는 런타임 마이그레이션을 지원해야한다.

3) 표준화된 클라우드 프로그래밍 API를 통해 개발자가 응용 프로그램을 만들 수 있도록 지원해야 한다.

이러한 3가지 목표를 메타 클라우드라는 새로운 클라우드 모델로서 제시하고 있다. 메타클라우드에서는 Meta Cloud API, Resouce Templat, Provisioning strategy, Knowledge base, Resource Monitoring, Migration/deployment recipties, Meta cloud proxy 와 같은 기술적 개념을 제시하여 위 3가지 목표에 걸맞는 클라우드 모델을 제시 한다.

< 메타 클라우드의 구성 요소 >

< MetaCloud API >

메타 클라우드 API는 표준화된 클라우드 프로그래밍 API를 통해 개발자가 응용 프로그램을 만들 수 있도록 지원하는 것이 주된 목표이다. 추상적으로 통일된 프로그래밍 API를 제공함으로서 특정 클라우드 공급업체로만 사용이 가능한 응용 프로그램이 아닌 어떠한 클라우드 공급업체 시스템과도 사용이 가능한 응용 프로그램을 개발할 수 있게 해준다. 이러한 MetaCloud API에는 Jcloud, Libcloud, DeltaCloud등이 있으며 개발이 계속 되고 있다. 메타클라우드 API는 개발자들이 다른 클라우드 공급업체의 시스템으로 쉽게 전환이 가능하도록 지원하여, Lock-In문제를 완화 시킨다.

<Resource Templates>

Resouce Templates는 클라우드 시스템을 기반으로 한 응용 프로그램이 실행하는데 있어 필요한 클라우드 서비스의 모든 자원의 유형을 지원 한다. 컴퓨팅 자원에 대한 예를 들어 보면 개발자는 CPU, RAM, 메모리 공간을 직접 지정할 수 있고 이렇게 지정한 내용을 메타 클라우드의 Resouce Templates에 간단한 도메인 특정언어(DSL)로 정의한다. 클라우드 서비스를 운영하는데 있어 개발자가 원하는 모든 유형을 Resource Templates에 정의 해놓으면 이를 기반으로 다음에 나오는 Provisioning Strategy를 구성할 수 있다

 

 

<Provisioning Strategy>

. Provisioning Strategy은 클라우드 서비스를 기반으로 한 응용 프로그램이 다양한 클라우드 서비스에 대해 우선순위를 정하여 합리적인 비용과 효율적인 서비스를 선택할 수 있게 해준다. 예를 들어 응용 프로그램이 아마존 클라우드 서비스를 먼저 선택하여 자원이 결정 되고 나면 다른 클라우드 서비스를 Resource Template의 데이터와 Resource Monitoring을 통한 데이터를 분석하여 다른 클라우드 서비스를 추천한다. 추천된 클라우드 서비스를 이용하고자 선택하면 메타 클라우드는 모든 인스턴스와 자원들을 응용 프로그램에 프로비저닝을 시킨다. 이러한 provisioning Stategy는 응용 프로그램에 가장 알맞은 클라우드 시스템을 기반으로 하여 사용 할 수 있게 함으로서 비용적 문제해결과, 자원에 대한 효율적인 사용을 할 수 있게 해주며 Lock-IN을 완화 시킨다.

< Resource Monitoring >

Resource Monitoring은 메타클라우드의 Metacloud Proxy에 의해 수집된 데이터를 받는다. 이러한 정보를 바탕으로 클라우드 서비스 공급업체에 대한 종합적인QoS정보를 생성 할 수 있다.

< MetaCloud Proxy >

메타클라우드는 클라우드 리소스에 대한 프로바이저닝/응용프로그램 실행에 대한 프록시 개체를 제공한다. 프록시는 응용 프로그램 및 클라우드 제공업체 사이에서 중재자 역할을 담당한다. 프록시는 응용프로그램에서 API를 통해 요청을 할 때 이 요청을 변환하여 특정 공급업체 시스템에 전달한다. 또한, 프록시 개체는 메타클라우드내에 실행중인 자원을 모니터링하고 이러한QoS를 Resource Monitoring에 보내게 된다. 메타클라우드는 응용프로그램에서의 정기적인 서비스 호출에 대해서는 높은 부화 및 명목현상을 방지하기 위해 최소한으로만 유지 시킨다. 클라우드공급자 전체의 QoS는 Knowledge base에 저장되며 이를 바탕으로 Provisioning Strategy정보에 업데이트 할 수 있다

 

메타클라우드는 위 기술들을 바탕으로 클라우드 공급업체의 Lock-In을 완화 시킬 수 있으며, 클라우드 컴퓨팅의 투명한 서비스를 제공하여, 통합 클라우드 환경을 구축하고자하는 목표를 달성 할 수 있다.

'Cloud > 멀티클라우드' 카테고리의 다른 글

Cloud API Call Architecture  (0) 2013.10.23
Compare Closs-Platform Cloud API(Jcloud, Libcloud, Deltacloud)  (0) 2013.10.23
Jcloud  (0) 2013.10.23
Deltacloud 2013-02-21  (0) 2013.10.23
Libcloud 2013-02-14  (0) 2013.10.23