3대 클라우드 컴퓨팅 플랫폼의 간략한 비교

IT 업계에서, 이름만 대면 누구라도 공감하고 인정할 수 있는 업체 3곳의 클라우드 컴퓨팅 솔루션과 서비스는 현재 전세계의 모든 사람들에게 큰 신뢰를 얻고 있습니다. 바로, 마이크로소프트, 구글, 아마존입니다. 진정으로 많은 자료들과 백서들이 공개되고, 심지어는 UCC로 만든 튜토리얼까지 엄청난 자료들이 매일 쏟아지고 있습니다. 하지만 구체적으로 클라우드 컴퓨팅 플랫폼이 각 업체들마다 어떤 특징이 있는지, 어떤 방향으로 개발이 되어가고 있는지를 진단해볼 필요가 있을 것입니다.


 


1. 아마존의 EC2 / S3


 


아마존 웹 서비스 프로젝트 아래에 제공되는 클라우드 컴퓨팅 솔루션이 바로 EC2와 S3입니다. EC2는 Elastic Cloud Computing, S3는 Simple Storage Service의 줄임말입니다. EC2는 가상화 기술과 로드밸런싱 기술을 바탕으로 하여, 실시간으로 가상의 서버를 증설하거나, 제어하거나, 관리할 수 있는 클라우드 컴퓨팅 서비스를 제공합니다. 그리고 S3는 천문학적인 규모의 데이터 저장소를 역시 실시간으로 증설, 제어, 관리할 수 있는 서비스를 제공합니다.


 


EC2와 S3를 설명하는 많은 수의 튜토리얼에서 보여지는것처럼, 아마존의 클라우드 컴퓨팅 서비스는 “완전한 제어”를 가장 큰 장점으로 꼽습니다. 클라우드 내의 가상 머신의 자원을 계획적으로 할당하고, 정교하게 프로그래밍하기를 원하는 모든 이들에게는 최상의 선택일 것입니다. 더욱 매력적인 것은, 리눅스를 운영 체제로 사용하도록 계획된 가상 머신의 경우, 미리 템플릿으로 정의된 가상 머신을 이용할 수 있는 것은 물론, 가상 머신을 구동하기 이전이라도 필요한 패키지들을 미리 고르고 한꺼번에 빌드할 수 있는 기능까지 제공합니다. 그리고, Windows Server 2003과 2008을 OS로 지원하고, 기존에 보유하고있던 Windows Server 2003과 2008 라이선스를 EC2 기반으로 옮기는 정책 또한 지원을 하고 있습니다.


 


잘 생각해보면, EC2는 서버 호스팅의 그것과 상당히 닮아있습니다. 오히려, 서버 호스팅에서도 누릴 수 없는 자유도를 완전히 누릴 수 있기까지 합니다. 하지만, 클라우드 컴퓨팅을 어떤 방향으로 이용하고 계획할지를 결정해야 하는 부분이 크기 때문에, EC2와 S3 같은 클라우드 컴퓨팅 내의 자원을 활용하는 일 자체가 하나의 프로젝트가 될 수도 있습니다.


 


요약하면, 아마존이 제공하는 클라우드 컴퓨팅은 IaaS에 해당합니다. (Infrastructure as a Service)


 


2. 구글의 AppEngine (특별히 Java + Eclipse의 경우를 예로 들어봅니다.)


 


구글의 AppEngine은 본디 Python 기반의 Application Hosting Platform으로 처음 소개되었습니다. 하지만 최근에 Java 기반의 개발 도구와 함께 JSP 기반의 응용프로그램을 호스팅할 수 있게 되어 좀 더 소개를 해봅니다. 아래는 Eclipse 기반의 Google AppEngine 개발에 관한 튜토리얼 비디오입니다.


 



 


Windows Azure 기반의 클라우드 컴퓨팅을 먼저 보신 분이시라면, 위의 비디오에서 소개하는 내용이 Windows Azure 기반의 Web Role 개발 과정과 닮아있는 것을 보실 수 있습니다. 다만 차이가 있다면, Google AppEngine은 각 응용프로그램에 대해서 개별 VM을 할당하는 방식이 아닌, Hosting 방식으로 구성됩니다.


 


그리고 Google AppEngine은 BigTable이라고 하는 Google의 전매 특허격 스토리지 서비스를 기반으로 데이터 입/출력 기능을 제공합니다. (참고로 BigTable은 구글이 인덱싱하고 있는 천문학적인 수준의 데이터베이스를 구동하는 실체입니다.)


 


Google AppEngine은 전형적인 Platform as a Software (PaaS)를 보여주는 것으로, 개발자들이 클라우드 컴퓨팅의 세부 사양에 집중하지 않고, 응용프로그램의 핵심 부분에만 집중하여 빠른 소프트웨어 출시를 가능하게 해주는 것을 주요 골자로 하고 있습니다.


 


3. Windows Azure의 현재와 미래


 


그렇다면, 이 글을 작성하는 현 시점의 Windows Azure는 어떤 상태일까요? Windows Azure는, 내부적으로 IaaS의 성질과 PaaS의 성질을 모두 지니고 있는 것으로 이해할 수 있습니다. Windows Azure에서 응용프로그램을 배포할 때, 과금을 시작할 때에는 거의 모든 부분이 가상 머신의 실행 시간에 초점이 맞추어져 있습니다. 그리고 단순히 응용프로그램을 배포하는 것의 문제와는 별개로, 가상 머신의 실행 과정이 배포 과정에서 상당히 중요한 요소가 됩니다.


 


Windows Azure 안에서 실행되는 VM을 완전히 통제할 수 없다는 제약 사항은 PaaS에 초점이 맞추어진 것과도 연결되는 맥락으로 볼 수 있습니다. 실제 소프트웨어나 서비스를 구동하는데에 있어서, VM 내의 관리자 권한은 필수 요소가 아니기 때문일 것입니다. 하지만, 이런 와중에도 Windows Azure에서 Amazon EC2와 같은 완전한 제어가 가능한 서버 호스팅형 클라우드 서비스의 출시를 요청하는 사람들이 많았고, 이에 따라 관련된 서비스의 출시를 예정하는 소식도 최근에 들렸습니다. 자세한 내용은 “Windows Azure에 추가될 새로운 기능“을 참고하시면 되겠습니다.


 


Windows Azure에 Remote Desktop Protocol 및 VM 제어 기능이 추가된다면, Windows Azure는 클라우드 컴퓨팅을 IaaS 관점에서 활용하기를 희망하는 수요에도 대응되고, PaaS 관점에서 활용하기를 희망하는 수요에도 대응되는 매력적인 플랫폼이 될 것이라 예견해 봅니다.


 


참고 자료: http://xguru.net/blog/488.html


 

3대 클라우드 컴퓨팅 플랫폼의 간략한 비교”에 대한 1개의 생각

  1. 핑백: PERSONALTECH ~

댓글 남기기