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 - 누구나 클라우드를 말한다.
사설(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
주석 내용은 위의 링크를 참고하세요. 감사합니다.