클라우드 컴퓨팅 & NoSQL/Azure

Windows Azure의 Compute 서비스

Terry Cho 2010. 11. 3. 15:04

Windows Azure Compute

AzureAmazon EC2와 같은 OS를 통째로 올리는 Iaas와 같은 클라우드 서비스가 아니라, 애플리케이션을 개발 및 배포할 수 있는 Paas(Platform As A Service)와 같은 개념을 가지고 있다. 쉽게 생각하면 Windows Azure는 일종의 Web Application Server (WAS) 개념으로 생각하면 된다.

Web Role & Worker Role

이러한 애플리케이션 서비스 모델을 Azure Compute라고 하고, 각 구체적은 서비스 모델에 따라서 ‘Role’이라는 개념으로 정의되는데, 크게 “Web Role”“Worker Role” 로 분리된다.

Web RoleASP.NET 기반의 웹 애플리케이션 서비스를 하기 위한 프로세스 모델로 생각하면 된다. IIS(Internet Information Server)내에서 기동이 된다.
 Worker Role
은 백 그라운드 작업을 하기 위한 Role로 생각하면 된다. HTTP 인터페이스를 가지지 않고 TCP Q등을 통해서 Invoke가 되고, Windows Server의 서비스 프로세스로 기동된다
.
Web Role
자체는 추가적인 설명이 필요 없을 듯 하고, Worker Role은 일종의 Unix Process(?)와 유사한 개념으로 생각하면 되는데, 자바 진영의 MDB (Message Driven Bean)과 같은 개념으로도 사용될 수 있고, TP Monitor들의 서비스 프로세스와 같은 개념으로도 사용될 수 있다.

흥미로운 것 중의 하나는 Worker Role을 이용하여 요즘 유행하는 Map & Reduce (하나의 거대 작업을 작은 단위로 나눠서 패레럴 하게 처리한 후 합쳐서, 전체 성능을 끌어올리는 알고리즘) 을 구현할 수 있다. Map & Reduce를 수행하기 위해서는 앞단에서 작업을 분배해주는 작업 큐와, 작업 내용을 저장할 저장소가 필요한데, 이는 Windows Azure Storage ServiceQueue Service를 이용해서, Worker Role에 작업을 분산 지정할 수 있고, Storage ServiceBlob이나 Table Storage를 이용하여 작업 내용을 저장할 수 있다.

VM Role

이번에 새로 발표된 Role로써는 VM Role이 있다. Amazon EC2 AMI와 같은 형태의 Iaas 서비스라고 생각하면 된다. VM Role 이전에 Windows Azure Paas 성격이 강했으나, 이번 VM Role의 추가로, Windows 기반의 Iaas 서비스가 가능하게 되었다. OSVirtual Machine Image를 통째로 VM Role에 올려서 독립적인 OS를 사용할 수 있다.