Hosted Web Core (HWC) Worker Role 사용하기

Windows Azure를 이용하여 Cloud Application을 개발하다보면 한 가지 불편하다고 느끼게 되는 부분이 있습니다. 특히 Web Role을 이용하여 웹 응용프로그램을 클라우드에서 호스팅하면 특히 심하게 느껴지는 부분이 있는데, 사소한 웹 컨텐츠를 바꾸기 위해서라도 실제 Cloud 환경을 완전히 업그레이드하거나 리뉴얼하는 과정이 동반된다는 점입니다. 물론 이 과정에서 서비스를 강제로 중단하지 않고 업그레이드 프로세스를 거치도록 작업하면 대외적으로 서비스가 중단되는 일은 없지만, 상당한 시간이 소요된다는 것에는 변함이 없습니다.


이러한 비효율성을 해결하고 좀 더 단 시간내에 쉽고 빠르게 웹 컨텐츠를 변경할 필요가 있다면 (마치 우리가 이전에 계속 사용해왔던 웹 호스팅이나 서버 호스팅과 마찬가지입니다.) Hosted Web Core (이하 HWC) Worker Role 템플릿을 이용해 보시는 것은 어떨런지요? 이 템플릿은 MSDN Code Gallery에 게시된 것으로 아래는 이 템플릿을 이용하여 얼마나 빨리 클라우드 상의 웹 사이트를 고칠 수 있는지를 보여주는 재미있는 동영상입니다.



동영상의 내용을 간단히 요약하면, 클라우드 상에 올라와있는 페이지에 있는 Typo (오타)를 고치기 위해서 본래 취해야 할 전체 컴파일 / 업그레이드 프로세스를 거치지 않는 대신, 평소 사용하는 Windows Azure Storage Client에 새로 수정한 웹 페이지 파일을 덮어씌운 것 만으로 손쉽게 교체가 이루어진다는 것을 보여주는 것입니다.


이 템플릿은 단방향으로 Windows Azure Storage의 특정 경로 상에 있는 파일과 현재 Role 내의 파일 시스템 상의 특정 경로 상에 있는 파일들을 직접 대조하면서 Storage에서 변경이 발생하면 이를 자동으로 추적하여 Role 내의 파일 시스템을 업데이트하는 방식입니다. 대부분의 일반적인 ASP.NET 응용프로그램 시나리오에 대해 이러한 방식의 기술은 유효하며 효율적이지만, 원자적인 업데이트 관리가 발생하지 않는다는 점을 감안해야 하며, Embedded Database를 이용하게 될 경우 충돌이 발생할 가능성도 있습니다.


정보 출처: http://blog.smarx.com/posts/update-your-windows-azure-website-in-just-seconds-by-syncing-with-blob-storage


HWC Worker Role 샘플 코드 다운로드: http://code.msdn.microsoft.com/hwcworker

댓글 남기기