15
27 클라우드컴퓨팅 서비스 플랫폼 기술 동향 1. 클라우드 컴퓨팅 서비스 개념 가. 등장 배경 현재 전 세계 정보기술(IT)인프라는 과부하로 몸살을 앓고 있다. 급속하게 늘어나는 천문학 적 숫자의 컴퓨터와 네트워크 장비, 관련 설비 등으로 기업이나 기관들의 데이터센터는 이미 포 화 상태이다. 매일 쏟아지는 엄청난 양의 데이터와 복잡한 IT 기술들을 제대로 관리하기 힘들어 인프라로서의 기능을 제대로 발휘하지 못하기 시작하였다. 이 문제를 극복하려면 IT 인프라에 관한 새로운 방법과 기술이 필요하다. 문제 해결의 실마 리를 보여주는 것이 바로 클라우드 컴퓨팅(Cloud Computing) 기술이다. 인터넷이나 인트라넷 등 네트워크에 접속하여 가상공간 서버에서 데이터를 처리ㆍ저장하고 애플리케이션(응용 프로그 램)을 쓰는 일을 의미한다. 기업의 경우 자체 전산실 컴퓨터에 모든 걸 보관하지 않고 인터넷을 통해 원격 컴퓨터에 저장된 데이터나 애플리케이션에 접속하여 원하는 정보를 처리하는 것이다. 2006 년 9 월 구글사 CEO 회의에서 처음 제안된 클라우드 컴퓨팅은 최근에 아마존, MS, 구 글, IBM 등 IT 글로벌 기업들이 참여하면서 이슈화되기 시작하였다. 클라우드 컴퓨팅은 최근 SOA(Service Oriented Architecture), SaaS(Software as a Service)로 등장하고 있다. 이 이슈 들은 갑자기 생겨났다기 보다는 기존의 것들을 새롭게 재조명한 것이다. 클라우드 컴퓨팅 은 인터넷 상의 서로 다른 물리적인 위치에 존재하는 각종 컴퓨팅 자원들 IT 기획시리즈 차세대 컴퓨팅 ⑦ 1. 클라우드 컴퓨팅 서비스 개념 2. 클라우드 서비스 플랫폼 3. 플랫폼 개발 동향 4. 오픈 플랫폼 기술 5. 클라우드 컴퓨팅의 전략적 제언 최 성 남서울대학교 컴퓨터학과 교수 [email protected] * 본 내용과 관련된 사항은 남서울대학교 컴퓨터학과 최성 교수(☎ 041-580-2000)에게 문의하시기 바랍니다. ** 본 내용은 필자의 주관적인 의견이며 NIPA 의 공식적인 입장이 아님을 밝힙니다.

클라우드컴퓨팅 서비스 플랫폼 기술 동향 - ITFIND기본 기술이다. 그래서 VMware와 Citrix 등 서버 가상화 솔루션 업체가 클라우드 솔루 션 시장에

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

IT 기획시리즈 – 차세대 컴퓨팅 ⑦

27

클라우드컴퓨팅 서비스 플랫폼 기술 동향

1. 클라우드 컴퓨팅 서비스 개념

가. 등장 배경

현재 전 세계 정보기술(IT)인프라는 과부하로 몸살을 앓고 있다. 급속하게 늘어나는 천문학

적 숫자의 컴퓨터와 네트워크 장비, 관련 설비 등으로 기업이나 기관들의 데이터센터는 이미 포

화 상태이다. 매일 쏟아지는 엄청난 양의 데이터와 복잡한 IT기술들을 제대로 관리하기 힘들어

인프라로서의 기능을 제대로 발휘하지 못하기 시작하였다.

이 문제를 극복하려면 IT 인프라에 관한 새로운 방법과 기술이 필요하다. 문제 해결의 실마

리를 보여주는 것이 바로 ‘클라우드 컴퓨팅(Cloud Computing)’ 기술이다. 인터넷이나 인트라넷

등 네트워크에 접속하여 가상공간 서버에서 데이터를 처리ㆍ저장하고 애플리케이션(응용 프로그

램)을 쓰는 일을 의미한다. 기업의 경우 자체 전산실 컴퓨터에 모든 걸 보관하지 않고 인터넷을

통해 원격 컴퓨터에 저장된 데이터나 애플리케이션에 접속하여 원하는 정보를 처리하는 것이다.

2006년 9월 구글사 CEO회의에서 처음 제안된 클라우드 컴퓨팅은 최근에 아마존, MS, 구

글, IBM 등 IT 글로벌 기업들이 참여하면서 이슈화되기 시작하였다. 클라우드 컴퓨팅은 최근

SOA(Service Oriented Architecture), SaaS(Software as a Service)로 등장하고 있다. 이 이슈

들은 갑자기 생겨났다기 보다는 기존의 것들을 새롭게 재조명한 것이다.

“클라우드 컴퓨팅”은 인터넷 상의 서로 다른 물리적인 위치에 존재하는 각종 컴퓨팅 자원들

18 IT 기획시리즈 차세대 컴퓨팅 ⑦

1. 클라우드 컴퓨팅 서비스 개념

2. 클라우드 서비스 플랫폼

3. 플랫폼 개발 동향

4. 오픈 플랫폼 기술

5. 클라우드 컴퓨팅의 전략적 제언

최 성

남서울대학교 컴퓨터학과 교수

[email protected]

* 본 내용과 관련된 사항은 남서울대학교 컴퓨터학과 최성 교수(☎ 041-580-2000)에게 문의하시기 바랍니다.

** 본 내용은 필자의 주관적인 의견이며 NIPA의 공식적인 입장이 아님을 밝힙니다.

주간기술동향 통권 1438호 2010. 3. 24.

28

을 가상화 기술로 통합하여 사용자에게 언제 어디서나 필요한 양만큼 편리하고 저렴하게 사용할

수 있는 환경을 제공하는 기술이다. 즉, ‘구름 같은 컴퓨팅’은 호스팅 서비스, SaaS, 유틸리티 컴

퓨팅(Utility Computing) 등이 진화된 형태이다.

나. 발전 역사

클라우드 컴퓨팅의 개념은 1960 년대 미국의 컴퓨터 학자인 존 맥카시(John McCarthy)가

“컴퓨팅 환경은 공공 시설을 사용하는 것과도 같은 것”이라는 개념에서 출발한다. 1990 년대에

(그림 1) 컴퓨팅 환경의 진화

(그림 2) 클라우드 컴퓨팅의 성장세

IT 기획시리즈 – 차세대 컴퓨팅 ⑦

29

이미 클라우드라는 용어가 거대한 규모의 ATM 을 지칭하는데 쓰였다. General Magic 사는

1995년에 AT&T와 다른 여러 통신사들과 제휴를 맺고 클라우드 컴퓨팅을 서비스 시작하였다.

하지만 이 시기는 소비자 중심의 웹 기반이 형성되기 전이어서 사업들은 실패하였다.

21세기에 들어서야 클라우드 컴퓨팅이라는 단어가 알려지기 시작했다. 그러나 당시 클라우드

컴퓨팅은 대부분의 내용이 SaaS에 집중되어 있었다. 1999년, Marc Benioff, Parker Harris그룹

이 중심이 되어 설립 된 Salesforce.com 은 구글사에서 개발된 기술들을 접목시키고, 야후에서

개발된 업무용 응용 SW를 접목시켜 클라우드 컴퓨팅 환경을 제공하였다. 이들은 ‘On Demand’

나 SaaS와 같은 새로운 개념을 적용하여서 사용자들은 호환성과 속도에서 좋은 반응을 보였다.

아마존은 클라우드 컴퓨팅의 발전에 중요한 역할을 했다. 닷컴 버블 사태 이후에 아마존은

갑자기 증가하는 트래픽에 대비하기 위해 남겨두었던 데이터센터의 유휴 자원을 활용했다. 기존

에 아마존이 쓰고 있던 ‘two-pizza teams’ 원칙 덕분에 아마존은 새로운 기능을 빠르게 내놓을

수 있었다.

이러한 기반 속에서 아마존은 2005 년에 자사의 웹 서비스를 통해 유틸리티 컴퓨팅을 기반

으로 하는 클라우드 컴퓨팅 서비스를 시작하였다. 2007년부터 구글과 IBM 그리고 대학들에서

본격적인 클라우드 컴퓨팅 연구가 시작되었다.

다. 클라우드 컴퓨팅 정의

클라우드 컴퓨팅은 다양한 응용 프로그램들을 수용하여 잘 관리되면서 높은 확장성을 갖는

추상화된 컴퓨팅 인프라의 집합을 의미한다. 이 개념은 유틸리티 컴퓨팅이나 서비스로서의 소프

트웨어(SaaS), 그리고 그리드(Grid) 컴퓨팅 개념들이 혼합된 개념이다. 즉, 하드웨어적인 또는

소프트웨어적인 컴퓨팅 자원을 사용한 만큼 비용을 지불한다는 의미에서 사용자 측면에서는 유

(그림 3) 클라우드 컴퓨팅 구성도

주간기술동향 통권 1438호 2010. 3. 24.

30

틸리티 컴퓨팅이나 SaaS와 유사하다. 분산된 여러 컴퓨팅 자원을 취합하여 하나의 컴퓨팅 자원

처럼 사용할 수 있도록 제공한다는 자원 제공자 측면에서는 그리드 컴퓨팅의 개념과 같다.

클라우드 컴퓨팅은 IT 관련된 기능들이 서비스 형태로 제공되는 컴퓨팅 스타일이다. 사용자

들은 기술 인프라스트럭처에 대한 전문 지식이 없어도 인터넷으로 서비스를 받을 수 있다. IEEE

에서는 “정보가 인터넷 상의 서버에 영구적으로 저장되고 데스크탑이나 휴대용 기기 등과 같은

클라이언트에는 일시적으로 보관되는 패러다임이다.”라고 정의한다.

그러므로 ‘클라우드 컴퓨팅’은 서로 다른 물리적인 위치에 존재하는 컴퓨터들의 리소스를 가

상화 기술로 통합하여 제공하는 기술이라고 정의한다. 즉, 개인용 컴퓨터나 기업의 서버에 개별

적으로 저장하여 두었던 프로그램이나 문서를 인터넷으로 접속할 수 있는 대형 컴퓨터에 저장하

고, 개인 PC는 물론이고 모바일 등 다양한 단말기로 웹 브라우저 등 필요한 애플리케이션을 구

동하여 원하는 작업을 수행할 수 있는 이용자 중심의 컴퓨터 환경을 의미한다.

현재 일부 클라우드 컴퓨팅서비스는 Google DOCs(Google), Work Space(Microsoft),

Acrobat.Com(Adobe) 등에서 제한적으로 제공되고 있다.

라. 클라우드 컴퓨팅 환경

개인 컴퓨터 또는 응용서버가 컴퓨터들의 구름(Cloud of Computers: 대규모 컴퓨터 집합)으

로 옮겨간 형태로서 개인용 컴퓨터나 기업의 서버에 개별적으로 저장하여 두었던 모든 자료

(Data)와 소프트웨어(Program)를 클라우드 컴퓨터에 저장해 놓고, 인터넷 접속이 가능한 컴퓨터

나 모바일 기기 등을 이용하여 언제 어디서나 원하는 작업을 수행할 수 있는 차세대 사용자 컴

퓨팅 환경이다.

(그림 4) 클라우드 컴퓨팅 환경모델

Virtualization

- Platform

- Network Management

- Load Balancing

- High Availabillity - Fail Over - Quallity of Service

Distributed System

- Database

- File - Computing

What’s the next?

Technology Cloud

Computing

Technology

Service Delivery Model

- Software as-a-Service

- Platform as-a-Service - Infrastructure as-a-Service

Billing & Provisioning Model

- Utility Computing

IT 기획시리즈 – 차세대 컴퓨팅 ⑦

31

클라우드 컴퓨팅 환경에서는 애플리케이션을 개발하거나 서비스할 때 서버나 스토리지 등

컴퓨팅 자원 등을 자체적으로 보유하지 않는다. 이 같은 클라우드 컴퓨팅 플랫폼 사업자의 자원

을 이용하여 개발하고 서비스한다. 그러므로 서비스 제공자가 소비자에게 다양한 IT 기반 기능

을 전달해주는 컴퓨팅의 방식이다. 이는 내재된 신축성과 확장성을 가지고 있어서 기업의 진입

장벽을 감소시키고 고속성장을 가능하게 한다. 특히 이 서비스 활성화로 중소기업에 많은 혜택

이 돌아갈 것이다.

2 클라우드 서비스 플랫폼

가. 플랫폼 서비스 구조

차세대 웹 기술의 발전과 확산으로 IT 전 분야에 영향을 끼치고 있다. 클라우드 컴퓨팅 기술

도 플랫폼으로서의 역할과 서비스 기능이 강조되면서 차세대 웹 기술과의 접목을 통한 클라우드

플랫폼(Cloud Platform)으로 발전하고 있다. 이 클라우드 플랫폼은 향후 다양한 단말과 유기적

으로 연동 가능한 유비쿼터스 서비스 플랫폼으로 발전된다.

또한, 클라우드 컴퓨팅의 미래 서비스 패러다임은 사용자와 서비스 중심의 개방형 구조로 변

화하며, 네트워크와 단말에 독립적인 차세대 웹 기반의 서비스 지향 클라우드 컴퓨팅 플랫폼 구

조로 발전된다. 즉, 서비스 및 데이터 가상화 기술은 서버 가상화를 넘어서는 서비스 및 응용 가

상화 실현 기술과 클라우드 서비스를 위한 새로운 데이터 처리 기술로 발전된다. 개방형 구조의

다중 단말 서비스 플랫폼 기술이 중요한 기술로 등장하게 된다.

또한, 보안, 프라이버시 지원(신뢰성 확보) 기술은 데이터 집중화에 따른 해킹 및 서비스 중단

위험이 존재하기 때문에 이를 해결하기 위한 보안기술이 개발되고 있다. 도메인 특화(Business

(그림 5) 클라우드 컴퓨팅 플랫폼 기업 서비스 모델

주간기술동향 통권 1438호 2010. 3. 24.

32

Model, 다중화) 기술은 기업용 서비스를 넘어서 클라우드 서비스 기술로 발전이 예상됨에 따라

이에 대한 중장기적인 기술개발 및 표준화 작업이 요구된다.

향후 컴퓨팅 및 서비스 환경은 시간과 공간을 초월하는 서비스 기능성 그리고 유비쿼터스 환

경에서 다양한 유무선 단말의 무결절성(Seamless) 서비스 제공이 필수적으로 요구되고 있다.

그리고 가상화 기술은 서버자원, 운영체제(OS), 애플리케이션을 대상으로 하거나 스토리지, 서버,

네트워크 자원 등을 대상으로 개별적인 가상화(Virtualization) 기술 개발이 이루어졌다((그림 5)

참조). 그러나 조만간 개별 가상화 기술이 하나로 통합된 형태로 제공되는 클라우드 플랫폼으로

발전된다. 특히, 유비쿼터스 단말에서의 무결절성 서비스 및 웹 운영체제기능 등이 포함된 웹 클

라우드 플랫폼 기술과 같은 선도적이고 차별화된 기술 개발이 가능한 분야이다.

나. 플랫폼 공통 요소기술 구조

컴퓨팅 기술 발전의 관점에서 보면 클라우드 컴퓨팅은 새로운 개념이 아니다. 클러스터 컴퓨

팅부터 시작하여 그리드컴퓨팅, 유틸리티컴퓨팅, 서비스 지향 컴퓨팅 등의 핵심 철학이 하나로

녹아들어 클라우드 컴퓨팅이 구성된 것이다. 필연적으로 클라우드 컴퓨팅 플랫폼의 기술적 토대

는 현존하는 여러 기반 기술로 구성되었음을 알 수 있다.

① 자원 가상화(Virtualization) 기술: 컴퓨팅 자원의 활용률을 극대화하고 대규모 데이터센터

의 관리 편이성을 확보하기 위해서 자원을 가상화하여 운용관리하는 자원 가상화 기술은

(그림 6) 클라우드 컴퓨팅 플랫폼의 공통 기술 구조

클라우드 플랫폼 서비스 프레임워크 Platform as a Service

웹 클라우드 플랫폼 서비스 공통 API(Open API)

웹 클라우드 서비스 플랫폼 인터페이스

u-클라우드

지원

장치독립

클라우드 코어 서비스 프레임워크 Utility as a Service

자원관리 & 스케줄링

서비스 프로비저닝

모니터링 &프로파일링

Account & Billing

Security & Privacy

웹 클라우드 서비스 인터페이스

클라우드 자원 가상화 프레임워크 Infrastructure as a Service

클라우드 서버 가상화(파일, 스토리지, 프로세싱)

클라우드 서버 클러스터링

클라우드

서버 연동

IT 기획시리즈 – 차세대 컴퓨팅 ⑦

33

기본 기술이다. 그래서 VMware 와 Citrix 등 서버 가상화 솔루션 업체가 클라우드 솔루

션 시장에 적극 참여하고 있다.

② 대용량 분산 시스템 기술: 대규모 사용자와 많은 서비스가 기본이므로, 대용량 저장능력

과 고성능 컴퓨팅 파워를 제공하고 신속한 확장성을 보장할 수 있는 분산 시스템 기술이

필수이다.

③ 자원 및 서비스 운영/관리 기술: 서비스 및 사용자의 동적인 변화에 능동적으로 대응하여

자원을 관리하고 글로벌 규모로 서비스를 배포 및 관리하는 기술이 필요하다. Autonomic

Computing, SLA, Workflow Management, Global Service Provisioning 기술 등이 있다.

④ 서비스 지향 인터페이스 기술: 클라우드 컴퓨팅은 ‘As a Service’ 형태의 기능 접근 방법

을 제공한다. 따라서 자원에 대한 접근에서 플랫폼 자체에 대한 제어까지 서비스 지향 인

터페이스로 정의되고 구현된다.

⑤ 클라우드 보안 및 프라이버시 기술: 클라우드 컴퓨팅으로 인한 데이터와 서비스의 중앙집

중화는 악의적인 공격에 치명적인 결함을 초래할 수 있으며, 여러 서비스에 의해 자원이

공유되는 환경은 Intra-Cloud에서 보다 강력한 보안 및 프라이버시 기술을 필요하다.

3. 플랫폼 개발 동향

가. Amazon EC2 플랫폼

Amazon EC2 는 사용자에게 가상의 컴퓨팅 자원을 제공하고 사용한 만큼 비용을 청구하는

서비스다. 비용은 1 시간 단위로 계산되며 가장 기본 단위의 컴퓨팅 인스턴스를 1 시간 사용시

10센트가 청구된다. EC2의 3가지 기술 컴포넌트는 다음과 같다..

① EC2 인스턴스(Instance): OS 와 애플리케이션이 실행되는 최소 컴퓨팅 자원 단위로서

Xen 기반의 가상머신이다. 인스턴스의 종류는 웹 서비스와 같이 보통 애플리케이션에 적

합한 사양의 표준 인스턴스와 복잡한 계산 응용을 위한 High CPU 인스턴스로 나뉘며, 각

인스턴스의 크기는 가상머신 생성시 CPU, 메모리, 디스크 등 자원 할당을 조절하면서 결

정된다. 가장 기본적인 인스턴스는 1 개의 가상 코어(1.0~1.2GHz 2007 Opteron 혹은

2007 Xeon 프로세서에 해당), 1.7GB 메모리, 160GB 디스크 용량을 가진 32bit 머신에

해당한다.

② AMI(Amazon Machine Image): OS와 애플리케이션을 포함한 부팅 가능한 루트 디스크

이미지다. AMI는 Amazon에 의해 미리 패키징된 것들과 사용자와 파트너사에 의해 필요

주간기술동향 통권 1438호 2010. 3. 24.

34

에 따라 적절한 애플리케이션들로 패키징된 것들이 존재한다. AMI 에서 지원하는 OS 는

각종 Linux 배포판으로부터 Windows Server 2003, OpenSolaris 등 다양하며, 이미 제

공되고 있는 AMI 에는 Apache 웹 서버부터 데이터베이스, WAS, 개발환경, Hadoop 등

다양한 애플리케이션 등이 패키징되어 있다.

③ Simple APIs: “As a Service”는 표준 인터넷 프로토콜을 통해 제공된 모든 기능에 접근

할 수 있음을 의미한다. EC2 역시 EC2 인스턴스와 AMI를 컨트롤하고 관리하는 대부분

의 기능이 SOAP API와 HTTP Query API로 구현되어 있다. 따라서 기본적으로 제공되

는 Command Line 도구 외에 외부 웹 서비스나 애플리케이션을 통해 EC2 서비스에 접

근 가능하다.

나. Google App Engine 플랫폼

Google App Engine은 2008년 4월에 시작한 클라우드 컴퓨팅 서비스로서 사용자 개발 웹

서비스를 구글 인프라 위에서 실행할 수 있는 인프라 자원을 제공할 뿐 아니라 웹 서비스를 개

발할 수 있는 SDK와 서비스 관리 도구 등도 함께 제공하는 클라우드 플랫폼이다. 이미 다양한

서비스를 통해 검증된 Google 인프라를 활용하므로 확장성과 안정성 측면에서 개발자는 부담을

덜 수 있게 되고, 더욱이 웹 서비스 개발 환경을 제공하기 때문에 서비스 개발부터 배포, 운영까

지 전 과정을 Google App Engine에서 처리할 수 있다. Google App Engine 플랫폼은 (그림 8)

과 같고 5가지 핵심적인 특징이 있다.

① 확장성 있는 서비스 인프라스트럭처: 사용자 개발 서비스들은 Google 서비스와 동일한

인프라 기술 위에서 실행되기 때문에 서비스의 확장성과 안정성이 있다.

EC2 Instance Pool

EC2 Host

(그림 7) Amazon EC2 플랫폼 구조

EC2 Host

EC2 Instance

Xen Hypervisor

EC2 Instance

EC2 Instance

EC2 Instance

Xen Hypervisor AW

S Int

erf

ace(S

OAP, REST

)

EC2 Manger

S3 Manger

AMI

Amazon S3

IT 기획시리즈 – 차세대 컴퓨팅 ⑦

35

② Python 런타임 환경과 다양한 서비스 APIs: 현재 Python 실행 환경을 제공하고 있으며,

MVC 모델을 비롯하여 보다 효율적인 개발을 돕기 위해 Python 웹 프레임워크인 webapp

와 Django를 제공한다. 그리고 서비스에 필요한 여러 가지 기능들(인증, 이미지 처리, 메

일, 데이터 접근 등)을 미리 구현하여 API 형태로 제공하고 다양한 Google API와 연동을

지원하여 서비스 확장을 돕는다.

다. Microsoft Azure 서비스 플랫폼

Azure 서비스 플랫폼은 2008 년 10 월 Microsoft 의 기술 컨퍼런스인 PDC 에서 처음 발표

된 클라우드 컴퓨팅 플랫폼이다. Azure 플랫폼의 목표는 “Platform as a Service” 시장이며, 웹

애플리케이션의 개발과 운영을 지원하는 Web Role 서비스 타입을 지원한다는 점에서 Google

App Engine 과 유사하지만 추가로 .NET 기반의 애플리케이션을 클라우드 환경에서 제공하기

위해 Worker Role서비스를 지원한다.

① Windows Azure Compute 서비스: Windows Azure 는 클라우드에 적합하도록 설계된

Hypervisor 위에 각 애플리케이션 인스턴스를 위해 가상머신(VM)을 제공한다. 현재 웹

애플리케이션을 위한 Web Role 인스턴스와 .NET 기반 애플리케이션을 위한 Worker

Role 인스턴스, 두 가지 인스턴스를 지원한다. Windows Azure의 초기 버전은 VM과 물

리적인 프로세서 코어 간 1:1 관계를 유지하여 애플리케이션에게 일관된 성능이 보장된다.

② Windows Azure Storage 서비스: 스토리지 서비스는 클라우드 서비스를 위해 간단하고 확

장 가능한 스토리지를 제공한다. 세 가지 타입의 데이터 구조, 즉 이미지, 동영상 등의 바이

(그림 8) Google App Engine 플랫폼 구조

주간기술동향 통권 1438호 2010. 3. 24.

36

너리 데이터를 위한 Blob(Binary Large Object), Windows Azure 애플리케이션 간의 커뮤

니케이션을 위한 Queue, 엔티티의 계층구조를 표현할 수 있는 테이블을 제공한다. Azure

스토리지 서비스에서 제공하는 테이블은 LINQ Syntax 의 직관적인 쿼리 언어를 사용한다.

또한 애플리케이션들은 HTTP RESTful 접근을 통해 스토리지 서비스를 이용할 수 있다.

4. 오픈 플랫폼 기술

가. Hadoop 플랫폼

Hadoop 은 오픈소스 클라우드 컴퓨팅 플랫폼의 대표주자로서 이미 Yahoo!, Facebook,

Amazon, IBM, NexR 등 많은 기업들에서 활용되면서 가치를 인정받고 있다. Google 의 분산

플랫폼이 검색엔진을 분산화과정에서 개발되어 그 응용범위가 넓혀진 것처럼, Hadoop 역시

Lucene 과 Nutch 등의 오픈소스 검색엔진의 분산화를 위해 시작되었고, 최근에는 활용범위가

대용량 시스템으로 확대된 경우이다. 초기 개발 단계에서부터 Google GFS, MapReduce 등을

모델로 했기 때문에 Google 플랫폼과 유사한 방식으로 동작한다.

① HDFS(Hadoop Distributed File System): 대용량 데이터를 저장할 수 있는 분산 파일 시스

템으로 수 천 대 규모의 저가 서버 클러스터를 묶어 단일 파일 시스템 이미지를 제공하여

(그림 9) Microsoft Azure 서비스 플랫폼

IT 기획시리즈 – 차세대 컴퓨팅 ⑦

37

비용 절감 효과와 함께 뛰어난 확장성을 보장한다. 특히 데이터 안정성을 보장하기 위해 최

소 세 개의 복사본을 유지하며, 대용량을 커버하기 위해 64MB의 블록 단위를 가지고 있다.

② HBase: HDFS 기반의 분산 데이터 저장소로서 기존 관계형 데이터베이스와 달리 컬럼

기반의 Key-Value 방식의 저장방식을 채택하고 있으며, 메모리와 디스크를 동시에 활용

(그림 10) Hadoop 플랫폼 구조

(그림 11) HDFS 구조

(그림 12) MapReduce구조

주간기술동향 통권 1438호 2010. 3. 24.

38

하는 하이브리드 구조로 구현되어 있다.

③ MapReduce: 분산 데이터 처리 시스템으로 HDFS 에 분산 저장되어 있는 데이터를

map()과 reduce()라는 간단한 분산 프로그래밍 방식을 통해 병렬 처리해 준다. 분산 병렬

처리에 필요한 작업 스케줄링, 부하 분산, 장애 대책 등을 시스템에서 처리해 주기 때문에

쉽게 데이터 페러렐 스타일의 병렬 처리가 가능하다.

나. Eucalyptus: Elastic Utility Computing 플랫폼

Eucalyptus 는 캘리포니아 산타바바라 대학(UCSB)에서 클라우드 컴퓨팅 연구를 위해 만든

오픈 소스 플랫폼이다. 연구를 위해 만든 것이기 때문에 상업적인 플랫폼보다 설치와 관리가 용

이하고 플랫폼의 수정과 확장이 가능하도록 설계되어 있다. 컴퓨팅 자원에 대한 단순한 계층 구

조와 모듈형 디자인을 통해 확장되도록 하였고, Virtual Networking 과 Web Services 연결로

기존 인프라에 영향을 주지 않고 설치 가능하다. 그리고 설치의 편이성을 위해 오픈 소스 클러

스터 설치 도구인 Rocks Cluster를 활용한다. 또 상업적으로는 Amazon EC2와 인터페이스 호

환성이 보장되며 기존 툴들을 사용할 수 있다. 다양한 오픈 소스 소프트웨어의 활용 및 Xen

hypervisor와 Axis2, JiBX, Rampart 등의 산업계 표준 Web Services 소프트웨어를 이용한다.

① NC(Node Controller): VM 인스턴스를 호스팅하는 물리적 노드를 관리하기 위한 컴포넌

트로 각 노드에 설치되어 runInstance, terminateInstance, describeInstance 등의 VM

인스턴스를 관리하고 제어한다.

② CC(Cluster Controller): 노드 클러스터에서 NC 들을 관리하는 역할을 하며 일반적으로

클러스터의 헤드 노드에 설치된다. NC들에서 상태 정보를 수집하고 인스턴스 제어 명령

을 NC에게 전달하며 가상 네트워킹을 관리한다.

(그림 13) Eucalyptus 플랫폼 구조

IT 기획시리즈 – 차세대 컴퓨팅 ⑦

39

다. Enomaly ECP플랫폼

Enomaly ECP(Elastic Computing Platform)는 로컬 및 리모트 컴퓨팅 노드들을 가상 클라

우드 인프라스트럭처 환경으로 구성해서 가상 애플리케이션을 실행 관리할 수 있는 오픈 소스

소프트웨어이다. 특히 서버 가상화 관리 소프트웨어가 확장된 형태여서 클라우드 컴퓨팅 서비스

보다 관리기능에 중점을 두고 있다. 이를 위해 웹 기반의 매니지먼트 대시보드를 제공하여 VM

배치 플래닝, 자동 VM 스케일링, 부하 분산 등의 기능을 제어한다.

① 서버가상화관리: 다양한 하이퍼바이저와 인터페이스할 수 있는 리버트 오픈 소스 소프트

웨어를 사용하여 Xen, KVM, VMware 등의 서버 가상화를 지원하며, Virtual Application

Wizard로 가상 애플리케이션을 쉽게 배포할 수 있다.

② Hybrid Cloud Computing: 갑작스러운 자원 요구 증가에 대처하기 위해 Private Cloud

와 Public Cloud 를 결합한 Hybrid Cloud Computing 모델을 채택하고 있다. 이를 위해

VPC(Virtual Private Cloud)라는 개념을 도입, 로컬 자원과 리모트 자원을 단일

homogeneous computing 환경으로 만들어 준다.

라. EU Reservoir Cloud Computing Project

Reservoir 는 IT 서비스를 유틸리티로서 효율적이고 안정적인 배포 및 운영을 하기 위한 차

세대 컴퓨팅 클라우드 프로젝트이다. 특히 단일 클라우드 컴퓨팅의 제한된 확장성과 클라우드

컴퓨팅 서비스간 인터오퍼러블리티의 부재를 핵심 쟁점으로 지적하고, 이를 해결하기 위해 Open

Federated Cloud Computing 플랫폼을 연구한다. 또한 기업 비즈니스 요구에 맞추기 위해서

SLA(Service Level Agreement) 관리 및 동적 자원제어 알고리즘 개발에 중점을 두고 있다.

(그림 14) Enomaly ECP 플랫폼 구조

주간기술동향 통권 1438호 2010. 3. 24.

40

① Service Manifest: 서비스 애플리케이션 기술에 대한 모든 사항을 갖고 있다. 마스터 이

미지(OS, 미들웨어, 애플리케이션, 데이터, 설정 등)와 이를 이용한 VM 인스턴스 생성 규

칙, 가상 네트워킹 컴포넌트 등의 서비스 애플리케이션 구조 정보를 가지고 있으며, 이는

OVF(Open Virtual Format)를 확장한 형태로 기술된다. 또한 자원 할당 요구사항을 명시

하여 이를 기반으로 플랫폼의 자원을 제어한다.

② Service Manager: Service Manifest를 받아 비용을 협상하며 지불 처리를 관리하는 등

서비스 제공자와 커뮤니케이션을 담당한다. Service Manifest 의 정보에 따라 서비스 애

플리케이션을 배포 및 설치하고 이를 감시하며 SLA에 맞게 자원 할당량을 조절한다.

5. 클라우드 컴퓨팅의 전략적 제언

서비스 플랫폼에 대한 기술적 노하우와 운영 경험을 보유하고 있는 글로벌 IT기업이 성숙도

면에서 경쟁력이 있다. 이 때문에 클라우드 컴퓨팅으로 사업을 전환하려는 IT 기업들은 클라우

드 서비스 시장에서 대등한 기술력을 확보하기에는 매우 어렵다. 그러나 Hadoop사례처럼 기술

적으로 뛰어난 오픈 플랫폼은 시장에서 인정받고 많은 사용자 및 개발자를 확보하면 경쟁력 있

는 플랫폼으로 성장이 가능하다. 그리고 특화된 기술을 보유한 다양한 오픈 플랫폼이 등장하고

있으므로 이들과 유기적인 협력 관계를 유지한다면 뛰어난 플랫폼 기술을 확보할 수 있다. 이

협력관계는 오픈 플랫폼 기술 기반으로 경쟁력을 갖추기 위함이다. 이는 뒤쳐진 국내 클라우드

(그림 15) EU Reservoir Cloud Computing 플랫폼 구조

IT 기획시리즈 – 차세대 컴퓨팅 ⑦

41

컴퓨팅 플랫폼 기술을 단기간에 선두 사업자의 수준까지 오르려면 오픈 플랫폼을 최대 활용하는

전략이 필요하다.

특히, 범용 OS 에 이어 클라우드 플랫폼도 외산 플랫폼에 종속될 가능성이 높은 상황이어서

이에 대한 국가적 대응 전략이 필요하다. 그러므로 이 시점에서 국내에 필요한 기술과 현재 클

라우드 서비스에서 제공하지 못하는 부문에 대해 틈새시장을 확보하고, 관련 선행 기술 표준화

를 통하여 내수 시장을 보호하는 등의 클라우드 컴퓨팅에 대한 정책과 전략이 절실히 요구된다.

<참 고 문 헌>

[1] 최성, “가상화 스토리지 네트워크”, 홍릉과학기술출판사, 2002.

[2] 이강찬, 이승윤, “서비스지향 클라우드 컴퓨팅 플랫폼 기술 및 표준화”, ETRI 표준연구센터, 한국정보처

리학회지특집 2009년 3월호

[3] 한재선(NexR), “클라우드 컴퓨팅 플랫폼과 오픈 플랫폼 기술”, 한국정보처리학회지특집, 2009. 3

[3] 이종숙ㆍ박형우(한국과학기술정보연구원), “국내외 클라우드 컴퓨팅 동향 및 전망”, 한국정보처리학회

지, 2009년 3월호 특집

[4] 김양우, “클라우드컴퓨팅”, 동국대학교 IT학부 정보통신공학전공 교수, [email protected]

[5] 김창환, “정보통신 기술, 정책 및 산업”, “클라우드 컴퓨팅 기술시장동향”, NIPA, 주간기술동향, 2010. 2.

(그림 16) 클라우드 플랫폼의 구축 내용