블로그 이미지
평범하게 살고 싶은 월급쟁이 기술적인 토론 환영합니다.같이 이야기 하고 싶으시면 부담 말고 연락주세요:이메일-bwcho75골뱅이지메일 닷컴. 조대협


Archive»


 
 

어제 발표된 Microsoft Azure의 IaaS 서비스와 Amazon의 AWS 서비스 사이에 가격 비교를 해봤다.

아래 내용은 네트워크 비용이나 Blob Storage 등 부가 서비스를 제외하고 EC2 서비스 만을 비교한 것이다.

 

 

요약 - Linux VM의 경우 동일, Windows VM의 경우 MS가 저렴

Linux VM의 경우 동등 인스턴스 크기에서는 Amazon과 Azure 양쪽 가격이 같다. Azure가 레퍼런스해서 만든 느낌이 가득하다. 

 

Azure 장점 

- Windows Server VM의 경우 Amazon 대비 저렴. Amazon은 Windows VM에 대해서 별도의 가격 정책을 책정하나, Azure의 경우 Linux와 Windows를 모두 동일하게 가져감

 

Azure 단점

- 인스턴스 종류가  XS,S,M,L,XL 로 4개로 한정, 이에 반면 Amazon은 용도에 맞게 High-Memory Instance, High CPU Instance, Cluster Compute Instance, Cluster GPU Instance등을 다양하게 제공

 

결론

Instance의 실제 성능이나 IO 성능등은 테스트해서 비교해봐야겠으나, 일단 가격 정책상으로는 서로 경쟁할만한 위치에 왔다고 보여짐.

 

참고 자료

AWS 가격 - http://www.ec2instances.info/

Azure 가격 - http://www.windowsazure.com/ko-kr/pricing/calculator/?scenario=virtual-machines

 

한마디로 이야기 하자면

- "대단한 서비스이다."

- "멀티미디어 컨텐츠에 대해서 End2End 시나리오를 지원한다."

- "독보적인 서비스이다"

 

주관적인 생각이지만 그만큼 가치가 있는 서비스라고 생각한다.

2012년 6월8일 한국 시간 오전 5시에 Windows Azure의 새 버전이 발표되었다. 여기에 클라우드 서비스로 추가된 것이 'Windows Azure Media Services"이다.

 

이 서비스의 시나리오를 요약하자면

1) [업로드] 컨텐츠 사업자가 Azure에 멀티미디어 컨텐츠를 업로드 하면,

2) [워크플로우] 사용자가 정한 컨텐츠 처리 로직을 수행하게 되는데

3) [인코딩] 컨텐츠를 필요한 포맷으로 인코딩 하고

4) [Ingestion] 각종 후처리 (광고 삽입,메타데이타 추출등)를 거치고

5) [DRM] 필요에 따라 컨텐츠에 DRM을 삽입해준다.

6) [저장] 이렇게 후처리가 끝난 컨텐츠들은 Azure에 저장이 되고

7) [배포] 사용자가 원하는 시스템으로 컨텐츠를 전송하거나 또는 CDN으로 배포가 된다.

8) [서비스] 이렇게 배포된 서비스는 Azure에서 제공하는 CDN을 통해서 Streaming 서비스가 가능하게 된다.

9) [Adaptive Streaming] Streaming시에 단말 사용자가 접속한 인터넷 회선 사항에 따라서 컨텐츠의 인코딩 품질을 조정하면서 끊김없는 동영상 서비스를 가능하게 한다.

10) [클라이언트 지원] Streaming등의 컨텐츠 서비스를 위해서 윈도우즈 플랫폼 뿐만 아니라 애플 iOS 플랫폼용 SDK까지 제공하여, 단말 개발까지 지원한다.

 

위에서 시나리오를 설명하였지만, 한마디로 멀티미디어 컨텐츠 생성을 제외한 저장,후처리,스트리밍 서비스 및 개발 지원까지의 Full 시나리오를 지원하며, 워크 플로우를 통해서 컨텐츠 후처리 로직을 다양하게 설정할 수 있다.

 

이번 Azure 업그레이드에서 주목할만한점중 하나는 "개방성"인데, Media Services에도 이 개방성의 사상이 반영 되었다. 즉, DRM, CDN등에 대해서 Third Party Solution과 Integration이 가능하다. CDN은 Akamai를 Streaming 서비스는 Wowza를 DRM에는 BuyDRM,EZDRM들을 이미 지원하고 있다.

 

아직 정식 서비스가 아닌 시범 서비스 단계이기는 하지만 멀티미디어 컨텐츠 서비스를 위한 강력한 클라우드 서비스 플랫폼임에는 틀림이 없고, 비용이 많이 들고 복잡도가 높은 멀티미디어 서비스를 클라우드 환경에서 플랫폼 형태로 제공함으로써 많은 사용자 서비스를 만들어내는데 기여할것으로 기대된다.

 


서비스를 고객에게 제공하다 보면 바이너리 파일이 다운되는 시나리오가 많습니다.
웹사이트에서 이미지,CSS를 다운로드 하는 것은 가장 기본 적인 시나리오이고
사진 저장 및 다운로드, 영화 파일, 또는 일반 파일 다운로드 등이 그 대표적인 시나리오인데, 이런 것들을 사용자 응답시간에 아주 결정적인 영향을 미칩니다.
이런 것을 해결하기 위한것이 CDN (Contents Delivery Network)입니다. 개념은 간단하게 각 지역에 일종의 캐쉬서버를 놓고, 지역이 멀어서 발생하는 네트워크 지연을 해결하겠다는 개념입니다. 전세계적으로 Akamai가 대표적인 CDN 서비스 벤더이지요.
클라우드를 통한 서비스의 경우 아무래도 시스템이 전세계의 어딘가에 배포되어 있기 때문에 서비스 대상이 되는 지역에 서버가 없을 경우 응답속도가 느려질 수 밖에 없고, CDN의 필요성이 높게 대두 됩니다.

Windows Azure에서는 CDN 서비스를 제공하는데, Windows Azure Storage Service의 Blob Storage와 연동하여 서비스를 제공합니다.
또한 아래 그림과 같이 총 22개 지역의 데이타 센터를 통해서 CDN 서비스를 제공하기 때문에 상당히 넓은 커버리지를 자랑합니다.

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를 사용할 수 있다.