'Cloud Computing'에 해당되는 글 31건

  1. 2013.04.01 Windows Azure Virtual Machine을 위한 FileZilla Server 방화벽 설정법
  2. 2013.03.31 Windows Azure를 통한 클라우드 서비스 확장성 포스터
  3. 2012.10.21 David Chappell의 Windows Azure Platform 강연회에 초대합니다.
  4. 2012.09.26 Windows Azure 웹 캐스트 (2)
  5. 2012.07.13 Windows Azure Media Service 활용하기
  6. 2012.04.17 ASP.NET Universal Provider 소개
  7. 2010.12.21 Windows Azure + Tomcat 작업담 #1: Startup Task에 관하여
  8. 2010.12.06 Windows Azure VM Role 미리보기 #2
  9. 2010.12.01 Windows Azure SDK 1.3 발표
  10. 2010.11.30 Microsoft사 Garth Fort가 말하는 클라우드 컴퓨팅의 보안 및 관리
  11. 2010.11.24 Windows Live 2011의 새로운 기능: 향상된 Photo Gallery
  12. 2010.11.24 2010 대한민국 SW 개발자 컨퍼런스
  13. 2010.10.29 PDC 2010에서 공개된 Windows Azure 업데이트 (2)
  14. 2010.09.13 Korea Games Conference 2010 - Social Game and Windows Azure Platform 강의 자료 올립니다.
  15. 2010.07.14 Hello Windows Azure / Windows Azure Platform 최신 소식 업데이트 (종합) [수정]
  16. 2010.07.07 Windows Azure Tools 1.2 한글화 소식
  17. 2010.06.24 Windows Azure에서 IntelliTrace 적용하기
  18. 2010.06.22 SQL Azure의 데이터베이스 상품이 업그레이드됩니다.
  19. 2010.06.14 Welcome to WeRain Phone'N Use Information Page
  20. 2010.06.13 Windows Azure Tools for Visual Studio / Windows Azure SDK 1.2 출시
  21. 2010.06.10 편리하게 선택하는 Windows Azure OS 버전
  22. 2010.05.25 Hello Windows Azure / Gallery of 'Powered by Windows Azure Platform'
  23. 2010.05.12 [이벤트] REMIX'10
  24. 2010.05.07 [이벤트] Advanced Computing Conference 2010
  25. 2010.04.28 Windows Azure에서 WCF를 적용할 때 발생하는 문제에 대한 트러블 슈팅
  26. 2010.04.19 3대 클라우드 컴퓨팅 플랫폼의 간략한 비교
  27. 2010.04.18 Windows Azure 환경에서의 .NET Framework 4.0 지원
  28. 2010.04.06 Windows Azure에 추가될 새로운 기능
  29. 2010.02.26 [세미나] Exploring Windows Azure (2)
  30. 2010.02.15 Exploring Windows Azure 세미나 자료 (2)
IaaS2013. 4. 1. 10:01

안녕하세요. Windows Azure MVP 남정현입니다.

오늘 살펴보려는 내용은 Windows Azure Virtual Machine 환경에서 FileZilla Server를 구축하려는 경우 어떻게 해야 파일 전송 채널들을 열 수 있는지 그 방법을 살펴보려고 합니다. FileZilla Server는 기본적으로 FTP (File Transfer Protocol)를 구현하는 서버이며 무료로 사용 가능한 서버이고 다양하고 풍부한 기능을 제공하면서도 안정적으로 작동해서 많은 곳에서 널리 사용되고 있습니다.

우선 FTP 서버가 어떻게 동작하는지 잠시 상기해볼 필요가 있습니다. FTP 서버는 기본적으로 명령어를 주고 받기 위한 채널 포트인 21번 포트가 가장 핵심이 됩니다. 최초의 연결도 이 21번 포트를 시작으로 이루어지고 이후에 모든 데이터 전송은 별도의 포트를 통해서 이루어지게 됩니다. FTP 서버를 방화벽 뒤에 배치하는 것이 왜 까다로운가 하면 바로 이러한 FTP의 설계 때문입니다. 데이터 전송을 위한 포트를 FTP 서버의 사용량에 맞추어 개방을 해야 하기 때문입니다. 그래서 서버가 사전에 TCP 포트 대역을 정해놓고 지정된 범위에서만 데이터 전송을 위한 채널을 제공하는 Passive Mode가 많이 사용됩니다.

1단계: FileZilla Server Passive Mode 설정

기본적으로 Passive Mode를 사용하는 것은 특이 사항이 없습니다만, Windows Azure Virtual Machine의 경우 Windows Azure Virtual Machine이 제공하는 기본 방화벽과 Windows Server의 기본 방화벽, 그리고 FileZilla Server만을 위한 특별한 설정이 더해져야 하기 때문에 따로 아티클로 정리할 필요가 있어 이번 글을 작성하게 되었습니다.

FileZilla 서버에 사용자 계정을 등록하고 홈 디렉터리를 설정하는 방법은 생략하겠습니다. 이 과정이 되어있어야 실제 접속과 테스트가 가능하니 설정되어있지 않은 경우 반드시 사용자 계정과 홈 디렉터리 설정을 먼저 해주셔야 합니다. 이 설정이 끝난 상태에서, FileZilla Server Options 페이지로 들어가서 아래 그림과 같이 Passive Mode Settings 항목을 클릭하여 주십시오.

위의 그림에 나타난 것 처럼, 다음의 설정 사항들을 확인하여 적절히 수정해야 합니다.

  • Use Custom Port Range: 체크하시고 적절한 포트 대역을 지정합니다. Windows Server 및 Windows Azure Virtual Machine의 방화벽 설정에 모두 등록되지 않은 대역을 지정합니다. Windows Azure Virtual Machine의 방화벽 설정은 범위 설정이 아니라 1개 포트씩 따로 등록하도록 되어있고 등록과 할당에 시간이 걸리니 이를 감안하시어 2개~3개 정도의 포트만 개방하는 것이 작업 시간 단축에 도움이 됩니다.
  • IPv4 specific 아래의 Retrieve external IP address from: 기본값은 이 항목으로 설정되어있습니다. 그러나 간혹 이 설정으로 IP 주소를 얻어올 수 없는 경우, Use the following IP 항목의 라디오 버튼을 체크하고 이 서비스에 접속할 수 있는 외부 IP 주소 (Virtual IP)를 직접 설정하거나 FQDN을 지정하여 문제를 해결할 수 있습니다.
  • Don't use external IP for local connections: 이 항목도 체크합니다.
2단계: Windows Server 방화벽 구성

위와 같이 설정이 끝나면, Windows 방화벽 설정으로 이동하여 방화벽에 FileZilla Server 프로그램 자체를 허용 대상에 추가하여 주십시오. Windows Server 64비트 버전을 사용하게 되실 것이므로 아래 경로를 지정하시면 됩니다.

%PROGRAMFILES(X86)%\FileZilla Server\FileZilla server.exe

정상적으로 등록이 되면 아래 그림과 같이 속성에 나타날 것입니다.

3단계: Windows Azure Virtual Machine 방화벽 설정

1단계에서 설정한 포트 대역의 각 포트 번호들과 TCP 21번 포트를 빠짐없이 Windows Azure Virtual Machine 방화벽 설정으로 가서 개방해야 밖에서 데이터 전송이 가능합니다.

위 그림에서 보시는 것과 같이 Passive 포트 대역을 모두 TCP 포트 번호로 지정하여 공용 포트와 개인 포트 번호를 일치시켜주고, 최종적으로 21번 포트를 지정하면 됩니다. 여기서는 Secured FTP를 위하여 별도 포트 번호를 지정하였습니다만 상황에 맞게 설정해주시면 문제 없습니다.

4단계: 접속 및 파일 송수신 테스트

정상적으로 접속과 파일 송수신이 이루어지는지 다시 한 번 확인합니다. 클라이언트의 경우 아래 그림과 같은 모습으로 진행이 이루어져야 합니다.

서버의 경우 아래 화면처럼 로그가 나타나게 될 것입니다.


다른 FTP 서버에 대한 설정도 지금 설명한 사항들을 점검하여 설정을 업데이트하면 Virtual Machine에서 정상적인 FTP 서비스 구축이 가능할 것입니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

PaaS2013. 3. 31. 12:58

안녕하세요. Windows Azure MVP 남정현입니다.

Windows Azure를 사용하면서 여러가지 서비스들을 많이 활용할 수 있지만, 역시 Windows Azure Platform을 제일 잘 설명할 수 있는 것은 확장성에 충분히 대응할 수 있는 유연한 아키텍처가 아닐까 싶습니다. 하지만 이러한 아키텍처를 어떻게 디자인하고 설계하고 수정해야 할지 개념을 잡기가 쉽지 않을 수 있는데요, 이러한 개념을 알기 쉽게 설명해주는 유용한 포스터를 하나 공유합니다.

아래 링크를 클릭하시면 포스터 PDF 파일을 내려받으실 수 있습니다. 포스터를 내려받아서 필요한 부분만을 읽어보시거나, 포스터 인쇄를 주문하셔서 잘 보이는 곳에 붙여놓고 활용하시면 좋을 것 같습니다. :-)

Windows Azure Scalability.pdf

감사합니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

이벤트2012. 10. 21. 21:35

 

데이비드 챠펠(David Chappell) 씨가 10월 22일(월) 저녁 7시, 한국 Microsoft 5층 WIN 세미나 룸에서 윈도우 애저(Windows Azure) 유저 그룹에서 클라우드 플랫폼에 대한 관련한 강연을 합니다.

데이비드 챠펠씨는 Chappell & Associates (http://www.davidchappell.com)의 대표로서 다양한 강연, 저술, 컨설팅을 통해 세계의 많은 IT리더들께서 새로운 기술을 잘 이해하고, 더 나은 결정을 내릴 수 있게 도와 드리고 있습니다. 데이비드는 5개 대륙에 수만명의 IT리더, 아키텍트, 개발자들이 참석하는 수백개의 회의 및 행사에서 기조 연사로 활동하고 있으며, 그의 저술은 다양한 언어로 번역 출판 되어 MIT, ETH 취리히 및 와튼스쿨 등 여러 대학의 과정에서 사용되고 있습니다. 또한 HP, IBM, Microsoft 등 IT 기업의 고객 및 파트너와 내부직원을 대상으로 IT 전반의 컨설팅을 수행하고 있으며, 스탠포드 대학 등에서의 강연 및 유수하고 다양한  IT 관련 출판물에 유명 칼럼리스트로도 활동하고 있습니다.

행사에 참석하기 희망하시는 분들께서는 온오프믹스 행사 홈 페이지 (http://onoffmix.com/event/9962) 에서 접수하여 주시기 바랍니다.

서울 행사 접수하러 가기

ps. 서울에서 진행되는 행사 이외에 기타 예정되어있는 각 국가별/도시별 세미나 일정은 다음과 같습니다. (아래 시간은 미국 시간 기준입니다.)

  • 10월 25일: 싱가폴

  • 10월 29일: 바르샤바 (Microsoft Technology Summit)

  • 10월 30일 ~ 31일: 프라하

  • 11월 5일 ~ 6일: 파리

  • 11월 8일: 런던

  • 11월 9일: 뮌헨

  • 11월 13일: 토론토

  • 11월 15일: 뉴욕

 

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

Azure Webinar2012. 9. 26. 22:53

안녕하세요. Windows Azure MVP 남정현입니다.

웹 캐스트 이벤트 홈페이지: http://msdn.microsoft.com/ko-kr/jj720372

2012년 후반에 접어들어서 새롭게 업데이트되는 Windows Azure의 다양한 내용을 미리 살펴보실 수 있도록 웹 캐스트를 촬영하였고 약 20여편의 내용을 포함하는 컬렉션이 Microsoft Showcase에 업로드되었습니다. 2012년 8월 여름까지 발표된 Windows Azure의 각종 서비스들에 대한 내용을 포함하고 있으며, Windows Azure Mobile Service에 대한 부분은 이후 블로그 아티클 등을 통하여 별도로 내용을 전개해볼까 합니다.

  1. [Windows Azure Platform/Microsoft 웹 캐스트] - #1. Windows Azure 개요
  2. [Windows Azure Platform/Microsoft 웹 캐스트] - #2. Windows Azure 웹 사이트 소개
  3. [Windows Azure Platform/Microsoft 웹 캐스트] - #3. Azure에서 실행되는 ASP.NET 웹 사이트 만들기
  4. [Windows Azure Platform/Microsoft 웹 캐스트] - #4. WPNS와 Windows Azure로 알림 서비스 구현하기
  5. [Windows Azure Platform/Microsoft 웹 캐스트] - #5. Windows Azure 미디어 서비스 API 활용하기
  6. [Windows Azure Platform/Microsoft 웹 캐스트] - #6. Windows Azure 클라우드 서비스
  7. [Windows Azure Platform/Microsoft 웹 캐스트] - #7. Cloud Service 프로젝트 처음 만들어보기
  8. [Windows Azure Platform/Microsoft 웹 캐스트] - #8. 기존 ASP.NET 웹 사이트를 Azure로 옮기기
  9. [Windows Azure Platform/Microsoft 웹 캐스트] - #9. Windows Azure 가상 컴퓨터
  10. [Windows Azure Platform/Microsoft 웹 캐스트] - #10. Windows 가상 컴퓨터 소개
  11. [Windows Azure Platform/Microsoft 웹 캐스트] - #11. SQL 데이터베이스 소개
  12. [Windows Azure Platform/Microsoft 웹 캐스트] - #12. SQL 데이터베이스 실습하기
  13. [Windows Azure Platform/Microsoft 웹 캐스트] - #13. Windows Azure 저장소
  14. [Windows Azure Platform/Microsoft 웹 캐스트] - #14. Windows Azure 저장소 실전 예제 살펴보기
  15. [Windows Azure Platform/Microsoft 웹 캐스트] - #15. Windows Azure 서비스 버스
  16. [Windows Azure Platform/Microsoft 웹 캐스트] - #16. 서비스 버스 Queue와 Topic
  17. [Windows Azure Platform/Microsoft 웹 캐스트] - #17. 클레임 기반 인증 구현하기
  18. [Windows Azure Platform/Microsoft 웹 캐스트] - #18. 확장성, 전역성, 높은 가용성을 지닌 앱 만들기
  19. [Windows Azure Platform/Microsoft 웹 캐스트] - #19. 캐시 클러스터를 이용하여 신축성있는 클라우드 서비스 만들기
  20. [Windows Azure Platform/Microsoft 웹 캐스트] - #20. 트래픽 관리자를 이용한 24x365 글로벌 서비스 구축하기

감사합니다.

 

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

  1. 좋아요!

    2012.10.28 00:15 신고 [ ADDR : EDIT/ DEL : REPLY ]

PaaS2012. 7. 13. 18:07

안녕하세요. Windows Azure MVP 남정현입니다.

이전에 신청한적이 있었던 Windows Azure Media Service Preview 프로그램에 대한 테스트 계정을 오늘 얻을 수 있었습니다. 이에 맞추어 간단한 기능을 테스트해보고 처음으로 블로그 포스트를 남겨봅니다. Windows Azure Media Service는 Windows Azure Platform에 근래에 새로 추가된 클라우스 서비스의 한 종류로, 여러분이 가지고 있는 동영상 컨텐츠를 클라우드 컴퓨팅 상의 자원을 활용하여 인코딩하고 그 내용을 곧바로 저장소와 CDN에 게시할 수 있도록 도와주는 서비스입니다. 현재는 프리뷰 버전으로 나온 상태이므로 기능이나 API에 많은 변동이 있을 수 있습니다. 그러나 서비스의 기본 방향이나 목적은 지금 설명 드린 내용이 주된 내용이 되므로 국내외에서 미디어 관련 서비스를 활용하고자 하는 많은 고객들의 관심을 얻을 수 있을 것으로 봅니다.

Windows Azure Media Service를 신청하려면?

Windows Azure Media Service는 현재 신청을 별도로 받아서 계정을 할당하는 방식으로 사용해 볼 수 있습니다. 이를 위해서는 우선 Windows Azure 계정을 하나 만드셔야 하며, http://www.windowsazure.com/ 에서 신청하실 수 있습니다. 국내에 서비스가 정식으로 시작되었기 때문에, 이제는 해외 거주지 정보가 필요하지 않고 쉽게 신청을 마무리하실 수 있습니다.

Windows Azure 계정 관리 홈페이지 (account.windowsazure.com)에 접속하신 후에, "미리 보기 기능"을 클릭하면 현재 신청 가능한 프리뷰 프로그램들이 열거됩니다. 이 중에서 Media Services 항목을 신청하시면 대기열에 예약이 됩니다. 승인이 완료되면 아래 그림과 같이 관리 홈페이지 (manage.windowsazure.com)에 접속하였을 때 Media Service에 대한 메뉴가 새로 나타납니다.

 

미디어 서비스를 만든 후에는 새로운 미디어 서비스를 신청해야 하며, 이 때 미디어 서비스와 연결할 스토리지 계정을 하나 지정하게 됩니다. 미디어 서비스 API로 동영상을 업로드하고 인코딩 후 결과물을 받아보는 것이 모두 연결된 스토리지 계정을 통해 이루어지고, 미디어 서비스 자체는 현재 프리뷰 프로그램 상태에 있기 때문에 미디어 서비스를 통해서 실행되는 비용은 발생하지 않지만 스토리지에 파일을 보관하고 트랜잭션이 발생하는 것에 대해서는 비용이 따로 계산이 됩니다.

.NET Framework 기반 미디어 서비스 API 개발 환경 구성하기

.NET Framework로 미디어 서비스 API를 호출하기 위해서는 제공되는 SDK를 사용하는 방법이 가장 유용하고 편리합니다. 이를 위해서는 몇 가지 소프트웨어 패키지를 설치해야 하며, 다음의 패키지를 다운로드하여 설치하시면 됩니다.

미디어 서비스 API 자체가 REST API이므로 .NET 이외의 언어에서도 얼마든지 호출이 가능합니다. 기타 언어에 대한 SDK 및 지원 내용, 구성 방법은 아래의 각 링크를 참고하시면 됩니다.

테스트 프로젝트 구성하기

이 예제에서는 Windows 데스크톱 응용프로그램 환경에서 코드를 작성하는 것을 기준으로 예를 들어보겠습니다. Visual Web Developer 2010 SP1이나 Visual Studio 2012 for Web RC를 설치한 경우, Windows 클래스 라이브러리 프로젝트를 만들고 프로젝트 속성에서 프로젝트의 출력 유형을 클래스 라이브러리에서 콘솔이나 Windows로 변경하면 직접 실행 가능한 EXE 파일로 빌드 결과물을 만들 수 있습니다.

콘솔 프로그램을 하나 만들고, 프로젝트 참조에 필요한 라이브러리들을 모두 추가해야합니다.

우선 WCF Data Service 5.0 for OData v3 어셈블리들을 추가해야 합니다. 64비트 컴퓨터를 사용 중인 경우 %programfiles(x86)%\Microsoft WCF Data Services\5.0\bin\.NETFramework 폴더를, 32비트 컴퓨터를 사용 중인 경우 %programfiles%\Microsoft WCF Data Services\5.0\bin\.NETFramework 폴더에 있는 아래의 5개 DLL을 참조로 추가합니다.

  • Microsoft.Data.Edm.dll
  • Microsoft.Data.OData.dll
  • Microsoft.Data.Services.Client.dll
  • Microsoft.Data.Services.dll
  • System.Spatial.dll

이어서 Windows Azure Storage Client 어셈블리를 추가해야 합니다. %programfiles%\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\bin 폴더로 이동하여 아래의 DLL을 참조로 추가합니다.

  • Microsoft.WindowsAzure.StorageClient.dll

이어서 Windows Azure Media Service SDK 어셈블리를 추가해야 합니다. 64비트 컴퓨터를 사용 중인 경우 %programfiles(x86)%\Microsoft SDKs\Windows Azure Media Services\Services\v1.0 폴더를, 32비트 컴퓨터를 사용 중인 경우 %programfiles%\Microsoft SDKs\Windows Azure Media Services\Services\v1.0 폴더에 있는 아래의 DLL을 참조로 추가합니다.

  • Microsoft.WindowsAzure.MediaServices.Client.dll

마지막으로, Windows Azure Media Service SDK가 필요로 하는 Azure Storage Client DLL의 어셈블리 버전에 대하여 바인딩 리디렉션을 지정하여 Azure Media Service SDK가 최신 버전의 Windows Azure Storage Client 라이브러리와 상호작용할 수 있도록 조정해야 합니다. 이를 위하여 프로젝트에 app.config 파일 (웹의 경우 web.config 파일)을 추가하여 아래의 섹션을 추가합니다.

<?xml version="1.0"?>
<configuration>
...
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.WindowsAzure.StorageClient"
          publicKeyToken="31bf3856ad364e35"
          culture="neutral" />
        <bindingRedirect oldVersion="1.1.0.0" newVersion="1.7.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
...
</configuration>

설치한 Azure SDK의 버전이 1.6 버전인 경우 위의 예제 코드에서 1.7.0.0 대신 1.6.0.0으로 지정하면 됩니다. 저의 경우, Windows 8용 Azure SDK를 설치했기 때문에 1.7 버전으로 지정하였습니다.

테스트 프로젝트 코딩하기

아래의 프로그램 코드를 잠시 살펴보겠습니다.

using System;
using System.Linq;
using Microsoft.WindowsAzure.MediaServices.Client;

namespace MediaServiceTestDrive
{
    class Program
    {
        static void Main(string[] args)
        {
            CloudMediaContext mediaContext = new CloudMediaContext(
                "" /* Account Name */,
                "" /* Account Key */
                );

            IAsset asset = mediaContext.Assets.Create(
                "" /* File Path */,
                AssetCreationOptions.CommonEncryptionProtected);

            IJob job = mediaContext.Jobs.Create("Sample Job");

            IMediaProcessor mediaProcessor = mediaContext
                .MediaProcessors.Where(x => x.Name == "Windows Azure Media Encoder")
                .FirstOrDefault();

            ITask task = job.Tasks.AddNew(
                "Sample task", mediaProcessor,
                "H.264 256k DSL CBR" /* Encoding Template Name */,
                TaskCreationOptions.None);

            task.InputMediaAssets.Add(asset);
            task.OutputMediaAssets.AddNew(
                "Output asset",
                true, AssetCreationOptions.None);

            job.Submit();

            while (true)
            {
                foreach (var eachJob in mediaContext.Jobs.ToList())
                {
                    Console.WriteLine(eachJob.State);
                }
                System.Threading.Thread.Sleep(5000);
            }
        }
    }
}

호출 절차가 다소 복잡해 보이지만 논리적으로 여러 작업들을 비동기 방식으로 찾아볼 수 있도록 구성한 것이 특징입니다. 우선 제일 먼저 CloudMediaServiceContext 클래스의 인스턴스를 만들어 연결을 성립시킵니다. 이 과정에서 계정 이름과 비밀 키 값을 요구하는 데 이 부분은 manage.windowsazure.com에 나와있는 미디어 서비스의 계정 이름과 키 값을 지정하면 됩니다. 스토리지 서비스에 대한 계정 이름과 키 값이 아님을 유의합니다. 스토리지 서비스에 대한 계정 이름과 키 값은 미디어 서비스 내부에서 별도로 동기화하여 보관하는 기능이 있으므로 이를 참고합니다.

그 다음 파일을 스토리지에 올리기 위한 절차이자 인코딩 대상을 지정하기 위한 절차로 Asset을 만듭니다. Asset을 만들 때 지정하는 인수에는 로컬 컴퓨터의 미디어 파일의 경로를 지정하며, 이것을 스토리지에 업로드하기 위하여 시간이 다소 걸릴 수 있습니다.

그 다음으로 작업을 하나 정의합니다. 작업 안에는 여러 가지의 세부 태스크가 존재할 수 있으며 이것을 논리적으로 하나의 작업으로 취급합니다.

그 다음에는 수행하려는 작업을 처리해줄 수 있는 미디어 프로세서 개체를 가져와야 합니다. 프로세서는 Azure Media Service가 제공하는 범위 안에서만 사용이 가능함에 유의합니다. LINQ 식을 사용하여 미디어 프로세서 개체를 확인하고 그 중 필요한 것을 택합니다. 여기서는 단순 인코딩 처리를 위하여 Windows Azure Media Encoder를 선택합니다.

그 다음으로 작업에 태스크를 하나 추가합니다. 태스크를 추가할 때에는 태스크의 이름과 미디어 프로세서 개체, 미디어 프로세서의 동작 특성을 정의하는 인코딩 템플릿 이름 등을 지정합니다. Windows Azure Media Encoder의 경우 인코딩 템플릿 이름에 대한 정보를 Expression Encoder SDK에서 확인할 수 있습니다. 이름들에 대한 목록은 http://msdn.microsoft.com/en-us/library/microsoft.expression.encoder.presets_members.aspx 에서 확인 가능합니다.

만들어진 태스크의 입력과 출력 대상을 정의하는데, 앞서 지정한 asset을 입력에 추가하고, 출력에는 새로운 asset을 생성하도록 예약합니다.

모든 구성이 끝나면 Job 객체의 Submit() 메서드를 호출하여 작업을 의뢰합니다. 이 떄 부터 모니터링 기능을 사용하여 작업의 진행 상황을 실시간으로 질의할 수 있습니다. 각각의 작업이 완료되면 State 속성이 Completed로 나타나므로 이를 통해서 작업 완료 여부를 확인 가능합니다.

실제로 어떻게 결과물이 나타나는가?

스토리지를 실제로 접속해 보면 새로운 컨테이너들이 만들어집니다. 입력용 Asset을 위한 전용 컨테이너가 먼저 만들어지고, 출력용 Asset을 위한 전용 컨테이너가 나중에 만들어지는 순서입니다. 각각의 컨테이너들은 초기에는 비공개 상태로 설정되어있습니다.

입력용 컨테이너로 만들어진 것을 열어보면 요청한 파일어 업로드된 것을 볼 수 있습니다.

출력용 컨테이너에는 기대한대로 인코딩된 파일과 메타 데이터 파일이 들어있습니다. 

출력용 컨테이너 폴더의 퍼미션 설정을 BLOB 공개로 전환하고 CDN을 연결하면 즉시 서비스 가능한 동영상이 제공되는 것입니다.

좀 더 자세한 정보를 보려면?

간단하게 한 페이지 안에 기본적인 코딩 레시피를 모아놓은 페이지가 있으므로 이 이후에 좀 더 구체적인 작업을 하기 원한다면 아래 페이지에서 내용을 확인하기 바랍니다. PlayReady와 같은 DRM 적용도 매우 쉽게 수행할 수 있습니다.

http://go.microsoft.com/fwlink/?LinkId=251359&clcid=0x412

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

Windows + .NET2012. 4. 17. 11:55

ASP.NET 환경에서 사용자 멤버십, 프로파일, 역할과 세션 상태 관련 기능은 별도의 공급자 클래스에 의하여 구현되는 경우가 많은데, 이러한 공급자 클래스들은 개발자 스스로 원한다면 별도로 정의하여 각자의 서버 및 네트워크 인프라에 맞추어 다시 작성할 수 있습니다. 하지만 이렇게 작업하기에는 녹록치 않은 면들이 많고, 또 실제로 많은 테스트와 검증 과정이 뒷받침되어야 할 필요가 있습니다.

최근에는 SQL Server Compact Edition이나 SQL Server 2012에서 소개된 SqlExpress 또는 SQL Azure와 같이 전통적인 SQL Server 환경이 아닌 곳을 기반으로 택해야 하는 일도 자주 있습니다. 이러한 경우 많은 시행 착오와 오류를 경험할 수 밖에 없는데, 이러한 문제를 크게 덜어줄 유용한 기술이 하나 있습니다. 바로 ASP.NET Universal Provider이며, 향후 Microsoft가 언급하는 Hybrid Cloud Computing 환경에서의 단일 프로그래밍 모델을 구현하기 위한 초석으로 자리매김할 것으로 예상됩니다. :-)

ASP.NET Universal Provider의 구성

ASP.NET Universal Provider는 다음과 같은 구성을 가지고 있습니다.

  • System.Web.Providers.DefaultMembershipProvider
    (기존의 System.Web.Security.SqlMembershipProvider에 대응)
  • System.Web.Providers.DefaultProfileProvider
    (기존의 System.Web.Profile.SqlProfileProvider에 대응)
  • System.Web.Providers.DefaultRoleProvider
    (기존의 System.Web.Security.SqlRoleProvider에 대응)
  • System.Web.Providers.DefaultSessionStateProvider
    (내장된 세션 상태 관리 공급자를 대체)

ASP.NET Universal Provider를 Visual Studio의 확장 패키지 갤러리 (NuGet 갤러리)를 통하여 설치하게되면 위의 각 공급자에 대한 설정을 현재 ASP.NET 프로젝트 상의 web.config 파일에 지정하게되고, 데이터 소스를 어떻게 선택하는지에 따라서 미리 구성된 데이터 스키마에 맞추어 관련된 서비스 기능을 수행할 수 있도록 맞추게 됩니다.

ASP.NET Universal Provider 설치하기

ASP.NET Universal Provider는 Nuget Package Install Site에서 손쉽게 asp.net 프로젝트에 추가할 수 있습니다. Visual Studio나 Visual Web Developer를 설치한 경우 Nuget Console에서 아래 패키지 이름을 검색하여 기존 프로젝트에 추가하시면 됩니다. 

패키지 설치가 끝나면 web.config 파일에 아래와 같이 Membership, Role, Profile, Session State에 대한 설정을 Universal Provider로 업데이트합니다.

<configuration>
    <connectionStrings>
        <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnet.mdf;Initial Catalog=aspnet;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    <system.web>
      <profile defaultProvider="DefaultProfileProvider" >
        <providers>
          <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider" connectionStringName="DefaultConnection" applicationName="/"/>
        </providers>
      </profile>
      <membership defaultProvider="DefaultMembershipProvider">
        <providers>
           <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider" connectionStringName="DefaultConnection"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />
        </providers>
      </membership>
      <roleManager defaultProvider="DefaultRoleProvider">
        <providers>
           <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider" connectionStringName="DefaultConnection" applicationName="/" />
        </providers>
      </roleManager>
      <sessionState mode="Custom" customProvider="DefaultSessionProvider">
        <providers>
          <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider" connectionStringName="DefaultConnection" applicationName="/"/>
        </providers>
      </sessionState>
    </system.web>

위의 설정에서 DefaultConnection에 적절한 연결 문자열과 함께 정확한 providerName을 기재하면 Universal Provider가 정확한 ADO.NET Connection Driver를 사용하여 필요한 서비스들을 제공하게 됩니다. 이렇게 만듦으로서 SQL Azure는 물론 기존 SQL Server, SQL Server CE를 데이터 원본으로 선택할 수도 있습니다.

좀 더 자세한 정보 알아보기

패키지의 최신 업데이트 정보와 설치 방법은 아래 웹 사이트에서 확인할 것을 권합니다.

http://nuget.org/packages/System.Web.Providers/1.0.1

구체적인 사용 방법과 시나리오에 대해서는 Scott Hanselman의 블로그 아티클을 참고하시기 바랍니다.

http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx

 

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

PaaS2010. 12. 21. 11:12

이번 Windows Azure SDK v1.3에서 가장 많이 좋아진 부분이 있다고 한다면 역시 StartupTask에 관한 것과 관리자 모드의 허용입니다. 이전 v1.2까지만 하더라도 네이티브 코드는 허용하면서도 관리자 권한을 허용하지 않았기 때문에 클라우드 컴퓨팅에서 원하는 소프트웨어나 컴포넌트를 자유롭게 사용할 수 없다는 큰 문제가 있었습니다만 이러한 제약이 사라진 것이지요. 아래의 XML 구문을 살펴보도록 하겠습니다.

<Startup>
  <Task commandLine="Register.cmd" executionContext="elevated" taskType="simple" />
</Startup>

위의 XML 구문은 클라우드 서비스 정의 파일 (CSDEF)의 내용 중 일부를 발췌한 것입니다. commandLine에 들어가는 것이 시작 과정에서 호출할 외부 응용프로그램 파일의 이름에 관한 것이고, executionContext는 권한 상승 필요 여부에 관한 것이며, taskType은 작업을 처리할 방법에 관한 설정입니다.

commandLine 속성: Worker Role의 경우 프로젝트 출력 디렉터리와 경로가 같습니다. 그러나 Web Role의 경우 프로젝트 출력 디렉터리 아래의 Bin 디렉터리를 기준으로 파일을 찾게 됩니다. Web Role의 경우 이러한 동작은 ASP.NET 응용프로그램의 보안 상 이슈와 맞물리는 것으로, Bin 디렉터리 아래의 파일 내용은 ASP.NET 차원에서 보호되고 외부로부터의 요청이 거부된다는 특성을 이용하는 것임을 숙지하시면 편리합니다.

executionContext 속성: 이 속성이 이번 SDK 업데이트에 있어서 백미라고 하는 관리자 모드에 관한 것입니다. limited로 설정하면 기존의 RoleEntry 클래스에서 사용했던 것과 마찬가지의 제한된 동작을 수행하게 되는 것이고, elevated로 설정하면 관리자 권한 위임을 받아서 동작하는 것입니다. 소프트웨어를 설치하거나, 응용프로그램 디렉터리에 추가적인 파일 액세스가 필요한 경우 elevated 속성을 지정하여 작업을 수행할 수 있습니다.

taskType 속성: 이 속성은 실행하려는 작업의 구체적인 형태를 정의하는 것입니다. 기본적으로 이 속성은 지정하지 않을 경우 자동으로 simple 값을 사용하는데, 이것은 해당 작업에 관련된 프로세스의 실행이 끝날 때까지 Agent의 실행을 중단한다는 의미입니다. 대부분 Task Type으로 지정하는 작업들은 사전 요구 사항 (Prerequisites)을 만족시키기 위한 활동들이기 때문에 이 설정이 기본값이 됩니다. 그 외에 foreground와 background는 해당 작업에 관련된 프로세스의 실행 완료 여부와는 관계없이 작업을 진행하는 것이지만, foreground는 우리가 잘 아는 대로 %comspec% 환경 변수와 연결된 명령줄 인터프리터를 Foreground Application으로 실행하고, background는 데스크 탑 윈도에 드러나지 않게 Background Application으로 실행하는 것입니다. 실제 클라우드 환경에서 foreground나 background는 큰 차이가 없습니다.

간혹 taskType을 Simple Mode와 Foreground를 놓고 잘못 이해할 수 있는데 결과가 상당히 다릅니다. 예를 들어, Simple Mode를 이용하여 어떤 파일의 압축을 풀려고 시도하면 Simple Mode는 압축이 모두 풀릴 때까지 대기 상태에 있으므로 진입점 DLL에서 압축이 풀린 디렉터리로의 접근이 완전하게 의미를 가지지만, Foreground의 경우 (Background 역시 마찬가지입니다) 한창 압축이 풀리는 시점에서 진입점 DLL의 액세스가 발생하므로 어떤 때에는 찾는 파일이 있을 수도 있고 또 어떤 때에는 찾는 파일이 없을 수도 있는 이상한 현상이 발생합니다. 이러한 문제에 빠지게 되면 설정을 다시 검토해 보기 전까지는 문제 진단이 쉽지 않을 수 있으므로 주의해야 겠습니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

PaaS2010. 12. 6. 02:15

지난 글 보러 가기 - [Software Development/Windows Azure] - Windows Azure VM Role 미리보기 #1

지난 시간에 이어서 오늘은 Windows Azure에서 사용할 수 있는 VM Role을 구성하기 위하여 어떤 작업을 해야 하는지 실제 VM Role 구성 방법을 살펴보는 글을 올립니다.

Virtual Machine 안에 정상적으로 Windows Server 2008 R2를 설치했다면, 이제부터는 VM Role로 변환하기 위하여 필요한 여러가지 설정을 적용하고, 추가 구성 요소를 설치할 차례입니다. 그리고 당연한 이야기이지만 Windows Update - 또는 - Microsoft Update를 통하여 필요한 모든 업그레이드와 보안 패치, 핫 픽스 등을 실제 배포전까지 가능한한 모두 포함하는 것이 바람직합니다.

1. VM Role로 배포하기 위하여 만든 가상 서버 인스턴스에 관리자로 로그인하여 바탕화면이 나타날 때 까지 기다립니다.

2. 시작 - 모든 프로그램 - 관리 도구 - 서버 관리자 순으로 항목을 클릭하면 아래 그림과 같이 콘솔 화면이 나타날 것입니다. 콘솔 화면 좌측의 트리 뷰에서 역할 항목을 선택하면 역할 구성 내역 보고서가 전면에 나타납니다. 이 화면에서 역할 추가 링크를 클릭하여 마법사를 시작하고, 첫 소개 화면에서 다음 버튼을 클릭합니다.

 

3. 서버 역할 선택 단계에서 여러분이 원하는 기능을 구성할 수 있습니다. 여기서는 웹 서버 역할만을 사용하도록, 웹 서버 (IIS) 앞의 확인 상자에 체크하고 다음 버튼을 클릭하겠습니다.

 

4. 웹 서버 역할을 위하여 필요한 준비 사항과 관련 정보를 설명하는 페이지가 나타납니다. 다음 버튼을 클릭합니다.

 

5. 역할 서비스 선택 대화 상자에서 필요한 구성 요소들을 선택합니다. 기본 기능만을 테스트해볼 것이므로 다른 추가 설정 없이 다음 버튼을 클릭합니다.

 

6. 이제 이 가상 서버에 웹 서버 역할을 추가할 준비가 다되었음을 확인하는 페이지가 나타납니다. 웹 서버 역할이 포함되어있는지 다시 한 번 확인하고, 설치 버튼을 클릭합니다.

 

7. 설치가 마무리되면 아래와 같이 완료 보고서가 나타납니다. 마침을 눌러 마법사를 종료합니다.

 

8. 서버의 역할을 정의하였고, Windows Azure와 상호작용하거나 전형적인 .NET 기반 응용프로그램을 원활하게 호스팅할 수 있게하기 위하여 서버의 기능을 추가해야 합니다. 서버 관리 콘솔의 좌측 트리뷰에 있는 항목들 중 기능 항목을 선택하면 기능 구성 상태 보고서가 나타납니다. 여기서 기능 추가 링크를 클릭하고, 첫 소개 화면에서 다음 버튼을 클릭합니다.

 

9. (중요한 작업 1) 아래 기능 선택 대화 상자에서, .NET Framework 3.5.1 항목 앞의 체크 상자를 클릭합니다. .NET Framework는 잠시 뒤에 설치할 Windows Azure Integration Component를 위하여 필수적인 기능입니다.

 

10. 이제 설치할 구성 요소들을 확인하고 설치 버튼을 누릅니다.

 

11. 설치가 모두 마무리되면 설치 완료 보고서가 아래와 같이 나타납니다. 마침 버튼을 클릭하여 마법사를 완료합니다.

 

12. (중요한 작업 2) 독립적인 서버 운영 환경과는 달리 윈도 애저 환경에서 서버는 패브릭 관리자의 지시에 맞추어 동작해야 합니다. Windows Update와 Microsoft Update에서 제공하는 자동 업데이트 기능은 시스템의 안정성과 최상의 보안 상태 유지를 위하여 기본적으로 켜져있지만 이러한 규칙을 준수하기 위하여 해당 서비스를 자동으로 실행되지 않도록 수정해야 합니다.

Windows Update - 또는 - Microsoft Update가 자동으로 시스템을 업데이트하지 않도록 하기 위하여 제어판의 Windows Update 아이콘을 더블 클릭합니다. 그러면 아래와 같이 화면이 나타나게 됩니다. 좌측의 링크 모음들 중에서 설정 변경 항목을 클릭합니다.

 

13. 아래와 같이 화면이 나타나면, 자동으로 업데이트하지 않는 것으로 설정을 변경하고 확인 버튼을 클릭합니다.

 

14. 이제 시스템은 자동으로 업데이트를 찾거나 자동으로 업데이트를 설치하지 않습니다. 업데이트 확인 링크를 클릭하여 필요한 모든 업데이트의 설치를 계속 진행합니다. 업데이트를 설치하는 과정에서 시스템이 다시 시작될 수 있습니다.

(중요한 작업 3) 여기서 중요한 것은, 시스템을 다시 시작하거나 한 번의 업데이트가 끝난 후 작업을 마치지 마시고, 다시 Windows Update 프로그램에 들어와서, 더 이상 중요한 업데이트가 검색되지 않을 때 까지 설치를 끝내야 합니다.

 

15. 이제 Windows Azure Integration Component를 설치할 차례입니다. Integration Component는 다른 Virtual Machine Addition과 마찬가지로 ISO 파일로 제공됩니다. 해당 ISO 파일은 Windows Azure SDK 버전 1.3과 함께 배포되며, SDK를 설치한 컴퓨터의 %PROGRAMFILES%Windows Azure SDK\v1.3\iso 디렉터리 아래의 WAVMROLEIC.ISO 파일을 아래 그림에서 소개하는 기능을 이용하여 가상 드라이브에 마운트하여 설치를 진행할 수 있습니다.

 

16. 게스트 컴퓨터에서 자동 실행 대화 상자가 아래와 같이 나타납니다. 폴더 열기 링크를 선택하면 다음과 같이 파일 목록이 나타납니다. WaIntegrationComponents-x64.msi 파일을 더블 클릭하여 실행합니다.

 

17. 잠시 후 설치 마법사가 나타납니다. 다음 버튼을 클릭합니다.

 

18. Integration Component가 시스템을 정확히 제어할 수 있도록 하기 위하여 관리자 계정의 암호를 지정해야 합니다. 암호를 입력한 후 다음 버튼을 클릭합니다.

 

19. 이제 Integraton Component를 설치할 수 있습니다. 아래 화면에서 설치 버튼을 클릭하여 설치를 계속 진행합니다.

 

20. 설치 과정 중간에 다음과 같은 하드웨어 장치 설치의 허용 여부를 묻는 대화 상자가 나타날 수 있습니다. 허용하도록 합니다. 이 장치는 Windows Azure Drive의 기능을 위하여 꼭 필요한 구성 요소입니다.

 

21. 아래와 같이 설치가 진행될 것입니다. 설치는 시스템 수준과 상황에 따라 시간에 차이가 있을 수 있지만 보통 30초 이내에 설치가 완료됩니다.

 

22. 정상적으로 설치가 완료되면 아래와 같이 완료 안내 페이지가 나타납니다. 마침 버튼을 클릭하여 설치 마법사를 종료합니다.

 

23. 시스템을 다시 시작해야 함을 안내하는 대화 상자가 나타납니다. 예 버튼을 클릭하여 시스템을 다시 시작합니다.

 

24. 이제 여러분이 원하는 소프트웨어나 필요한 서비스를 추가적으로 더 설치하고 올바르게 작동하는지 점검합니다. 모든 커스터마이징이 끝나면, 25단계로 이동합니다.

25. (중요 작업 4) 시작 메뉴의 "프로그램 및 파일 검색" 입력 상자 - 또는 - Windows 키 + R키를 눌러 실행 프롬프트 창을 열어 다음과 같이 명령어를 입력합니다. 이 프로그램은 현재 실행 중인 Windows 운영 체제에서 시스템에 관련된 기본 정보들을 제거하고 다른 컴퓨터로 이식할 수 있도록 돕는 시스템 유틸리티입니다.

%WINDIR%\SYSTEM32\SYSPREP\SYSPREP.EXE

26. 아래와 같이 대화 상자가 나타나면 일반화 체크 상자를 클릭하여 선택하고, 시스템을 종료하도록 옵션을 설정합니다. 그 다음 확인 버튼을 클릭합니다.

 

27. 잠시 후 Virtual Machine이 완전히 Shutdown되고 이제 가상 하드 디스크를 Windows Azure Platform으로 가상 하드 디스크 파일을 업로드할 준비가 끝나게 됩니다.

다음 시간에는

오늘 주제에 이어서 다음 시간에는 VM Role을 실제로 게시하는 방법에 대하여 살펴보도록 하겠습니다. VM Role은 이후에도 살펴볼 예정이지만 하드 디스크 이미지를 제작하는 과정과 함께 실제 서비스 모델은 별도로 Publish해야 한다는 점을 기억해둘 필요가 있습니다.

감사합니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

기술 소식2010. 12. 1. 01:14

PDC 2010에서 언급된 대로 이번 Windows Azure 업데이트에는 많은 수의 업그레이드가 있었습니다. 이러한 업그레이드들의 공통적인 목표는 단 한가지, 좀 더 높은 수준의 서비스를 좀 더 손쉽고 빠르게 개발할 수 있도록 개발자들을 지원하기 위함이었습니다. 그리고 12월 1일, 드디어 새 버전의 SDK와 함께 윈도 애저 서비스 포털이 새 단장을 합니다.

새 버전의 Windows Azure SDK의 버전은 1.3이며, Windows Azure Management Portal은 이제 정식으로 사용할 수 있도록 서비스됩니다. 다음은 Windows Azure SDK 버전 1.3에서 바뀐 사항들을 정리한 것입니다.

  • 권한 상승과 전체 IIS 기능 사용을 통하여 좀 더 완성도 높은 응용프로그램의 개발이 가능하게 됩니다. 이제 웹 역할과 작업자 역할에서 관리자 권한을 이용한 실행을 지원하므로 고유한 소프트웨어의 설치가 가능하게 되었고, 특히 웹 역할의 경우 IIS 전체 기능을 지원하도록 개선되어 IIS 7 전용 모듈을 설치하는 등의 작업이 가능하게 되었습니다.
  • 원격 데스크톱 기능을 켜고 끌 수 있도록 웹 역할이나 작업자 역할의 출판 속성이 추가되었습니다. 이에 대한 자세한 내용은 제 블로그의 글 ([Software Development/Windows Azure] - Windows Azure 인스턴스를 원격 제어하기)을 참조하십시오.
  • 윈도 서버 2008 R2 기반의 역할 지원: Windows Azure는 이제 Windows Server 2008 R2를 OS로 사용할 수 있도록 웹 역할, 작업자 역할, 그리고 가상 머신 역할이 개선되었습니다. 여기에는 IIS 7.5, AppLocker를 비롯하여 고급 명령줄 도구와 PowerShell 버전 2.0과 같은 자동화 기능까지 지원되며, 이전에 제 블로그 글 ([Software Development/Windows Azure] - 이제 UNIX 기반 프로그램도 Windows Azure의 First Citizen이 됩니다.)에서 언급했던 것과 마찬가지로 SUA 등의 리소스를 사용하여 UNIX, LINUX, POSIX 기반 응용프로그램을 윈도 애저 플랫폼으로 이식하는 작업도 가능하게 됩니다.
  • 다중 서비스 관리자 지원: 이제 Windows Azure는 다수의 윈도 라이브 ID를 관리자로 인정하여 서비스에 대한 제어를 수행할 수 있도록 기능이 개선되었습니다. 팀 단위 작업에 대한 지원을 고려하여 추가된 기능으로 더 효율적이고 편리한 작업을 수행할 수 있습니다. 특히 이 기능은 작업 시간대가 서로 다르고 위치가 떨어져있는 팀원들 사이에 관리 작업을 공유할 때 매우 효율적입니다.
  • 실버라이트 기반의 Windows Azure Portal 런칭: 기존의 AJAX 기반 Windows Azure Portal보다 더 사용하기 쉽고 빠르며, 새로운 기능들에 대한 완벽한 인터페이스를 제공하는 실버라이트 UI를 Windows Azure Portal에서 사용할 수 있습니다.
  • 향상된 진단 정보: 1차원적인 진단 정보가 아닌 좀 더 상세한 진단 정보를 통하여 관리하는 역할 인스턴스들의 종류, 배포된 시간, 마지막으로 다시 부팅한 시간등을 확인할 수 있습니다.
  • 새로운 회원 가입 프로세스: 이전보다 더욱 편리하고 쉽게 Windows Azure 서비스에 가입하여 곧바로 클라우드 컴퓨팅 서비스를 이용할 수 있게 됩니다.
  • 시나리오 기반의 Windows Azure Platform 포럼 런칭: 상황 별 대처 방안에 따라 빠르게 답을 구할 수 있는 Windows Azure Platform 포럼이 런칭됩니다. (http://social.msdn.microsoft.com/Forums/en-US/category/windowsazureplatform)

다음의 기능들은 베타 버전으로 제공됩니다.

  • Windows Azure 가상 머신 역할: 새로운 - 또는 - 기존의 윈도 서버 기반 응용프로그램을 VM Role을 이용하여 손쉽게 클라우드로 이관할 수 있습니다. 이에 대한 자세한 정보는 http://www.microsoft.com/windowsazure/compute/#vmrole 의 내용을 참조하십시오.
  • 극소형 인스턴스 레벨: 런타임 시간당 0.05$, 원화로 환산하면 한달 약 4~5만원 선으로 새로운 Windows Azure Platform의 기능을 경험해볼 수 있습니다. 극소형 인스턴스를 통하여 여러분이 원하는 클라우드 솔루션을 비용 걱정없이 자유롭게 테스트하며 개발할 수 있습니다. 자세한 내용은 http://www.microsoft.com/windowsazure/compute/#computeinstancesize 의 내용을 참조하십시오.

이제 개발자와 IT 전문가들은 Windows Azure Management Portal을 통하여 다음의 베타 서비스에 액세스할 수 있습니다.

  • Windows Azure 마켓플레이스: Windows Azure 마켓플레이스는 여러분의 빌딩 블록 구성 요소를 공유하거나, 판매하거나, 구입할 수 있도록 도우며, 고급 데이터를 거래할 수 있도록 도와주는 온라인 마켓플레이스입니다. 현재는 DataMarket (구 Codename: Dallas)이 런칭된 상태이며, 이번에는 Application Market Section이 오픈되었습니다. 40개 파트너사와 50여개의 응용프로그램과 서비스가 현재 게시되어있습니다.

다음의 기능은 CTP (Community Technology Preview)로 제공됩니다.

  • Windows Azure Connect (구 Project Sydney): 더욱 단순하고 관리하기 쉬운, 클라우드와 온 프레미스 사이의 IP 기반의 네트워크를 형성할 수 있도록 도움을 주는 서비스가 CTP로 런칭되었습니다. 현재는 별도의 비용을 받지 않는 CTP 버전으로 제공되며 Windows Azure Management Portal을 통하여 서비스를 신청하고 미리 테스트해보실 수 있습니다.

미국 시간 기준으로 2010년 12월 1일 오전 9시 (한국 시간은 2010년 12월 2일 오전 2시)에 Windows Azure Management Portal을 통하여 Overview 웹 캐스트 (http://go.microsoft.com/fwlink/?LinkID=207019)가 게시될 예정이니 관심있으신 분들께서는 꼭 살펴보시기 바랍니다. :-)

PDC10에서 발표된 Windows Azure 업데이트들을 다시 보시려면 http://www.microsoft.com/windowsazure/pdcannouncements/ 의 내용도 같이 확인하십시오.

출처: http://blogs.msdn.com/b/windowsazure/archive/2010/11/29/just-released-windows-azure-sdk-1-3-and-the-new-windows-azure-management-portal.aspx

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

Exploring2010. 11. 30. 22:29

Microsoft 서버 및 도구 사업부의 관리 및 보안 총괄 책임자인 Garth Fort가 IT 전문가의 역할을 혁신적으로 바꿔주는 Windows의 관리 도구에 대해 설명합니다. 이 동영상에서는 Microsoft 관점에서의 클라우드 컴퓨팅의 발전상에 대한 이야기도 들어보실 수 있습니다. Private Cloud에 대한 검토 단계에 있으신 분들께 권해드리는 동영상입니다.

자세한 내용 보기: http://www.microsoft.com/showcase/ko/kr/details/ba75c25f-c9ca-400d-ac19-8978c512f300

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

이벤트2010. 11. 24. 02:13

요즈음 개그콘서트에서 한창 인기를 누리고 있는 "남하당 여당당"의 두 주인공이 직접 촬영한 Windows 7 Personal Cloud Life 캠페인 동영상, 보셨나요? 이 글을 쓰고 있는 현 시점에서 두 편의 동영상이 선 공개되었고 조만간 새로운 동영상들이 유익한 내용과 함께 여러분을 찾아가게 될 예정입니다. 나른하고 졸린 식곤증을 재미있는 개그 동영상과 함께, 그리고 유익한 정보를 함께 배우며 재미있게 보내보신다면 좋겠습니다. :-D

캠페인 홈페이지에서 이벤트 응모도 가능합니다. http://www.win7pc.co.kr/ 를 방문하시면 됩니다. :-)

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

이벤트2010. 11. 24. 02:04

이번주 토요일 오전 9시 30분부터 오후 5시 30분까지, 2010 대한민국 SW 개발자 컨퍼런스가 열립니다. 이번 컨퍼런스에서는 "개발자가 꼭 알아야 할 4대 IT 트렌드, 기술 이슈 및 미래 전망"이라는 주제로 모바일, 클라우드, 소셜, 웹에 대한 내용을 다루게 됩니다. 좋은 내용들이 많이 다루어질 예정이니 많은 관심과 참여 부탁드립니다. 유료 세미나입니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

기술 소식2010. 10. 29. 09:26

이번 PDC 2010의 핵심 주제이기도 했던 클라우드 컴퓨팅과 더불어서, Windows Azure Platform에 대대적인 업데이트가 있을 예정임이 다양한 발표자들에 의하여 키노트에서 언급되었습니다. 오늘 오후에 업데이트할 PDC 2010 키노트 요약 포스팅 이전에 중요한 내용들만을 먼저 간추려 올립니다. 아래의 글은 http://www.microsoft.com/windowsazure/compute/default.aspx 에 PDC 2010 키노트 발표 직후 업데이트된 새로운 사항들을 번역한 글입니다.

드디어 등장! Virtual Machine Role

올해 봄에, VM Role의 등장이 예고된 바가 있었습니다. 하지만 확정된 자료, CTP 발표 등이 없는 상태에서 소문만 무성했었는데요, 이번 PDC 2010 키노트에서 베일을 벗었습니다. VM Role이란, 말 그대로 여러분이 구축한 가상 PC의 하드 디스크 이미지를 이용하여 Windows Azure에 클라우드 컴퓨팅 인스턴스를 생성할 수 있는 인스턴스 타입으로 기존의 Web Role과 Worker Role에 이어 새로 추가된 유형의 Role입니다.

VM Role을 이용하여 구동할 수 있는 OS의 종류는 Windows Server 2008 R2에 한정됩니다. 그리고 기존에 구축한 Windows Server 2008 R2 서버 컴퓨터로부터 VHD 이미지를 생성하여 Windows Azure BLOB Storage로 업로드하게 됩니다. 만들어진 VHD 이미지는 필요한 시기에 동적으로 관리 도구에 의하여 적재되고 부팅될 수 있으므로 가상 PC 인스턴스의 복제 작업이 훨씬 더 간단해집니다. 당연한 이야기이지만, VM Role을 어떻게 구성할 것인지는 전적으로 고객 여러분의 몫입니다.

Web Role과 Worker Role의 향상

그렇다면 Web Role과 Worker Role은 전혀 필요가 없게 되는 것일까요? 그렇지 않습니다. 대부분의 경우 여러분이 클라우드에 게시하려는 응용프로그램의 스타일은 클라우드에 이미 친화적입니다. 이는 ASP.NET 기반의 웹 사이트에서부터 일반적인 TCP 소켓 기반의 데몬 서버에 이르기까지 매우 포괄적입니다. 그리고 목적에 알맞는 Role 선택은 Cloud 환경에서의 비용을 감소시켜줄 수 있습니다.

VM Role의 등장과 더불어서 Web Role과 Worker Role은 한층 더 사용하기 편리해지게 됩니다. 이전까지는 Web Role과 Worker Role의 실행 환경에 대해 제일 많이 혼선을 빚었던 부분 중 하나인 관리자 권한의 부재가 있었습니다만, 이번 업데이트를 통하여 Web Role과 Worker Role에도 관리자 권한이 주어지게 됩니다. 동시에, IIS 7.0의 전체 기능을 모두 사용할 수 있도록 Web Role도 기능이 확장됩니다. 이에 따라 하나의 Web Role이 동시에 여러 사이트를 호스팅할 수 있게 되기도합니다. 그리고, Remote Desktop 연결 기능이 추가됨에 따라 실행 중인 인스턴스를 모니터링하거나 문제를 해결하기 위하여 직접 접속하여 조치를 실행할 수도 있게 됩니다.

VM Role에 대하여

VM Role은 Windows Server 기반의 환경을 Windows Azure로 빠르게 마이그레이션하기 위한 수단으로 제공됩니다. 이는 Windows Server 기반의 응용프로그램을 마이그레이션하면서 필요로 할 수 있었던 시간이 오래 걸리고, 자동화되지 않았으며, 손상되기 쉬운 과정을 최소화합니다. VM Role이 더 높은 유연성과 자유로운 제어에 대한 이점을 제공하는 것과는 별도로, 기존의 Web Role과 Worker Role 역시 더 많은 이점을 제공한다는 사실도 충분히 검토하십시오. Web Role과 Worker Role을 기반으로 한다면, 운영 체제 하부에 대한 제어를 거의 하지 않고 클라우드 환경에 대한 개발자 여러분들의 목표와 기대치 설정을 완벽하게 재현할 수 있을 것입니다. 그리고, 기존과 마찬가지로 Visual Studio를 통한 Windows Azure 개발은 Web Role과 Worker Role에 알맞게 디자인되고 더욱 향상될 것입니다. 또한, Web Role과 Worker Role을 사용하여 클라우드 응용프로그램을 개발한다면, 추상화된 개발을 지향하기 때문에 자동화된 업데이트의 이점을 충분히 누릴 수 있습니다.

VM Role과 관리자 권한 중에서 어떤 것을 택하면 좋습니까?

VM Role과 관리자 권한 기능은 Windows Azure 환경으로의 이관을 검토하는데 큰 변수가 되었던 환경 전반에 대한 제어에 관한 문제점을 완벽하게 해결할 것입니다. 그러나, IIS의 구성 요소를 일부 수정하거나, 특정 MSI 패키지를 설치하는 정도의 작업에 대하여 VM Role보다는 관리자 권한으로 액세스할 수 있는 향상된 Web Role과 Worker Role의 사용을 권장합니다. 이는 잦은 변경 사항이 지속적으로 발생할 수 있는 서비스 환경에 최적화되어있으며, 추상화된 개발 환경을 바탕으로 최신 업데이트의 신속한 적용을 통한 완벽한 서비스를 가능하게 합니다. 만약 복잡한 변경 사항이나 환경 설정을 수용해야 하거나, 시스템 전반에 걸쳐서 다양한 역할을 수행해야 하는 경우, VM Role이 더 좋은 선택이 될 수 있습니다. VM Role의 경우도, 게스트 OS의 자동 업데이트에 관한 부분을 제외하면 로드 밸런싱이나 장애 진단 - 또는 - 극복의 이점을 충분히 누릴 수 있습니다.

만약 VM Role과 관리자 권한에 대한 좀더 자세한 내용이나 최신 정보에 대한 업데이트를 받기 원한다면 http://msdn.microsoft.com/en-us/library/dd179416.aspx 페이지를 방문하십시오.

새 컴퓨터 인스턴스 레벨 제공: 극소형 (Extra Samll) 인스턴스

이번 PDC 2010에서 새로운 종류의 인스턴스 레벨이 하나 더 발표되었습니다. Extra Small (극소형) 인스턴스 레벨이 새로 추가되었으며 이제 사용할 수 있는 기본 인스턴스 레벨이 총 5가지가 됩니다. 극소형 인스턴스는 기존의 소형 (Small) 인스턴스보다 더 개발자에게 저렴하고 쉬운 개발 환경을 제공합니다. 자세한 내용은 아래 도표롤 참고하십시오.

인스턴스 레벨 CPU 메모리 로컬 스토리지 I/O 성능 시간당 과금
Extra Small
(극소형)
1.0 GHz 768 MB 20 GB Low
(낮음)
$0.05 (하루 $1.2)
Small
(소형)
1.6 GHz 1.75 GB 225 GB Moderate
(보통)
$0.12 (하루 $2.88)
Medium
(중형)
2 x 1.6 GHz 3.5 GB 490 GB High
(높음)
$0.24 (하루 $5.76)
Large
(대형)
4 x 1.6 GHz 7 GB 1,000 GB

High
(높음)

$0.48 (하루 $11.52)
Extra large
(특대형)
8 x 1.6 GHz 14 GB 2,040 GB High
(높음)
$0.96 (하루 $23.04)










 

 

 

VM Role의 가격과 라이센싱

VM Role의 가격 정책은 기존의 Web Role과 Worker Role과 다르지 않을 것입니다. VM Role 고객들에게는 기존과 마찬가지로 위의 컴퓨터 인스턴스 등급에 따라 시간당 과금이 적용됩니다. 그리고 기존의 Web Role이나 Worker Role과는 달리, Windows Server 라이센싱 비용이 좀 더 추가 될 것입니다.

Windows Server 2008 R2에 대한 라이선스는 WIndows Azure VM Role 라이선스로 대체됩니다. 이미지로 만들고자 하는 기존의 Windows Server 2008 R2에 대한 라이선스는 볼륨 라이센싱으로 획득한 제품이어야 하며, 이렇게 만들어진 이미지를 Windows Azure VM Role로 실행할 때에는 기존 라이선스와는 별도로 새로운 라이선스 정책 아래에서 실행이 됩니다. 추가적으로, Windows Azure VM Role 베타 기간 동안에는, 개발자들은 64비트 버전의 Windows Server 2008 R2 기반 VM Role을 직접 Windows Azure 환경에 배포할 수 있습니다. 기타 MSDN 라이선스 및 구독 등을 통해 활성화된 Microsoft의 제품들은 개발과 테스트 목적에 한하여 VM Role위에서 사용이 가능합니다. Microsoft는 2011년 5월까지 고객들과 파트너들로부터 다양한 피드백을 수집할 예정에 있으며, 이에 따라 여러가지 개선 방안이 새롭게 적용될 수 있다고 합니다. 또한, 이 기간 동안 설치되는 모든 종류의 써드파티 소프트웨어들에 대해서는 해당 소프트웨어 제조사들의 라이선스 정책에 따라 사용 가능/불가 여부 및 책정 금액이 변동될 수 있습니다.

Windows Azure VM Role에 연결할 때에는 기존에 사용하던 Client Access License (CAL)가 적용되지 않습니다. 또한 기존의 Windows Server 2008 R2 라이선스를 Windows Azure VM Role을 위한 라이선스로 전환하거나 혹은 VM Role을 위한 라이선스를 On-Premise 환경을 위한 라이선스로 전환하는 것은 인정되지 않습니다. 양쪽이 서로 독립된 라이선스이며 호환성이 없음을 의미합니다.

출처: http://www.microsoft.com/windowsazure/compute/default.aspx

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

  1. VM롤과 관련해서 아주 깔끔한 번역 내용 잘 보고 갑니다.

    2010.10.29 14:15 신고 [ ADDR : EDIT/ DEL : REPLY ]

이벤트2010. 9. 13. 15:10

이른 아침이고, 월요일임에도 불구하고 열린 세션임에도 불구하고 강의장을 가득 채워주신 청중 여러분들께 진심으로 감사의 말씀을 올리며, 최종 수정 버전의 강의 자료를 올립니다. 이 강의 자료에 있는 샘플들에 대한 원본 링크는 아래에 같이 적어두었으니 관심있으신 분들께서는 참조하여 주십시오.

아울러서, 15일에 오디토리움 101에서 저녁 5시부터 6시까지 진행되는 VSTS 2010 팀의 최흥배 MVP님의 세션도 많은 참석 부탁드립니다. 이 세션에서는 Visual C++ 10.0 (마케팅 버전 2010)에서의 주요 변경 사항과 향상된 디버깅 기법에 대한 내용이 소개될 예정입니다. 실무에서 C++ 기반의 프로그래밍을 활용하시는 분들의 경우, Visual C++ 2010의 향상된 언어 기술과 더불어서 64비트 컴파일 기술, 그리고 오늘 세션에서 소개해드렸던 것과 같이 클라우드 위에 입주시킬 수 있는 Native Application Server를 제작하신다면 훌륭한 성능의 소프트웨어 서비스를 구현하실 수 있을 것입니다.

   

감사합니다. :-)

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

기술 소식2010. 7. 14. 17:00

안녕하세요. Visual C# MVP 남정현입니다.

정규 강좌를 올리기 전에, 몇 가지 Windows Azure에 관련된 국내외 소식을 종합하는 업데이트 아티클들을 올려봅니다. 이번 업데이트에 반영된 내용들은 Windows Azure를 개발 플랫폼으로 택하시는 데에 있어서 중요한 정보들을 많이 포함하고 있습니다.

1. Windows Azure Tools for Visual Studio 1.2, Windows Azure SDK 1.2, Windows Azure Platform Training Kit 2010.06 업데이트 및 Windows Azure Tools 한글화!

Windows Azure Tools for Visual Studio, Windows Azure SDK, Windows Azure Platform Training Kit의 새 버전이 출시되었습니다. 이번 버전에서 가장 중점적으로 개선된 것은 Visual Studio 2010과의 연동과 .NET Framework 4.0에 대한 지원이며, 특히 최근에 중국어 간체, 중국어 번체, 일본어, 한국어 등 영어 이외의 다수 언어를 위한 Language Pack까지 같이 업데이트된 것이 주목할만한 점입니다. 아직 정식 Windows Azure 서비스가 출시되지는 않았지만 개발 도구에 대한 준비가 좀 더 완벽해진 것은 반길만한 일입니다. 이에 대한 자세한 내용은 http://www.rkttu.com/410 를 참고해주십시오.

2. Windows Azure AppFabric 2010.07 업데이트 및 SDK 출시

Windows Azure Tools for Visual Studio 1.2와 Windows Azure SDK 1.2 출시와 더불어서 Windows Azure AppFabric의 새 버전이 업데이트되었습니다. 이번 버전에서는 모바일 및 웹 브라우저 기반의 클라이언트 및 Microsoft Silverlight, Adobe Flash 기반의 RIA 클라이언트에서 직접 Service Bus나 Access Control에 접근할 수 있도록 개선된 것이 가장 큰 주안점입니다. 특히 RIA 클라이언트에서 AppFabric Service Bus나 Access Control에 접근하는데에 있어서 가장 큰 장애 요소였던 Cross Domain Policy에 대한 지원이 추가되었습니다. 더불어서 Windows Azure AppFabric SDK의 이번 버전에서는 .NET Framework 4.0에 대한 지원이 추가되었습니다. 좀 더 자세한 내용은 http://www.rkttu.com/414 를 참고하여 주십시오.

3. Codename: Dallas @ WWPC2010 업데이트

Codename: Dallas는 Windows Azure Platform과 더불어서 같이 제공되는 새로운 유형의 데이터 공급자 서비스로 각종 프리미엄 통계 자료, 뉴스, 동향 등의 정보를 ATOM, XML, Open Data Protocol 등의 데이터 형식을 이용하여 손쉽게 가져올 수 있습니다. 현재 확정된 데이터 공급사 (NASA, National Geographic, Associated Press, Zillow.com, Weather Central, NAVTEQ 등)외에도 아래의 그림에서 언급하는 추가 제공사들을 포함하여 올해 4분기에 Codename: Dallas가 정식 서비스로 전환될 예정에 있으며, 8월 중에 새로운 UI를 포함하는 CTP가 런칭될 예정이라고 합니다. 이에 대한 원문 기사는 http://blogs.msdn.com/b/zaneadam/archive/2010/07/12/news-on-microsoft-codename-dallas-at-wwpc-2010.aspx 에서 확인하실 수 있습니다.

4. Windows Azure Platform Appliance 발표

그 동안 Windows Azure Platform 자체는 전형적인 Public Cloud Platform으로서 잘 알려져있었고, 이에 대한 Counter Product로 Hyper-V나 System Center 등의 제품군이 Private Cloud Platform으로 소개되는 일이 많았습니다만 Windows Azure Platform의 기술 자체를 Private Cloud Platform화 하는데에 필요한 새로운 제품을 런칭하였습니다. 좀 더 자세한 정보는 http://www.rkttu.com/412 에서 확인하실 수 있습니다.

다음 강좌부터는 한글화된 Windows Azure Tools for Visual Studio 2010을 기반으로하는 Twitter Style의 Azure Guestbook 만들기 Walkthrough 강좌를 진행할 예정입니다. 많은 관심 부탁드립니다. :-)

I'd like to thank all those who have believed in and supported me. - a digression about Imagine Cup 2010

[수정] 누락된 이미지 파일을 추가하였습니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

기술 소식2010. 7. 7. 15:43
오랫만에 블로그에 포스팅을 해봅니다. Windows Azure Tools 버전 1.2가 얼마전에 영어 버전 이외에 다른 언어 (중국어 간체, 중국어 정체, 프랑스어, 독일어, 이탈리아어, 일본어, 한국어, 러시아어, 스페인어)로도 동시에 출시되었습니다. Windows Azure Tools 1.2의 최신 기능들을 각 지역별 Visual Studio 2010 버전에 맞추어 이상적으로 사용하실 수 있습니다.

Windows Azure Tools 1.2는 이전 글 ([Software Development/Windows Azure] - Windows Azure Tools for Visual Studio / Windows Azure SDK 1.2 출시)에서 언급했던것처럼 Visual Studio의 서버 탐색기, 자체 저장소 브라우저, 2010의 경우 IntelliTrace 기능과의 연동 등 많은 부분에 있어서 획기적인 발전을 거듭하고 있습니다. 여기에 한글화 기능이 더해짐에 따라 앞으로 더욱 이해하기 쉽고 손쉬운 개발이 가능할 것으로 봅니다.

또한, 빠른 시일 내에 Windows Azure Hands on Lab이나 Platform Training Kit 역시 한글화가 이루어질 것으로 보입니다. 한글화 소식이 새로 나올 때 마다 블로그와 Windows Azure Cafe를 통하여 업데이트가 이루어질 예정이니 많은 기대와 관심 부탁드립니다.

다운로드 바로가기

감사합니다. :-)

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

PaaS2010. 6. 24. 01:07

최근 발표된 Windows Azure SDK 1.2에 추가된 Visual Studio 2010을 위한 IntelliTrace 기능은 여러모로 Windows Azure의 개발 과정과 시행 착오를 최소화할 수 있는 효과적인 도구입니다. 그렇지만 이 기능을 적용하기 위해서 필요한 요구 사양이 있는데 다음과 같습니다.

  • IntelliTrace는 Visual Studio 2010 Ultimate 이상의 버전에서만 사용이 가능합니다. (이 점이 IntelliTrace에 관해서 가장 많이 놓치게 되는 부분일것 같습니다.)
  • Visual Studio Tools for Windows Azure 1.2 버전에서만 가능합니다.
  • 64비트 버전의 OS에서만 사용이 가능합니다. (이 부분에 대한 설명이 충분하지 않았기 때문에 많은 착오가 있을 수 있습니다.)
  • IntelliTrace로 추적할 대상 Web Role - 또는 - Worker Role은 반드시 .NET Framework 4.0 기반으로 컴파일되어야 합니다.

Visual Studio 2010 Ultimate 버전을 설치하고, 최신 버전의 SDK와 Visual Studio Tools를 설치했음에도 불구하고 배포 시에 IntelliTrace 옵션이 활성화되지 않았던 경우에는 32비트 버전의 OS를 사용하고 있기 때문입니다. 이러한 경우, 아래의 Hotfix를 설치하여 문제를 해결하실 수 있습니다.

http://go.microsoft.com/fwlink/?LinkId=191542

다운로드 바로가기: http://code.msdn.microsoft.com/KB983301/Release/ProjectReleases.aspx?ReleaseId=4351

자료 출처: http://msdn.microsoft.com/en-us/library/ff683671.aspx

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

기술 소식2010. 6. 22. 23:22

안녕하세요. Visual C# MVP 남정현입니다. 오랫만에 들려오는 Windows Azure Platform의 업데이트 소식을 전하기 위하여 블로그 포스팅을 해봅니다. 요즈음 월드컵 때문에 전국이 후끈 달아올라있네요.

기존에는 SQL Azure에서 추가할 수 있는 데이터베이스가 1GB, 10GB 단위로 제공되었습니다만 SQL Azure에 대한 수요가 지속적으로 증가하면서 1GB 데이터베이스는 5GB 데이터베이스 단위로, 10GB 데이터베이스는 50GB 데이터베이스 단위로 상품이 확대됩니다. 기존과 동일한 방식으로 과금되지만 추가되는 용량만큼 더 많은 금액이 과금된다는 점만 유의하시면 될 것 같습니다.

그리고 8월 1일부터는 SQL Azure Development Accelerator Core 프로모션 상품이 추가됩니다. SQL Azure Business Edition 상품을 기반으로 하지만, 이 프로모션 상품을 통하여 서비스를 이용할 경우 매달 10GB당 74.95$가 과금되며 일반 요금제보다 25% 저렴합니다. 이에 대한 자세한 내용은 http://www.microsoft.com/windowsazure/offers/popup.aspx?lang=en&locale=en-US&offer=MS-AZR-0013P 에서 참고하실 수 있습니다.

날씨가 점점 더워지고 있습니다. 뜨거운 월드컵 열기를 바탕으로 우리 대한민국 축구팀이 16강에 진출할 수 있었으면 좋겠습니다. 그리고 저희 이매진컵 소프트웨어 설계 부문 한국 대표팀 WeRain에게도 많은 관심과 응원 부탁드립니다. 감사합니다. :-)

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

포트폴리오2010. 6. 14. 14:41

Phone'N Use database enables NGOs and governments to find and register unregistered children who are living in poor remote areas. Mobile Registration Units operated by NGOs can use Phone'N Use application to register anyone. There are approximately 23 million children who are not registered in in South Asia and 20 million in Africa who are vulnerable to exploitation and abuse.

Please vote us: http://www.msstudentlounge.com/studentrally/tabid/81/Default.aspx - Team WeRain, Korea

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

기술 소식2010. 6. 13. 19:57

많은 Windows Azure Application 개발자들의 피드백을 수용한 최신 버전의 Windows Azure Tools for Visual Studio와 Windows Azure SDK가 새롭게 출시되었습니다. 이제 비로소 Visual Studio 2010의 모든 기능을 Windows Azure 개발에도 직접 활용할 수 있게 되었습니다.

Windows Azure SDK 1.2에서는 최근 발표된 .NET Framework 4.0 런타임을 내장한 Windows Azure OS 2010년 4월 버전에 대한 요구 사항을 모두 반영하고 있습니다. .NET Framework 4.0 기반의 응용프로그램을 작성 중이신 분들도 이제는 Windows Azure 환경 위에서 직접 응용프로그램을 호스팅할 수 있습니다. 그리고, Visual Studio 2010에서 새로 추가된 향상된 디버깅 기법인 IntelliTrace를 직접 지원하기 때문에 이전보다 더욱 쉬운 디버깅이 가능합니다.

다음은 Windows Azure Tools for Visual Studio 1.2의 변경 사항들입니다.

  • Visual Studio 2010 RTM 지원: Visual Studio 2010 RTM 버전을 지원합니다.
  • .NET Framework 4.0 지원: 이제는 .NET Framework 3.5와 4.0을 빌드 타겟으로 동시에 지정할 수 있습니다. 단, 4.0을 빌드 타겟으로 지정하게 되는 경우, Windows Azure OS의 이미지 중 2010년 초반의 일부 버전은 사용할 수 없습니다.
  • Cloud storage explorer 추가: 읽기 전용 기능이 지원되는 Windows Azure Table 및 BLOB 컨테이너 보기 프로그램이 서버 탐색기 패널을 통하여 제공됩니다. SQL Azure를 데이터베이스 목록에 추가하고 동시에 관리할 수 있어 편리합니다.
  • 통합 배포 환경: 솔루션 탐색기에서 Windows Azure 프로젝트를 오른쪽 버튼으로 클릭하여 'Publish' 메뉴를 클릭하면 이제는 직접 배포가 가능합니다. 이전 1.0 및 1.1 버전의 경우, CSPKG 파일과 CSCFG 파일이 생성된 디렉터리의 폴더가 Windows 탐색기에서 열리고, Windows Azure Portal Web Site가 웹 브라우저로 열렸기 때문에, 브라우저에서 로그인하고 여러 단계에 걸쳐서 배포할 파일을 찾아가야했기 때문에 Deploy 절차가 복잡했습니다.
  • 서비스 모니터링: 서비스의 상태를 웹 제어판이 아닌 "서버 탐색기"의 compute 노드에서 실시간으로 모니터링할 수 있습니다.
  • IntelliTrace 기능 지원: Visual Studio 2010을 사용하는 경우, IntelliTrace 기능을 Windows Azure 서비스에 배포한 이후에 "직접" 사용할 수 있습니다. 이 기능은 앞에서 설명한 통합 배포 환경의 일부로 동작하며, 배포가 끝난 이후에 자동으로 이 기능이 시작되어 서비스 모니터링과 함께 실시간으로 로그가 모니터링됩니다.

그간 Windows Azure 기반의 개발이 어려우셨다면 이제는 최신 버전의 SDK와 개발 도구를 이용하여 좀 더 편안하게 Visual Studio 2010을 통해 클라우드 기반 응용프로그램 개발을 시작해보세요. 참고로 Visual Studio 2010의 데이터베이스 탐색기는 SQL Azure 데이터베이스에 대한 탐색도 지원하므로 이전처럼 별도의 SSMSE를 필요로 하지 않습니다. 그리고 이번 버전의 SDK 역시 1.0과 1.1과 마찬 가지로 처음 설치하는 경우에는 OS와 개발 도구의 환경에 따라 패치와 핫 픽스들을 적용하셔야 합니다.

다운로드 바로가기

 

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

PaaS2010. 6. 10. 01:10

최근에 Windows Azure의 Hosting Service Control Web Page에 유용한 기능이 하나 추가되었습니다. 이전에는 Deploy하는 Windows Azure Package의 설정 파일에 직접 기술해야 했던 Windows Azure OS 버전을 배포하기 직전이나 배포한 이후에 손쉽게 변경할 수 있는 기능이 추가되었습니다. 아래는 해당 기능에 대한 스크린샷입니다. :-)

위의 그림에서, "OS Settings..." 버튼을 클릭하면, 현재 배포된 응용프로그램에서 사용할 OS의 종류를 선택할 수 있는 옵션 페이지가 아래 그림과 같이 따로 나타납니다. 현재 사용중인 OS의 정보는 그림에서 보시는 것처럼 Windows Azure Guest OS 1.3 (Release 201004-01)로 나타나고 있습니다.

기본적으로, 모든 Role이 항상 최신의 버전을 택할 수 있도록 Automatic Upgrade Mode를 사용하는 것이 좋습니다. 그러나, 특정 Windows Azure OS에서 테스트가 필요한 경우이거나 진단을 해야 할 필요가 있을 때에는 Manual Upgrade Mode를 사용하여 직접 원하는 OS 버전을 선택할 수도 있습니다. 이에 대한 설명은 http://msdn.microsoft.com/en-us/library/ff729420.aspx 에서 자세히 제공하고 있습니다.

OS 업그레이드는 위와 같이 포털 사이트에서 진행할 수도 있고, 작업 시간을 단축하기 위하여 프로젝트와 함께 생성되는 설정 파일 상에서도 미리 구성할 수 있습니다. 앞으로 Windows Azure OS는 최신 보안 패치들과 사용 빈도나 요청이 많은 닷넷 어셈블리들을 포함하여 매달 정기적으로 업데이트가 이루어질 예정이라고 합니다. 웹 포털에 자주 방문하셔서 최신 OS로 업그레이드하는 작업도 꾸준히 하시는 것이 Windows Azure 기반의 서비스를 최상의 상태로 유지하는데에 도움이 되실 것입니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

IaaS2010. 5. 25. 09:00

지난번 글 (http://vsts2010.net/294)에서 예고하였던 대로, 오늘은 Windows Azure Platform을 기반으로 만든 성공적인 응용프로그램들을 조명해보고 어떤 방법으로 Windows Azure Platform이 활용될 수 있는지를 살펴보도록 하겠습니다. 이 글에서 언급하는 프로그램들은 대부분 Visual Studio 2010과 Windows Azure Platform SDK for Visual Studio를 기초로 작성된 것입니다.

추로 (推路)

지난 봄에 열렸던 클라우드 어플리케이션 경진 대회에서 대상을 수상한, (주)드원테크놀로지의 추로 (推路 - 밀 추, 길 로) - 자동차 보험회사 콜센터 편 응용프로그램입니다. 여러분께서 생각하시는 퍼블릭 클라우드 컴퓨팅의 전형적인 모습을 아주 잘 보여주고 있는 응용프로그램이라 할 수 있겠습니다. 이 솔루션에서 주목하실만한 부분은, Worker Role과 Web Role 사이의 유기적인 통신에 관한 부분입니다. Windows Azure Platform의 Compute 서비스와 Storage 서비스를 균형있게 잘 활용한 것이 특징입니다.

자동차 보험 회사에 가입한 고객이 어떤 사고를 당하였을 때, 고객은 자동차 보험 회사 콜 센터에 전화 등의 수단을 사용하여 긴급 연락을 취합니다. 콜 센터 직원은 CS 응용프로그램을 통하여 SQL Azure Database에 협력사에 전달할 정보를 저장합니다.

협력사 직원의 PDA - 또는 - 스마트 폰 단말에는 사고 Case ID가 할당되며, 단말에 내장된 GPS 수신 장치를 통하여 현재 위치에 관한 정보를 Windows Azure Web Role이 노출하는 WCF 서비스에 전송할 것입니다. 정보를 수신한 WCF 서비스는 최적 경로 계산을 담당하는 Role에 메시지를 전달하기 위하여 Queue Storage에 메시지를 Enqueue할 것입니다. 해당 Worker Role은 수신한 위치와 사고가 발생한 위치 사이를 조율하여 최적의 경로를 탐색한 후, 이를 다시 SQL Azure 데이터베이스에 저장합니다.

일련의 처리 과정이 모두 완료된 후에, 협력사 직원은 최적의 탐색 경로를 바탕으로 신속하게 사고 지점까지 이동하여 업무를 처리할 수 있을 것이며, CS 응용프로그램을 살펴보고 있는 콜센터 직원은 결과를 실시간으로 통지받을 수 있을 것입니다.

이와 같이 클라우드 기반의 인프라를 활용하여, 기존에 제공되던 위치와 상태 파악 기능을 좀 더 실시간에 가깝게 개선할 수 있고, 더불어서 저렴한 운영 비용까지 가져갈 수 있는 효과를 얻을 수 있을것입니다.

Time in the cloud

Hugeflow의 Time in the cloud는 앞서 소개한 추로와 마찬가지로, 클라우드 어플리케이션 경진 대회에 참가하였던 작품으로, 금상을 수상하였습니다. 자칫 재미없고 식상하게 들릴 수 있는 근태 관리 솔루션을 재미있고 참신하게 접근했던 새로운 유형의 근태 관리 솔루션으로 인상 깊었습니다. :-)

Time in the cloud는 우리가 일상적으로 사용하는 SNS (예를 들어, 트위터나 미투데이 같은)를 이용하여 손쉽게 "출근 도장"을 찍는 방식으로 근태 관리를 돕습니다. 출근만 관리하는것이 아니라, 근태에 관해서 변동 사항이 있을 경우 이를 승인받기 위한 목적으로도 활용할 수 있게 되어있습니다. 이러한 시스템이 어떻게 클라우드 환경 위에서 구현이 될 수 있을까요?

답은 간단합니다. 특정 SNS 서비스가 노출하는 API와 이를 지속적으로 모니터링할 충실한 Worker Role이 있기 때문입니다. 그리고 근태 관리 이력을 차곡차곡 저장하기 위한 데이터베이스로는 SQL Azure를 활용할 수 있습니다. 나중에 통계를 내거나 할 때에도 도움이 되겠지요. 여담이지만, Hugeflow 회사 내에서는 이 솔루션을 통해서 근태 관리를 실제로 재미있게 하였다고 합니다. 덕분에 지각 벌금으로 회식도 자주 하셨을 것 같네요. :-)

클라우드 서비스는 대외적으로도 노출과 활용이 가능하기 때문에, 특별히 관리 도구의 경우에는 회사별로 관리할 수 있도록 하거나, 사용자 등록까지 동적으로 받아들일 수 있도록 만들어진 것도 특징입니다.

음악 가사 분석 통한 음악 추천 서비스

 진성주님의 음악 가사 분석을 통한 음악 추천 서비스는 앞서 소개한 추로, Time in the cloud와 마찬가지로, 클라우드 어플리케이션 경진 대회에 참가하였던 작품으로, Time in the cloud와 같은 금상을 수상하였습니다. 누구나 한번 즈음 "오늘은 뭘 듣나"라는 생각으로 가지고 있던 MP3 플레이어나 여러분의 쥬크박스를 켰던 경험이 있으실 텐데요, 그럴 때 참 요긴하게 쓰일 수 있는 멋진 클라우드 기반 서비스입니다. :-)

이 솔루션에 사용된 Lucene을 잠시 주목하여 주십시오. Lucene을 이용하여 단어 데이터베이스를 구축했다는 사실에 주목하여 주십시오. 클라우드 컴퓨팅은 여러분이 가지고 있는 On-Premise의 컴퓨팅 자산보다 기본적으로 "풍부"합니다. 비단 Lucene이라서가 아니라도, 인덱싱 작업은 기본적으로 많은 비용과 시간을 필요로 하는 작업이지만 클라우드 컴퓨팅을 이용하면 문제가 단순해질 수 있습니다.

참고로, 이 서비스를 통하여 음악을 추천받았을 때 측정된 만족도가 원래 예상치였던 65%보다 무려 18.6%가 높은 83.6%의 만족도를 기록하였다고 합니다. 혹시 상용화 계획이 있다고 한다면 저는 당장이라도 베타 테스팅을 신청해서 서비스를 마음껏 즐기고 싶습니다. 아, 그리고 기왕이면 이 서비스와 잘 연동되는 Windows Mobile 기반 플레이어도 있다면 더 편리할것 같습니다. :-)

Shutomatic

Windows Azure Platform 팀의 Steve Marx님의 샘플 응용프로그램으로, Windows Azure Platform의 Interoperbility가 얼마나 유연한지를 잘 보여주는 멋진 샘플입니다. 그렇긴 합니다만 실로 복잡한 구성을 가지고 있는데요, 요약하면 아래와 같습니다.

  • PHP: IIS7 위에서 FastCGI를 이용하여 구동하고, 메인 웹 사이트를 보여주거나, Queue Storage에 트위팅할 메시지를 쌓는 프론드 엔드를 구현합니다.
  • C#: Worker Role 그 자체를 구현합니다. 하지만 내부적으로 Java Virtual Machine을 구동하는데에 필요한 Stub Loader로 사용하는 것 같네요.
  • Java: 실제로 Worker Role에서 수행해야 할 트위터로 메시지를 보내는 작업을 Java 코드로 구현하고 있습니다.
  • Python: Windows Azure Storage에 Queue Storage를 만드는데 필요한 간단한 Python Script 코드를 구현하고 있습니다.

Shoutomatic 소스 코드를 다운로드받고 싶으신 분들은 http://cdn.blog.smarx.com/files/shoutomatic_source.zip 에서 다운로드 가능합니다. :-)

Phone'N Use

지난 3월 30일에, 폴란드에서 열릴 2010 Imagine Cup의 소프트웨어 디자인 부문 한국 대표 선발전이 있었습니다. 여기서 1위를 한 팀이 한국 대표 자격으로 2010 Imagine Cup의 소프트웨어 디자인 부문에 참가할 수 있는데, 제가 참여한 팀인 WeRain 팀이 대상을 수상하게 되었습니다. 지금은 한창 아이디어를 보완하고 수정하는 단계에 있습니다. :-)

Phone'N Use는 경제적, 지리적 환경이 열악하여 출생 등록을 제 때 하지 못하여 보호받지 못하는 아이들을 위한 솔루션으로 대회 당시 저희 팀은 Windows Azure Platform을 이용하여 기본 시스템을 구축하고, Voxeo Corporation의 Cloud 기반 전화 통신 서비스인 Tropo를 이용하여 ARS 시스템을 구현하였습니다. 일반적으로 구축 비용이 비싸다고 알려진 ARS 시스템을 클라우드 환경에 어울리는 새로운 시스템으로 대치하여 비용과 효율성을 동시에 챙길 수 있었습니다.

다음 시간에는

이번 시간에는 Windows Azure 기반의 응용프로그램에 대한, 최근에 제가 발견하거나 작업하고 있는 주변 사례들을 들어서 이번 Article의 내용을 꾸며보았습니다. 클라우드 어플리케이션 경진 대회 수상작에 관련된 자료 참조를 허락해주신 한국 Microsoft의 박중석님께 감사드립니다.

다음 시간에는 Windows Azure Platform을 이용하여 어떻게 클라우드 기반 응용프로그램을 작성할 수 있는지 본격적인 실습 위주의 글을 올릴 예정입니다. 아직 우리 나라에 정식 출시되지 않은 서비스임을 감안하여, 별도의 서비스 비용을 들이거나 하지 않더라도 블로그에 올라오는 글 만으로도 손쉽게 따라해볼 수 있게 꾸며볼 예정이니 많은 관심 부탁드립니다.

감사합니다. 오늘도 좋은 하루 되십시오. :-)

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

이벤트2010. 5. 12. 12:53

클라우드 컴퓨팅, Rich Internet Application, 모바일 등 최신 IT 기술이 요즈음 이곳저곳에서 많이 회자되고 있는데요, 이러한 기술들을 Microsoft의 관점에서 해석하고 새롭게 접근하는 흥미로운 Tech 행사가 6월에 새롭게 열릴 예정입니다. 최신 IT 기술과 닷넷 플랫폼 개발에 관심이 많으신 개발자 여러분들의 많은 관심과 참여 부탁드립니다.

참가 등록하기: https://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-US&EventID=1032451483&IO=DEnKbtiPFhTrucwfcA2jNQ%3d%3d

참가 등록하기: https://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-US&EventID=1032451483&IO=DEnKbtiPFhTrucwfcA2jNQ%3d%3d

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

이벤트2010. 5. 7. 22:17

한국형 클라우드 컴퓨팅에 관하여, 지식경제부, 방송통신위원회, 행정안전부 3개 정부 부처, Google, Microsoft, Intel, HP, IBM, Oracle 등 유명 IT 기업, 그리고 삼성 SDS와 LG CNS 등 국내 대기업의 전문가들이 한데 모여 의견을 발표하고 교류하는 큰 행사인 제 3회 Advanced Computing Conference 2010이 2010년 5월 13일 목요일 오전 9시부터 오후 6시까지 종일 행사로 진행됩니다.

이번 행사는 한국 시장에서 클라우드 컴퓨팅이 가지게 될 특성과 전망, 그리고 IT 업계 리더들과 정부 정책 실무자들이 바라보는 비전을 살펴볼 수 있는 좋은 자리가 될 것으로 기대됩니다. 이 행사는 코엑스 1층 그랜드 볼륨에서 전시회와 동시에 진행될 예정이라고 합니다. 클라우드 컴퓨팅에 대한 동향에 관심이 많으신 IT 업계 관계자 여러분들의 많은 참여 바랍니다.

사전 등록 바로가기: http://acc.zdnet.co.kr/Register.aspx?a=38 / 프로그램 안내: http://acc.zdnet.co.kr/Program.aspx?a=38 / 전시 참가 신청: http://acc.zdnet.co.kr/display.aspx?a=38 

사전 등록 바로가기: http://acc.zdnet.co.kr/Register.aspx?a=38 / 프로그램 안내: http://acc.zdnet.co.kr/Program.aspx?a=38 / 전시 참가 신청: http://acc.zdnet.co.kr/display.aspx?a=38

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

PaaS2010. 4. 28. 02:10

최근 Windows Azure 위에서 사용하기 위하여 WCF 서비스를 테스트하던 중, 이전에 Windows Azure SDK에서 소개했던 문제점을 발견하게되었습니다. IIS에 의하여 호스팅되는 WCF 서비스를 클라우드 밖의 환경에서 참조하기 위하여 프록시 클래스를 생성할 때, Windows Azure의 외부 호스트 주소가 아닌 VM의 로컬 주소를 기준으로 프록시 클래스가 생성되는 현상으로, On-Premise 환경과 달리 Windows Azure Platform의 네트워크 인프라가 로드밸런서에 의하여 동적으로 관리된다는 데에 문제의 핵심이 있습니다.

 

이미 지난 2월에 Windows Azure SDK를 발표하면서 이에 관한 패치 (KB971842 / KB977420)가 같이 소개되었습니다만 이를 실제로 Windows Azure Application에 적용하는 방법에 대한 문서를 써볼 필요가 있어서 늦게나마 이를 올려봅니다. 이 패치는 개발자 컴퓨터에 직접 설치하는 패치로, 이 패치를 통하여 변경되는 사항은 Windows Azure VM 내에도 적용되어있는 상태입니다.

 

1. 패치 설치하기

 

Windows Vista 및 Windows Server 2008에서 Windows Azure SDK를 이용하여 개발하실 경우, http://code.msdn.microsoft.com/KB971842 에서 패치를 다운로드하여 설치하여 주시고, Windows 7 및 Windows Server 2008 R2에서 Windows Azure SDK를 이용하여 개발하실 경우 http://code.msdn.microsoft.com/KB977420 에서 패치를 다운로드하여 설치하여 주시기 바랍니다. (기술 지원 문서는 각각 http://support.microsoft.com/kb/971842 와 http://support.microsoft.com/kb/977420 의 내용을 참조하여 주십시오.)

 

2. Windows Azure Web Role / Worker Role에 Custom Behavior 추가하기

 

기존의 Windows Azure Web Role이나 Worker Role의 WCF 설정 섹션 (system.serviceModel 요소) 아래에 다음과 같은 설정을 추가합니다.

 

    <behaviors>
      <serviceBehaviors>
        <behavior name="LoadBalancedBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <useRequestHeadersForMetadataAddress>
            <defaultPorts>
              <add scheme="http" port="81" />
              <add scheme="https" port="444" />
            </defaultPorts>
          </useRequestHeadersForMetadataAddress>

        </behavior>
      </serviceBehaviors>
    </behaviors>

 

위에서 강조 표시한 부분이 KB971842와 KB977420을 통하여 제공되는 업데이트를 활성화하는데에 필요한 요소입니다. useRequestHeadersForMetadataAddress 요소는 Behavior 이름이 LoadBalancedBehavior라는 설정에 한정되어 유효한 태그이며, 그 이외의 경우는 잘못된 Child 요소로 분류되어 프로그램 수준에서 오류가 발생합니다. 그리고 위의 설정은 Windows Azure Simulator나 Windows Azure Host Process에서만 제대로 동작하며 직접 IIS로 호스팅하는 경우에는 설정이 반영되지 않습니다.

 

만약 기존에 사용하는 별도의 Behavior 설정이 있었다면 기존 Behavior 설정은 유지하시고, LoadBalancedBehavior 설정에 추가하기를 원하는 부분만 복사하여 그대로 붙여넣으면 온전하게 반영됩니다.

 

3. WCF 서비스에 Behavior 연결하기

 

    <services>
      <service behaviorConfiguration="LoadBalancedBehavior" name="PhoneNUse.WebRole.PhoneNUse">
        <endpoint address="" binding="basicHttpBinding" contract="PhoneNUse.WebRole.IPhoneNUse" bindingConfiguration="PhoneNUse.WebRole.IPhoneNUse">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>

 

위에서 굵은 표시로 강조한 부분의 속성 값, 즉 behaviorConfiguration 부분만 위에서 지정한 Custom Behavior의 이름인 LoadBalancedBehavior로 변경해주면 서비스에서의 설정은 끝이 납니다.

 

4. 실버라이트를 고려하는 경우

 

실버라이트 컨텐츠를 클라이언트로 사용하는 경우, Windows Azure가 아닌 경우에도 해당이 되지만, Windows Azure에서 WCF를 호스팅할 때에도 동일하게 적용되는 부분이 있습니다. 바로 WCF 서비스의 바인딩 형태에 관한 것과 Cross Domain에 관한 부분입니다.

 

    <services>
      <service behaviorConfiguration="LoadBalancedBehavior" name="PhoneNUse.WebRole.PhoneNUse">
        <endpoint address="" binding="basicHttpBinding" contract="PhoneNUse.WebRole.IPhoneNUse" bindingConfiguration="PhoneNUse.WebRole.IPhoneNUse">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>

    <bindings>
      <basicHttpBinding>
        <binding name="PhoneNUse.WebRole.IPhoneNUse">
          <security mode="None" />
        </binding>
      </basicHttpBinding>
    </bindings>

 

위에서 강조 표시한 부분이 실버라이트와의 통신을 고려한 BasicHttpBinding에 대한 설정이 되겠습니다. 그리고 아래의 XML 파일이 clientaccesspolicy.xml 파일이며 보통 Windows Azure Web Role Root에 배치됩니다.

 

<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

 

5. 주소 필터 불일치로 인한 문제 해결하기

 

Windows Azure에서 실행되는 WCF 서비스의 경우, 주소 필터 불일치로 인한 문제 때문에 역시 프록시 클래스를 이용한 통신에서 실패할 수 있는데, 이를 방지하기 위한 목적으로 주소 필터의 설정을 완화하는 Attribute를 선언적으로 클래스 앞에 붙일 수 있습니다. 다음의 코드가 그 예시입니다.

 

    [ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
    public class PhoneNUse : IPhoneNUse
    {
        ....

    }

 

그 외에 좀 더 자세한 내용, 상세한 설정 방법 등은 http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=KnownIssues 에 게시되어있는 글을 참조하시면 많은 도움이 될 것입니다.

 

감사합니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

PaaS2010. 4. 19. 00:59

IT 업계에서, 이름만 대면 누구라도 공감하고 인정할 수 있는 업체 3곳의 클라우드 컴퓨팅 솔루션과 서비스는 현재 전세계의 모든 사람들에게 큰 신뢰를 얻고 있습니다. 바로, 마이크로소프트, 구글, 아마존입니다. 진정으로 많은 자료들과 백서들이 공개되고, 심지어는 UCC로 만든 튜토리얼까지 엄청난 자료들이 매일 쏟아지고 있습니다. 하지만 구체적으로 클라우드 컴퓨팅 플랫폼이 각 업체들마다 어떤 특징이 있는지, 어떤 방향으로 개발이 되어가고 있는지를 진단해볼 필요가 있을 것입니다.

 

1. 아마존의 EC2 / S3

 

아마존 웹 서비스 프로젝트 아래에 제공되는 클라우드 컴퓨팅 솔루션이 바로 EC2와 S3입니다. EC2는 Elastic Cloud Computing, S3는 Simple Storage Service의 줄임말입니다. EC2는 가상화 기술과 로드밸런싱 기술을 바탕으로 하여, 실시간으로 가상의 서버를 증설하거나, 제어하거나, 관리할 수 있는 클라우드 컴퓨팅 서비스를 제공합니다. 그리고 S3는 천문학적인 규모의 데이터 저장소를 역시 실시간으로 증설, 제어, 관리할 수 있는 서비스를 제공합니다.

 

EC2와 S3를 설명하는 많은 수의 튜토리얼에서 보여지는것처럼, 아마존의 클라우드 컴퓨팅 서비스는 "완전한 제어"를 가장 큰 장점으로 꼽습니다. 클라우드 내의 가상 머신의 자원을 계획적으로 할당하고, 정교하게 프로그래밍하기를 원하는 모든 이들에게는 최상의 선택일 것입니다. 더욱 매력적인 것은, 리눅스를 운영 체제로 사용하도록 계획된 가상 머신의 경우, 미리 템플릿으로 정의된 가상 머신을 이용할 수 있는 것은 물론, 가상 머신을 구동하기 이전이라도 필요한 패키지들을 미리 고르고 한꺼번에 빌드할 수 있는 기능까지 제공합니다. 그리고, Windows Server 2003과 2008을 OS로 지원하고, 기존에 보유하고있던 Windows Server 2003과 2008 라이선스를 EC2 기반으로 옮기는 정책 또한 지원을 하고 있습니다.

 

잘 생각해보면, EC2는 서버 호스팅의 그것과 상당히 닮아있습니다. 오히려, 서버 호스팅에서도 누릴 수 없는 자유도를 완전히 누릴 수 있기까지 합니다. 하지만, 클라우드 컴퓨팅을 어떤 방향으로 이용하고 계획할지를 결정해야 하는 부분이 크기 때문에, EC2와 S3 같은 클라우드 컴퓨팅 내의 자원을 활용하는 일 자체가 하나의 프로젝트가 될 수도 있습니다.

 

요약하면, 아마존이 제공하는 클라우드 컴퓨팅은 IaaS에 해당합니다. (Infrastructure as a Service)

 

2. 구글의 AppEngine (특별히 Java + Eclipse의 경우를 예로 들어봅니다.)

 

구글의 AppEngine은 본디 Python 기반의 Application Hosting Platform으로 처음 소개되었습니다. 하지만 최근에 Java 기반의 개발 도구와 함께 JSP 기반의 응용프로그램을 호스팅할 수 있게 되어 좀 더 소개를 해봅니다. 아래는 Eclipse 기반의 Google AppEngine 개발에 관한 튜토리얼 비디오입니다.

 

 

Windows Azure 기반의 클라우드 컴퓨팅을 먼저 보신 분이시라면, 위의 비디오에서 소개하는 내용이 Windows Azure 기반의 Web Role 개발 과정과 닮아있는 것을 보실 수 있습니다. 다만 차이가 있다면, Google AppEngine은 각 응용프로그램에 대해서 개별 VM을 할당하는 방식이 아닌, Hosting 방식으로 구성됩니다.

 

그리고 Google AppEngine은 BigTable이라고 하는 Google의 전매 특허격 스토리지 서비스를 기반으로 데이터 입/출력 기능을 제공합니다. (참고로 BigTable은 구글이 인덱싱하고 있는 천문학적인 수준의 데이터베이스를 구동하는 실체입니다.)

 

Google AppEngine은 전형적인 Platform as a Software (PaaS)를 보여주는 것으로, 개발자들이 클라우드 컴퓨팅의 세부 사양에 집중하지 않고, 응용프로그램의 핵심 부분에만 집중하여 빠른 소프트웨어 출시를 가능하게 해주는 것을 주요 골자로 하고 있습니다.

 

3. Windows Azure의 현재와 미래

 

그렇다면, 이 글을 작성하는 현 시점의 Windows Azure는 어떤 상태일까요? Windows Azure는, 내부적으로 IaaS의 성질과 PaaS의 성질을 모두 지니고 있는 것으로 이해할 수 있습니다. Windows Azure에서 응용프로그램을 배포할 때, 과금을 시작할 때에는 거의 모든 부분이 가상 머신의 실행 시간에 초점이 맞추어져 있습니다. 그리고 단순히 응용프로그램을 배포하는 것의 문제와는 별개로, 가상 머신의 실행 과정이 배포 과정에서 상당히 중요한 요소가 됩니다.

 

Windows Azure 안에서 실행되는 VM을 완전히 통제할 수 없다는 제약 사항은 PaaS에 초점이 맞추어진 것과도 연결되는 맥락으로 볼 수 있습니다. 실제 소프트웨어나 서비스를 구동하는데에 있어서, VM 내의 관리자 권한은 필수 요소가 아니기 때문일 것입니다. 하지만, 이런 와중에도 Windows Azure에서 Amazon EC2와 같은 완전한 제어가 가능한 서버 호스팅형 클라우드 서비스의 출시를 요청하는 사람들이 많았고, 이에 따라 관련된 서비스의 출시를 예정하는 소식도 최근에 들렸습니다. 자세한 내용은 "Windows Azure에 추가될 새로운 기능"을 참고하시면 되겠습니다.

 

Windows Azure에 Remote Desktop Protocol 및 VM 제어 기능이 추가된다면, Windows Azure는 클라우드 컴퓨팅을 IaaS 관점에서 활용하기를 희망하는 수요에도 대응되고, PaaS 관점에서 활용하기를 희망하는 수요에도 대응되는 매력적인 플랫폼이 될 것이라 예견해 봅니다.

 

참고 자료: http://xguru.net/blog/488.html

 

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

PaaS2010. 4. 18. 03:04

.NET Framework 4.0과 Visual Studio 2010 RTM이 긴 테스트 과정과 수렴 과정 끝에 이번달에 성공적으로 전 세계에 런칭하였습니다. 생산성을 극적으로 업그레이드할 수 있는 다양한 기술과 API 들을 중무장하고, ASP.NET MVC2나 MEF (Managed Extensibility Framework) 등의 새로운 기술들도 다채롭게 선보였습니다.

 

그런데 한 가지 궁금증이 생깁니다. Windows Azure OS 자체는 아직도 .NET Framework 3.5 SP1을 기반으로 하는데 언제 .NET Framework 4.0으로 업데이트하는걸까요? 이에 대한 포럼 내의 답이 있어서 블로그에 소개합니다.

 

출처: http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting/suggestions/395925-create-a-beta-environment-for-net-4-0-tests-and?ref=title

 

MIX2010에서, Windows Azure에서의 .NET Framework 4.0 지원은, RTM 버전이 공개된 이후 약 90일 이내에 업데이트된다고 합니다. 개발 과정 상의 변수 (Visual Studio용 SDK 개발, Windows Azure VM 이미지 업데이트) 등을 모두 감안한 기간으로 보입니다만, 늦어도 올해 초여름에는 .NET Framework 4.0을 기반으로 실행되는 Windows Azure 서비스를 사용할 수 있는 셈이 됩니다.

 

그렇지만, 좀 더 빠르게 .NET Framework 4.0 기반의 클라우드 응용프로그램을 개발하고 테스트하기를 희망하신다면, 배포하실 Windows Azure 환경 설정 파일에 실제로 채택할 운영 체제의 버전을 정확히 기술하여 .NET Framework 4.0 RC 버전을 채택한 VM을 기반으로 구동하도록 선택하실 수도 있습니다. 해당 버전은 Windows Azure Geust OS 1.2 중 2010년 3월 1일 버전의 이미지입니다. (http://msdn.microsoft.com/en-us/library/ff436045.aspx)

 

.NET Framework 4.0과 Windows Azure가 결합한다면, 이전보다 더 확장성이 뛰어나고 강력한 클라우드 기반 응용프로그램을 작성할 수 있는 토대가 마련될 것입니다. 여러모로 기대가 많이 되는 소식이고, 새로운 소식이 들어오는대로 정보를 공유할 수 있도록 하겠습니다. 감사합니다. :-)

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

기술 소식2010. 4. 6. 00:58

요즈음 Imagine Cup 2010 대회 준비에 관하여 많은 활동을 하면서 블로그 업데이트가 많이 늦어진 점을 양해드리며 오랫만에 글을 하나 올립니다. Windows Azure 관련 소식을 검색하면서 재미있는 소식 하나를 발견하여 글을 써봅니다.

 

US ISV Developer Community Blog (http://blogs.msdn.com/usisvde) 에 2010년 3월 29일에 게시된, "VM Support in Windows Azure" (http://blogs.msdn.com/usisvde/archive/2010/03/29/vm-support-in-windows-azure.aspx)라는 글에 따르면, Windows Azure에 흥미로운 신 기능이 새로 추가될 것으로 보입니다.

 

Windows Azure는 이미 기술적인 배경에, Hypervisor 기반의 VM을 기초로 운영된다는 언급이 있었습니다. 그러나, 여기에 덧붙여서 기존에 소유했던 On-Premises용 라이선스를 혼합하여 운영할 수 있도록, Virtual Machine 기능을 추가할 예정이라는 소식을 위의 포스트를 통하여 전하고 있습니다. 이것은, 기존에 널리 알려진 Amazone Web Services (AWS)가 제공하는 서버 호스팅 방식과 유사한 개념으로, 단일/다수의 서버에 대한 독자적인 운영 권한을 할당받아 직접 시스템을 구성하는 것으로 이해할 수 있습니다. 그러나, 조금 다른 방향이 한 가지 있다면, 이런 과정에서도 기존에 먼저 공개된 Windows Azure 특유의 어플리케이션 배포 기법과도 자연스럽게 연동될 것이라는 점이 다르다는 설명입니다.

 

아직 구체적인 판매 계획이나 운영 계획이 발표되지는 않았습니다만, 빠르면 올 연말부터는 이와 같이 단위 VM 기반의 호스팅 서비스에 알맞는 볼륨 라이선스를 제공할 예정이라는 설명도 있으니, Windows Azure 도입에 관한 검토를 하고 계시다면 진지하게 향후의 추가 서비스들을 검토해보시는 것도 좋을 수 있습니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

이벤트2010. 2. 26. 10:54

참가 신청은 http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=216&MAEULNo=8&no=1231&ref=1231 에서 하실 수 있습니다.

 

세미나 강의 자료 다운로드: Exploring Windows Azure 세미나 자료

 

 

참가 신청은 http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=216&MAEULNo=8&no=1231&ref=1231 에서 하실 수 있습니다.

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

  1. 어제 세미나 잘 보았습니다 :)

    2010.02.28 11:20 [ ADDR : EDIT/ DEL : REPLY ]
    • 세미나에 참석해주셔서 감사합니다. 궁금하신 점은 언제든지 블로그나 메일을 통하여 문의하여 주십시오. :-)

      2010.02.28 12:44 [ ADDR : EDIT/ DEL ]

이벤트2010. 2. 15. 01:11

Exploring Windows Azure 세미나 자료 올립니다. 세미나 신청은 http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=216&MAEULNo=8&no=1231&ref=1231 에서 하실 수 있습니다.

 

 

Posted by Cloud Developer 남정현 (rkttu.com)

댓글을 달아 주세요

  1. 이거 가지고 가야되나요?

    2010.02.15 12:49 [ ADDR : EDIT/ DEL : REPLY ]
    • 직접 인쇄하거나, PDF를 볼 수 있는 휴대용 장치에 넣어서 세미나 당일 같이 가져오면 편리하지 않을까 싶습니다. :-)

      2010.02.15 15:30 [ ADDR : EDIT/ DEL ]