본문 바로가기
etc

Cloud Computing with Microsoft: Part 3

by (주)엠플 2011. 3. 11.

Part 2에서 Cloud는 기업 사용자를 위한 비즈니스서비스 모델를 간략하게 설명했습니다. , 비즈니스의 연속성을 위한 “Anytime, Anywhere, Any device”를 실현할 수 있는 서비스 모델을 알아봤었습니다. 이러한 서비스 모델이 Cloud Computing에서 지향하는 모델이기도 합니다.

하지만 작금의 IT Technology는 현실적으로 "All thing Service"를 구현하기 힘든 상태입니다. 기업의 인프라를 보면 Server, Deskop, Application으로 크게 구분할 수 있는데, 통합적인 Serive가 아닌 개별적이고 부분적인 Service밖에 지원하지 못 하고 있습니다.

기업에서 Cloud Service로 가장 먼저 이슈가 되는 것이 Application Service입니다.
이번 Part 3에서는 통상적인 Application Service와 Cloud Service의 차이점에 대해 알아보고 효과적인 모델을 제시하겠습니다.

Traditional Computing Model
통상적인 3단계 Application 모델은 front-end, middle-tier, and back-end로 구성됩니다. Web Application을 예를 들면, Front-end는 Application을 직접 제공하는 Web Site입니다. Middle-tier는 Data를 가져올 수 있는 Back-end단의 스토리지와 커넥팅할 수 있는 Logic으로 구성됩니다. 그리고 Service의 최적화 및 고가용성을 위해 Load Balancers(LB) 및 Clustering이 기반하고 있습니다.

                                             [Typical 3-Tier APP Computing Model]

Cloud Computing Model
Microsoft Windows Azure는 Virtualizaition을 통한 가상 하드웨어를 서비스하는 Cloud-Based Compuging입니다. 통상적인 3-tier모델과 같이 중요한 3가지 Component, 즉, Compute, Storage, Fabric Controller입니다. Compute는 Application을 실행할 수 있는 Code를 뜻하고, Storage는 특정한 위치에 Data가 저장된 공간을 말합니다. Windows Azure에서 Compute와 Storage를 Role과 서비스로 부터 제공받은 Data로 돌려 말합니다. Role은 component가 잘 구동될 수 있도록 설정/관리해주는 Compoentn를 말하며, Fabric Controller은 어떤 Application이, 언제, 어디에서 잘 서비스되는지 모니터링할 수 있는 Subsystem입니다. Fabric Controller에 대해서는 Part 4에서 자세하게 얘기하도록 하겠습니다.

                                                   [Windows Azure Comuting Model]
 


Compute Service에는 Web Role, Worker Role, VM Role로 특화됩니다. Web Role은 Public Endpoint로 부터 요청되는 HTTP, HTTPS를 허용할 수 있도록 Virtual machine상에서 IIS를 실행시키는 역할입니다. Windows Azure에서 모든 Public Endpoint는 기본적으로 Load Balance가 지원됩니다.
반면에 Worker Role은 IIS와 별개로 Data Management 및 Data Function과 관련된 업무를 수행합니다. 예를 들어, Worker Role은 사용자의 요구에 특화된 Web Server 또는 Database Hosting을 수행하기 위해 필요하다고 볼 수 있습니다.

Role은 Queue 또는 Socket을 통해 메시지를 전달하고 통신하게 됩니다. 할당되는 Role의 역할은 Application의 configuration에 따라 결정되고, 각각의 Role은 독립적인 Virtual machine을 Windows Azure에 의해 할당 받습니다. 아래 그림은 Shopping list application을 통해 Windows Azure computing 동작모델을 보여줍니다.


                 [Shopping List Application on the Windows Azure Platform]

반면에 VM Role은 Virtual machine입니다. 개발자는 VM Role(VHD)에 Windows service, schedule task를 연동할 수 있으며, Application실행 환경을 쉽게 커스터마이징할 수 있습니다. 

VM Role은 깨지기 쉽거나 Auto 인스톨링이 아닌 요구를 쉽게 배포할 수 있도록 설계되어야 합니다. 또한, 기존 서비스 모델에서 마이그레이션이 용이하게 설계되어야 합니다. 참고적으로 Windows Azure VM Role을 만들고 배포하는 가이드는 아래 링크를 참조하십시요.
http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_vmrolelab_topic2.aspx

Storage service는 Binary, Text data, Message, Structured data를 제공해야 하며, Serivce는 크게 3가지로 구분됩니다.
첫째: Blob Service: Binary, Text data
둘째: Queue Service: Message
셋째: Table Service: Structured data

아래 그림은 Windows Azure BLOB Service를 모델을 설명합니다.

Fornt-end단의 Web Role은 HTTP/HTTPS의 요청을 받고 Worker Role은 ASP.net service와 같은 특정화된 작업을 수행할 수 있는 다양한 형태의 Storage를 제공할 수 있습니다.
참고로 기존 Data를 Clouding으로 마이그레이션 할 수 있는 SQL Azure를 이용하여 다양한 Storage service를 구축할 수 있습니다.
http://msdn.microsoft.com/en-us/windowsazure/sqlazure/cc512119

댓글