Condividi tramite


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

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

이번에는 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

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