Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

March, 2014

  • Korea Evangelist

    Windows Azure에서 더 많은(1,000+) 오픈소스 프로젝트 가상 머신 이미지를 - VM Depot

    • 0 Comments

    안녕하세요. 김대우입니다.

    이번에 소개해 드릴 내용은 Windows Azure에 대한 내용 보다는, 오픈소스 프로젝트에 대한 내용이기도 해요.

    고객사나 파트너사를 다니면서 종종 논의되는 내용인데요.

    “Windows Azure에는 지원하는 리눅스 VM 이미지가 다양하지 않은것 같아요. MS가 만들어서 그런가요?”

    “Django 프레임워크를 우분투에서 돌리려는데, 새로 Azure 깡통 이미지 위에서 만들어야 하나요?”

    “VM에서 구동시켜야만 하는 OSS 어플이 있어요. Azure에 최적화 시켜 잘 구성해 놓은 검증된 VM 있을까요?”

    이런 경우라면 분명 VM Depot이 원하시는 답이 되실거에요.

    VM Depot이 뭔가요?

    image_thumb_1.png

    링크 : VM Depot 웹사이트

    VM Depot은 커뮤니티가 리드하는 OS, 어플리케이션, 프레임워크 및 개발 스택 카탈로그 서비스로 Windows Azure로 바로 배포 가능한 VM 프로젝트 입니다.

    VM 이미지를 검색해 보시면 대단히 많은 종류의 이미지들이 보이실 거에요. 현재, 약 천개 이상의 VM이 리스트 되고 있습니다.

    다양한 버전의 WordPress와 같은 블로그 엔진 어플리케이션부터, Joomla나 Drupal같은 CMS를 비롯해, 수많은 버전의 리눅스 기반 OSS 어플리케이션 VM 중 선택해 즉시 Azure로 배포시켜 서비스 가능하죠.

    최근 인기 있는 파이선의 Django 프레임워크나 루비 온 레일즈 프레임워크와 같은 거의 모든 오픈소스 스택 VM들도 바로 배포 후 사용 가능해요.

    이 VM들은 리눅스와 OSS 전문 회사들(Alt Linux, Basho, Bitnami, Hupstream)이 제공하고 있어서 대부분 최적화된 VM을 제공하고 있다고 해요.

    VM Depot의 이미지를 Windows Azure에 배포 하는 방법

    리스트를 하고 보기만 하면 의미가 없겠지요. 즉시 Azure로 배포해 인스턴스화 시켜서 서비스가 되어야 의미 있을 겁니다.

    1) 우리에게 익숙한 관리 포털에서 어떻게 처리 가능한지 알아보죠.

    image_thumb_5.png

    가상컴퓨터 – 이미지 – VM Depot 찾아보기를 선택하면 됩니다.

    image_thumb_6.png

    그럼 이렇게 VM 카탈로그를 볼 수 있어요. 기본 Azure VM 갤러리와 유사하죠? 필요한 VM을 선택하고 다음을 누르면?

    image_thumb_7.png

    어느 지역, 저장소 등 필요한 입력 항목들을 선택하고 확인을 누르면 바로 배포가 진행됩니다.

    이렇게 간단히 다양한 VM들을 관리 포털 웹에서 배포 가능해요.

    2) VM Depot에서는 스크립트 기반으로도 배포가 가능한데요.

    리눅스 쉘 또는 MAC에서도 이 스크립트 기반으로 배포가 가능한 게 특징이지요.

    image_thumb_3.png

    원하는 VM 이미지를 검색하면, 윗쪽에 Deployment script가 있습니다.

    image_thumb_2.png

    클릭하면, 이렇게 Azure Cli  명령 스크립트가 나와요. 바로 윈도우는 물론, MAC나 리눅스에서 스크립트 기반으로 Azure를 관리하기 위한 인터페이스입니다. 이 명령을 CLI에서 수행하면 배로 Azure VM이 배포 됩니다. 오예~

    Windows Azure CLI 도구에 대해서는 예전에 제가 포스팅 했던 아래 링크를 참고하세요.

    참고링크 : 스크립트 기반 클라우드 관리 자동화? Windows Azure Command-Line Tool

    더 안전한, 더 최적화된 VM 선택을 위해...

    하지만, 오픈 기술로 진행되는 프로젝트이고 공식 Azure VM 갤러리가 아니기 때문에 사용시 주의가 필요합니다. 일반 개발자도 VM을 출판(publish) 가능하기 때문이에요. 최적화는 물론, 안전한 VM을 선택하기 원한다면, 게시자가 Alt Linux, Basho, Bitnami, Hupstream와 같은 Microsoft Open Technologies와 파트너쉽을 맺고 있는 VM을 이용하는 게 최선일 거에요.

    많은 도움 되시길 바랍니다.

    참고링크 :

    Windows Azure and VM Depot – Better Together

    스크립트 기반 클라우드 관리 자동화? Windows Azure Command-Line Tool

    Deploying Linux VMs to Azure from VM Depot

    Over 400 Virtual Machine Images of open source software stacks in the VM Depot Azure Gallery

  • Korea Evangelist

    Windows Azure 가상머신에 여러 개의 끝점(Endpoint)을 추가하는 스크립트

    • 0 Comments

    안녕하세요. 김대우입니다.

    고객사나 파트너사 분들과 회의를 진행하면서 Windows Azure 도입을 검토 할때 자주 질문 받는 내용이에요.

    바로 특정 TCP나 UDP 포트를 Windows Azure에서 개방하는 방법이지요. 이럴 경우에는 끝점(Endpoint)을 이용하시면 됩니다.

    가상머신 자체의 방화벽에서도 포트 개방이 필요하지만, 추가적인 보안으로 이렇게 끝점을 이용한 보안 구성도 가능합니다.

     

    그런데, 생각보다 많은 포트를 노출시켜서 현재 On-premise나 IDC에서 서비스 하는 분들이 많이 계시는 것 같아요.

     

    Windows Azure에서는 가상머신 앞단의 보안 기능으로, 끝점(End point)를 열어 줘야 하는데요. 

    2014년 3월 현재, Windows Azure 관리 포털 GUI에서는 TCP나 UDP 포트를 개별적으로 열어주도록 설정이 되어 있어요.

     

     image_thumb.png

    이런 형태로 끝점들이 구성 되어 있지요. 여기에 끝점을 추가 하려면.

     

     image_thumb_1.png

    추가 버튼을 누르고 진행하면 됩니다.

    네, 2014년 3월 현재, UI로 끝점을 구성해 가상머신의 개별 포트를 열어야 합니다.

     

    하지만, 한 두개의 포트가 아니라 여러 개의 포트를 열어 줘야 하는 경우라면 이야기가 틀려 집니다.

    예를 들어 20대의 VM에서 30개의 포트를 열어야 한다면? UI로 하는 것 자체가 어렵겠지요.

    이럴 때 파워쉘 스크립트를 이용하시면 편리 합니다.

     

    파워쉘에 대한 기본 설정이나 파워쉘 최초 구성을 시작하기 위해서는 아래 링크를 참조하세요.

    Windows Azure 관리 자동화 파워쉘(Powershell) 스크립트 실행 준비 절차

     

    파워쉘 스크립트를 이용해 여러 개의 끝점을 여는 방법 스크립트

    $i=[START PORT]
    do
    { Get-AzureVM -ServiceName "[CLOUDNAME]" -Name "[MACHINENAME]" | Add-AzureEndpoint -LocalPort $i -PublicPort $i -Name [NAME]$i -Protocol [PROTOCOL] | Update-AzureVM; $i+=1}
    until ($i -gt [END PORT] )

    위의 명령은 실행 되지 않습니다. - 이런 패턴 형태로 스크립트를 이용 가능해요. do until로 내부에서 루프를 돌면서 필요한 수만큼 추가하는 단순한 루틴입니다.

     

    파워쉘 실행코드

    $i=2000
    do
    { Get-AzureVM -ServiceName "server1" -Name "server1" | Add-AzureEndpoint -LocalPort $i -PublicPort $i -Name MW3Port$i -Protocol TCP | Update-AzureVM; $i+=1}
    until ($i -gt 2010 )

    포트 2000번부터 2010번까지 끝점을 생성하려면, 위의 방식을 쓰면 되지요.

    만약, “ServiceName”이나 “Name”이 뭔지 모르겠다면, 파워쉘에서 Get-AzureVM 실행하시면 현재 구독의 VM 리스트를 볼 수 있습니다. 해당 VM을 선택해 위에서 파라미터로 넣으시면 됩니다.

     

    아래의 링크는 또 다른 방식의 파워쉘 기반 끝점을 열어 주는 스크립트 입니다. Load Balancer 끝점 추가도 가능하고, CSV 파일을 엑셀에서 편집 후 파워쉘에서 바로 내용을 가져와 실행하는 스크립트 입니다.

    Adding multiple endpoints to your Windows Azure Virtual Machines by using a CSV file

    도움 되시길 바랍니다.

     

    Windows Azure 관리자 포털에서 UI로 끝점 구성을 위한 범위(Range) 지정

    2014년 3월 현재 Windows Azure는 끝점을 범위(Range)로 추가할 수 없어요, 하지만 곧 범위지정이 가능해 질 예정이라고 하니 많은 도움 되시길 바랍니다.

     

    참고링크 :

    파워쉘 스크립트를 이용해 여러 개의 끝점을 여는 방법

    Adding multiple endpoints to your Windows Azure Virtual Machines by using a CSV file 

    Windows Azure 관리 자동화 파워쉘(Powershell) 스크립트 실행 준비 절차

    How to Set Up Endpoints to a Virtual Machine

    파워쉘을 이용한 Windows Azure 가상머신 생성과 삭제 - Create or Delete Virtual Machines Using Windows Azure Cmdlets

    파워쉘을 이용한 Windows Azure 가상머신 관리 - Manage Virtual Machines Using Windows Azure Cmdlets

  • Korea Evangelist

    Windows Azure 관리 자동화 파워쉘(Powershell) 스크립트 실행 준비 절차

    • 0 Comments

    안녕하세요. 김대우입니다.

    이번 시간에는 Windows Azure의 여러 기능들을 스크립트 기반으로 관리하기 위해 알아 두시면 좋은 파워쉘을 구동하고 준비하는 과정을 정리해 보려고 해요.

     

    파워쉘은 쉘 스크립트 기반으로 마이크로소프트의 여러 다양한 제품들을 제어하기 위한 기술입니다.

    재사용도 가능하고, UI보다 빠른 대량 작업도 가능하지요. Windows Azure 도 파워쉘로 빠른 관리가 가능해요.

    파워쉘에서 Azure를 사용하기 위해서는 파워쉘 cmdlets을 설치해야 합니다.

     

    아래의 SDK 링크에서 설치 가능

    Windows Azure PowerShell cmdlets.

    command-line tool의 Windows PowerShell – install 을 선택하면 설치 가능합니다.

    만약, 웹 플랫폼 설치 관리자(WPI)가 설치 안되었다면 설치하고, 계속 진행하시면 됩니다.

     

    WPI는 여러 종속성(dependency)가 있는 SDK나 플러그인 등의 다운로드를 자동으로 조절해 주는 편리한 설치 관리자로 보시면 되요.

     image_thumb.png

     

    파워쉘 관련자료로 참고 하시면 좋은 링크입니다. – 동영상 강좌도 제공

    SQLER의 Windows Server 게시판 김재훈의 파워쉘 강좌

     

    Windows Azure를 위한 파워쉘 실행

    파워쉘을 실행하려면, powershell 명령을 실행창(윈도우키+R) 또는 프로그램에서 선택해 실행 하시면 됩니다.

    그러면, 아래와 유사한 화면이 시작되지요.


     image10_thumb.png

    Windows Azure를 파워쉘에서 사용하려면, 파워쉘 SDK 가져오기(import) 작업을 수행 해야 합니다. 그래야 Azure 관련 파워쉘 명령을 실행 할 수 있어요. 아래 경로는 파워쉘 설치시 기본 설정 경로 입니다.

     

    Import-Module "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1"

    이렇게 Import 과정을 수행합니다.

    Azure 출판 설정 파일(PublishSetting)은 Windows Azure의 구독 정보가 기록된 파일이에요.

    파워쉘의 현재 세션이 나의 Windows Azure 구독에 접근해 여러 작업을 가능하도록 하는 인증서라고 보면 됩니다.

    구독 파일 - publishSettings 다운로드 방법은 https://manage.windowsazure.com/publishsettings/index?client=powershell 바로 다운로드 시작 되고 저장 가능 합니다.

     

    또는, 파워쉘에서 아래 명령 수행 하면 브라우저가 열리면서 출판 설정 파일을 바로 다운로드 가능해요.

    Get-AzurePublishSettingsFile

     

    다운로드 받은 설정 파일을 현재 세션에 입력해야 합니다. 위의 이미지처럼, c:\temp 폴더에 저장했고 수행했지요.

    Import-AzurePublishSettingsFile "c:\설정파일저장폴더\설정파일"

    구독(Subscription)이 여러 개일 경우 구독 선택 과정이 필요할 수 있습니다.

    자 여기까지 진행 하셨으면, 이제 파워쉘로 Azure를 제어할 준비가 끝나신거에요. 

     

    만약, 구독(Subscription)이 여러 개일 경우

    만약, 관리 목적 등의 이유로 구독들이 여러 개일 경우 선택해야 해서 구독들의 리스트를 보려면

    Get-AzureSubscription

    를 실행하면 구독 리스트를 볼 수 있습니다. SubscriptionName을 잘 확인해 두시고요.

     

    Select-Azuresubscription

    을 실행하면 프롬프트가 뜨면서 SubscriptionName을 입력하라고 하는데요. 위에서 확인한 SubscriptionName을 넣으면 됩니다.

     

    파워쉘에서 Azure 관련 도움말 리스트가 보고 싶으실 경우에는

    Help Azure

    를 수행하시면 됩니다.

    수고하셨습니다.

     

    참고링크:

    SQLER의 Windows Server 게시판 김재훈의 파워쉘 강좌

    Windows Azure PowerShell 공식 웹사이트

    파워쉘을 이용한 Windows Azure 가상머신 생성과 삭제 - Create or Delete Virtual Machines Using Windows Azure Cmdlets

    파워쉘을 이용한 Windows Azure 가상머신 관리 - Manage Virtual Machines Using Windows Azure Cmdlets

  • Korea Evangelist

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    • 0 Comments

    안녕하세요. 김대우입니다.

    이번에는 Windows Azure에서 웹 어플리케이션을 구축하는 방법을 통해 시나리오별로 어떤 서비스가 적절할지 소개해 드리도록 하겠습니다. 첫 번째 강좌를 충분히 살펴 보셨고 이해 하셨다면, 어렵지 않게 찍어서 보실 수 있으실 거에요.

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    Q. 스타트업, 소규모 기업으로 웹서비스를 제공하려 한다. 하지만, 향후 성장을 고려해 저렴한 서비스부터 확장 가능한 서비스를 선택하고 싶다.

    A. Windows Azure 웹사이트가 좋은 선택

    - 무료 모드로 시작 가능하고 대규모로 확장 가능하다

    - 어플리케이션 갤러리에서 워드프레스 등을 선택해 바로 웹사이트 생성 가능하고, 국내 XpressEngine이나 KimsQ도 설치 가능

    - Windows Azure의 여러 서비스와 연결 가능

    - SSL 지원으로 더 보안이 강화된 제공 웹사이트 구축 가능

    Q. 디지털에이전시 / 웹디자이너로 고객의 요구에 맞춰 웹사이트를 디자인하고 운영하고 싶다.

    A. Windows Azure 웹사이트가 좋은 선택. 정교한 디자인의 웹 어플리케이션이나 웹사이트를 생성해 서비스 가능

    - 여러 종류의 데이터베이스나 클래식 ASP, .Net, PHP, Node.js, 와 Python 언어로 구축 가능

    - CLI 툴이나 파워쉘 자동화된 배포나 관리 작업 가능

    - 다른 클라우드 서비스 – Windows Azure SQL Database(PaaS 기반 SQL 데이터 서비스), 서비스 버스, 저장소는 물론 클라우드 서비스로 제공되는 MySQL(ClearDB - 현재 북미,유럽 지역만 서비스)이나 MongoDB(MongoLab)도 사용 가능하다

    - 배포를 위해 Visual Studio, Git, WebMatrix, WebDeploy, TFS, FTP을 선택해 사용 가능(리눅스와 Mac은 FTP와 Git 이용 가능)

    Q. 멀티티어(Multi-Tier) 웹기반 프런트엔드 어플리케이션을 클라우드로 마이그레이션 하고 싶다.

    A. 멀티티어 어플리케이션을 서비스 할 경우 Azure에서는 몇가지를 선택 가능.

    A1) Windows Azure 웹사이트

    - Windows Azure 웹사이트와 Windows Azure SQL Database를 이용하는 2티어 구조로 제작 가능

    - 웹사이트는 WebJob으로 백그라우드 작업이나 시간이 오래 걸리는 작업을 수행

    - 하지만, 아키텍처와 유연한 인스턴스 확장을 위해서는 클라우드 서비스나 가상머신이 더 좋은 선택이다.

    A2) Windows Azure 클라우드 서비스

    - 미들티어, 백엔드 서비스들을 모두 확장 가능한 web role과 workder role로 서비스 가능

    - 오직, 미들티어와 백엔드 서비스들만을 worker role에서 서비스 가능하고, 웹은 Windows Azure 웹사이트로 유지 가능

    - 프런트엔드 인스턴스와 백엔드 인스턴스들을을 개별적으로 스케일링 가능

    A3) Windows Azure 가상머신

    - 많이 커스터마이징된 서비스 환경들을 가상머신 이미지(Virtual Machine Image)로 쉽게 Azure로 마이그레이션 가능하다.

    - 웹사이트나 클라우드 서비스에서 구성할 수 없는 소프트웨어를 실행할 수 있다.

    Q. 내 어플리케이션은 윈도우나 리눅스에 극도로 커스터마이징 되어 있다.

    A. 만약, 어플리케이션이 복잡한 설치나 구성이 OS에 맞춰 필요하다면 Windows Azure 가상머신이 좋은 선택이다.

    - 다양한 종류와 버전의 윈도우 서버나 리눅스 OS를 가상 머신 갤러리를 이용해 시작할 수 있다.

    - 커스텀 이미지 파일을 on-premise 등에서 가상머신 이미지로 만들어 Windows Azure로 업로드 한 후 서비스 가능하다.

    Q. OSS – 오픈 소스 소프트웨어를 사용하고 클라우드 환경에서 구동하고 싶다.

    A. Windows Azure 웹사이트, 클라우드 서비스, 가상머신 세가지 옵션을 모두 선택 가능

    - Windows Azure 클라우드 서비스는 시작 작업(Startup task)으로 Windows 위에서 OSS 구동에 필요한 환경이나 구성을 설치 가능

    - Windows Azure 가상머신은 Windows나 리눅스 가상머신 위에 설치하고 구성 가능

    - Windows Azure 웹사이트를 OSS가 지원한다면

       a) Windows Azure 웹사이트는 클래식 ASP, .NET, PHP, Node.js, Python 언어를 지원

       b) WordPress, Drupal, Umbraco, DNN(DotNetNuke) 나 다른 OSS 어플리케이션을 설치. 국내 XpressEngine이나 KimsQ도 설치 가능

    Q. LOB(Line Of Business) 웹 어플리케이션이 바로 회사망과 연결해야 한다.

    A. 만약 LOB 어플리케이션을 클라우드로 올리고 싶을 경우 회사망에서 데이터나 서비스로 바로 접근 가능해야 한다. 이 경우도 Windows Azure에서 웹사이트와 클라우드 서비스, 가상머신 중에서 몇 가지를 선택 가능

    - Windows Azure 웹사이트는 On-premise와 서비스 버스(Service Bus) 릴레이로 연결 가능하고, 가상네트워크(Virtual Network)나 모든 자원들을 클라우드로 연결하지 않고 작업을 수행 가능하다.

    - Windows Azure 클라우드 서비스와 가상머신은 가상네트워크(Virtual Network)를 사용 가능한 장점이 있다. 가상네트워크는 Windows Azure를 On-premise의 네트워크와 연결할 수 있게 한다. 즉, Windows Azure를 회사 데이터센터의 일부로 확장 가능하다.

    Q. 모바일 디바이스들을 위한 REST API나 웹 서비스를 제공하려 한다.

    A. HTTP 기반 웹 서비스는 다양한 디바이스를 지원한다. ASP.NET Web API와 같은 프레임워크와 Visual Studio로 쉽게 REST 기반 서비스를 생성하고 사용 가능하며 이는 웹 엔드포인트로 쉽게 노출 가능하다. 이는 Windows Azure의 웹 서비스가 모두 제공하는 시나리오이며 Windows Azure 웹사이트는 REST API를 위한 최선의 선택이다.

    - Windows Azure 웹사이트로 HTTP 서비스를 제공하는 웹사이트를 전세계의 데이터센터에 빠르고 쉽게 생성 가능하다.

    - 기존 서비스를 마이그레이션 하거나 새로 생성할 경우 ASP.NET Web API로 제작하는 것이 좋은 선택이다.

    - SLA와 고가용성이 보장되어 하나의 인스턴스부터 여러대의 서버를 사용 가능하다.

    많은 도움 되시길 바랍니다.

    참고링크 :

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    IaaS, PaaS, SaaS - 누구나 클라우드를 말한다.

    Windows Azure 웹사이트 갤러리

    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (1/3)
    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (2/3)

    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (3/3)

    Windows Azure Web Sites, Cloud Services and Virtual Machines comparison
    Windows Azure Websites, Web Roles, and VMs: When to use which?

    Windows Azure 웹사이트, 클라우드 서비스, 가상머신 기능비교 표

    기능 웹사이트 클라우드 서비스(web roles) 가상머신

    Access to services like Service Bus, Storage, SQL Database

    X X X

    Host web or web services tier of a multi-tier architecture

    X X X

    Host middle tier of a multi-tier architecture

      X X

    Integrated MySQL-as-a-service support

    X X 1 X

    Support for ASP.NET, classic ASP, Node.js, PHP, Python

    X X X

    Scale out to multiple instances without redeploy

    X X X 2

    Support for SSL

    X 3 X X

    Visual Studio integration

    X X X

    Remote Debugging

    X X X

    Deploy code with TFS

    X X X

    Deploy code with GIT, FTP

    X   X

    Deploy code with Web Deploy

    X 4 X

    WebMatrix support

    X   X

    Near-instant deployment

    X    

    Instances share content and configuration

    X    

    Scale up to larger machines without redeploy

    X    

    Multiple deployment environments (production and staging)

    X X  

    Network isolation with Windows Azure Virtual Network

      X X

    Support for Windows Azure Traffic Manager

      X X

    Remote desktop access to servers

      X X

    Ability to define/execute start-up tasks

      X X

    Automatic OS update management

    X X  

    Integrated Endpoint Monitoring

    X X X

    Seamless platform switching (32bit/64bit)

    X X

     

    Windows Azure Web Sites, Cloud Services and Virtual Machines comparison

    주석 내용은 위의 링크를 참고하세요. 감사합니다.

  • Korea Evangelist

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    • 0 Comments

    안녕하세요. 김대우입니다.

    이번 포스팅에서는 Windows Azure에서 웹 어플리케이션을 구축하는 방법을 통해 Windows Azure의 어떤 웹 서비스가 나에게 적절할지 알아보는 시간을 가지려고 합니다.

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    Windows Azure 적용을 처음 고려 중인 개발사와 이야기 하다 보면, 항상 받는 질문이 있습니다.

    - 늘 하던 대로, 가상머신(Virtual Machine) 위에 웹서버를 올리고 PHP나 Node.js를 올려 단순한 웹 서비스를 하려고 합니다.

    - HTTP 기반 REST API로 모바일 게임을 위한 웹 서비스를 올리려고 해요. 가상머신 써야죠. DB도 올려야 하고.

    - Windows Azure 웹사이트? PaaS가 뭔가요? 

    포스팅을 계속 진행하기 전, IaaS나 PaaS에 대해 명확히 알고 싶으신 분들은 아래 내용을 참조 하세요.

    IaaS, PaaS, SaaS - 누구나 클라우드를 말한다.

    Windows Azure는 IaaS만을 주로 제공하는 타 클라우드 사업자들과 다르게 IaaS와 PaaS, On-premise를 모두 제공하고 있습니다.

    Windows Azure에서 웹서비스를 일반적으로 제공하는 방법은 세가지로 볼 수 있어요.

    1) Windows Azure Web Sites를 이용하는 방법

    2) Cloud Services 를 이용하는 방법

    3) Virtual Machines을 이용하는 방법

    세 가지 방법 모두, 클라우드의 장점인 유연하고 확장 가능한 어플리케이션을 생성 가능합니다. 하지만, 몇 가지 차이점이 있고 미리 검토해 두시면 이후 플랫폼에 대한 선택이 편해지고 클라우드 서비스 개발과 배포가 무척 쉬워지니 참고 하시면 되실거에요.

    이번 포스팅에서는 이 세가지의 차이를 구조와 기능적인 면에서 간략히 소개해 드리고, 다음 포스팅에서는 서비스 구축 시나리오별로 어떤 웹서비스를 선택하시면 좋을지 논의 드리는 시간을 가지도록 하겠습니다.

    Windows Azure 웹사이트, 클라우드 서비스, 가상머신을 한눈에 비교하면!!!

    image_thumb.png

    이 이미지 만으로도 감이 뽝 오는 분 계실겁니다. 조금 더 상세히 살펴보시지요. 

    1) Windows Azure 웹사이트 – PaaS

    - 대부분의 경우 웹 어플리케이션을 위한 최선의 선택

    - Classic ASP, ASP.NET, PHP, Node.js, Python 지원(2014년 3월 14일 기준)

    - 단순하고 유연한 배포 및 관리 옵션 제공 - Git, GitHub, Bitbucket, CodePlex, TFS 및 DropBox (2014년 3월 14일 기준)

    - 초소형 사이트부터 대용량 서비스까지 확장 가능

    - 워드프레스와 같은 블로그 엔진이나 해외 유명 CMS들로부터 바로 웹사이트 생성 가능 – Windows Azure 웹사이트 갤러리

    - WebJob을 이용해 백그라운드로 스케쥴링된 작업 수행 가능

    2) Windows Azure 클라우드 서비스 – PaaS

    - 멀티 티어로 제작되어 개별 티어에서 독립적으로 확장 가능한 웹 어플리케이션 서비스 –클라우드 서비스가 대규모 서비스에 이용되는 가장 큰 이유죠.

    - 웹 어플리케이션에서 추가적인 시스템에 대한 권한이나 네트워크 기능이 필요할 경우

    - 프러덕션 모드나 스테이징 모드로 배포 환경 구성 가능

    3) Windows Azure 가상머신 - IaaS

    - 서버 시스템의 로우레벨 리소스 접근이 필요할 경우

    - 서버 어플리케이션(특수 DB서버나 서비스 연동이 필요할 경우) 동작

    - LOB 어플리케이션

    - 다양한 버전의 윈도우 서버와 리눅스 서버를 ��택 가능

    이 정도의 내용이면 대략 어떤 서비스를 이용해야 할지 감이 오실 것 같아요.

    PaaS 서비스인 웹사이트와 클라우드 서비스는 OS 업데이트나 유지관리 작업에서 자유로울 수 있다는 것도 큰 장점입니다.

    자! 이렇게 간단히 살펴 보았구요, 다음 포스팅을 통해 Windows Azure의 시나리오 별 선택 가이드와 상세 기능 비교를 진행하도록 하겠습니다. 감사합니다.

    참고링크

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    IaaS, PaaS, SaaS - 누구나 클라우드를 말한다.

    Windows Azure 웹사이트 갤러리

    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (1/3)
    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (2/3)

    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (3/3)

    Windows Azure Web Sites, Cloud Services and Virtual Machines comparison
    Windows Azure Websites, Web Roles, and VMs: When to use which?

Page 1 of 4 (17 items) 1234