Hello Windows Azure / Twitter 스타일 방명록 만들기 #3

Cloud 2010. 9. 4. 00:27 Posted by 알 수 없는 사용자

시작하기 전에

지난번 글 (2010/08/10 - [Cloud] - Hello Windows Azure / Twitter 스타일 방명록 만들기 #2)에 이어서 이번 강좌에서는 Web Role과 Worker Role의 시작 원리, 방명록 서비스에 사진을 첨부하는 것과, 업로드한 사진을 비동기적으로 편집하고 처리하는 것을 설명하도록 하겠습니다.

Web Role의 시작점에 대한 이해와 학습

Windows Azure Platform에서 실행되는 Web Role은 ASP.NET 환경을 지원하지만, 좀 더 정확히 표현하면 Web Role은 ASP.NET 사이트를 논리적으로 표현한 모델이면서 동시에 하나의 Application Project이기도 합니다. Web Role 안에서 구동되는 Windows Server 2008 R2 운영 체제는 전적으로 개발자가 업로드한 Web Role 코드에 의하여 역할이 고정되고 주어진 작업만을 수행해 나가게 되어있습니다.

어떤 유형의 응용프로그램이라할지라도 만국 공통적인 요소가 하나 있는데, 바로 "진입점" (Entry Point)의 존재 여부입니다. 이것은 Windows Azure Platform 위에서 실행되는 Cloud Application에도 예외없이 적용됩니다. 지금 설명하려는 WebRole 클래스가 이러한 진입점에 속합니다. 아래는 WebRole.cs 파일의 소스 코드이며 중요한 부분에 설명을 기술하였습니다.

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Diagnostics;
using Microsoft.WindowsAzure.ServiceRuntime;

namespace TwistBook.WebRole
{
    public class WebRole : RoleEntryPoint
    {
        public override bool OnStart()
        {
            DiagnosticMonitor.Start("DiagnosticsConnectionString");

            // 구성 변경 내용을 처리하는 방법은
            // MSDN 항목(http://go.microsoft.com/fwlink/?LinkId=166357)을 참조하십시오.
            RoleEnvironment.Changing += RoleEnvironmentChanging;

            return base.OnStart();
        }

        private void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e)
        {
            // 구성 설정을 변경 중인 경우
            if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange))
            {
                // e.Cancel을 true로 설정하여 이 역할 인스턴스를 다시 시작하십시오.
                e.Cancel = true;
            }
        }
    }
}

Worker Role의 시작점에 대한 이해와 학습

 

BLOB Storage에 파일을 첨부하고, 이미지를 꺼내오기

 

ImageProcessorRole에 작업을 통지하기

 

ImageProcessorRole에서 작업을 받아 처리하기

 

클라우드에 배포하기 - #1: Visual Studio - 또는 - Visual Web Developer를 통해 배포하기

 

클라우드에 배포하기 - #2: 웹 제어판을 통해 배포하기

 

클라우드에 배포하기 - #3: Visual Studio 2010 Ultimate 만의 특권 - IntelliTrace

 

결론