2010년 2월 19일 금요일

클라우드 컴퓨팅 - 중요 기반인 서버 가상화와 분산처리 기술

 클라우드 컴퓨팅 실현에 열쇠가 되는 것으로, 서버 가상화 기술분산처리 기술이 있다.

 

 가상화 기술을 이용하면 1대의 물리적인 서버 컴퓨터를 가지고 여러 대의 서버를 이용하고 있는 것처럼 작동시킬 수 있으므로, 여러 사용자의 처리를 1대의 서버 컴퓨터로 대응할 수 있다. 또한 사용자가 사용하고 있는 서버의 용량이 부족한 경우에는 가상화 기술을 이용해 생성한 가상머신을 서버-프로비저닝(Server-Provisioning) 기술을 통해 추가하기만 하면 되므로, 스케일 아웃을 실현하기 위해서는 빼놓을 수 없는 기술이다.

 

 서버용 가상화 소프트웨어에는 VMware 및 마이크로소프트의 상용 제품과 함께 오픈소스 소프트웨어인 Xen 등이 있는데, 가능한한 낮은 요금으로 서비스를 제공한다는 관점에서 Xen을 기반으로 한 가상화 기술을 채택하고 있는 제공자가 많다. 또한 인텔이나 AMD 등의 칩 제조사가 Processor 수준에서의 가상화 기술 제공하기 시작하여, 오늘날에는 하드웨어 수준의 가상화와 소프트웨어 수준에서의 가상화가 함께 가상화 기술의 진전에 기여하고 있다.

 

 오늘날 클라우드 컴퓨팅을 지탱하는 또 하나는 분산처리 프로그래밍 기술이다. 유명한 분산처리 기술에는 구글이 개발한 맵-리듀스(MapReduce)와 이를 오픈소스로 구현한 하둡(Hadoop)이 있다. 이 기술들은 다수의 범용 서버로 구성된 컴퓨터 클러스터에서 대규모의 데이터 처리를 실행하는 데 적헙한 프레임워크다.

 

 Hadoop을 이용한 분산처리에는, 먼저 애플리케이션을 클러스터의 어느 노드에서도 실행 가능한 수백, 수천의 작은 워크로드(WorkLoad)로 분할한다. 그리고 나서 다수의 노드에 할당하고 각 노드로부터 순식간에 반환된 정보를 재구성해서 최종적으로 응답을 한다.

 

 Hadoop은 구글이 이용하는 한편, 아마존도 가상서버에서 사용자가 필요에 따라 간단하게 이용할 수 있는 환경을 마련해두고 있다. 또한 IBM도 클라우드 컴퓨팅 환경 구축에 Hadoop을 이용하고 있다.

 

 대규모 데이터의 분산 처리 기술의 근저에는 Failure-Oblivious Computing(에러 망각형 컴퓨팅)이라는 개념이 있다. 통상 프로그램 처리 방시과 다른 점은 메모리에 에러가 발생하더라도 컴퓨터는 단지 이를 무효한 값으로만 반환하고 계속 처리를 진행하는 방식이다. 이는 지속적인 클라우드 컴퓨팅 서비스를 위해 Google, Amazon 모두 사용하는 방식이다.

 

관련글: [책 소개] 클라우드의 충격    

댓글 없음:

댓글 쓰기