Windows Azure에 잘 맞는 응용 프로그램입니까?
작성자: Jason Roth
검토자: Paulette McKay, Ralph Squillace, Sidney Higa, Brian Swan
Windows Azure를 사용하여 응용 프로그램을 호스팅하려는 경우 자신의 응용 프로그램 또는 비즈니스 요구 사항이 플랫폼에 최선인지 궁금할 수 있습니다. 이 항목에서는 다음 작업을 통해 이 질문에 대답합니다.
-
Windows Azure에서 응용 프로그램에 제공하는 이점 살펴보기
-
일반적인 시나리오에 플랫폼의 장점 적용
-
플랫폼의 장점을 활용하지 않는 시나리오 거부
-
몇 가지 일반적인 아키텍처 및 개발 고려 사항 검토
이는 응용 프로그램에 대해 생각하고 응용 프로그램을 Windows Azure의 기능과 관련시키는 데 대해 생각하기 위한 프레임워크를 제공하기 위한 것입니다. 대부분의 경우 응용 프로그램을 분석하고 클라우드로 이동하는 방법을 결정하는 기능을 향상시키기 위한 추가 리소스에 대한 링크가 제공됩니다.
Windows Azure의 이점 이해
응용 프로그램이 Windows Azure에 적합한지 확인하려면 먼저 플랫폼의 몇 가지 주요 이점을 이해해야 합니다. 이점의 전체 목록은 Windows Azure 설명서 및 Windows Azure에 대한 여러 문서와 비디오에 있습니다. 이 주제에 대한 우수한 문서 중 하나는 클라우드 최적화 – 컴퓨팅 요구 및 비즈니스 요구에 맞추는 동시에 기능 확장입니다.
하드웨어 및 인프라 리소스가 자동으로 관리됨으로써 얻을 수 있는 몇 가지 이점이 있습니다. 이러한 기능을 이용하는 시나리오에 대해 설명하기 전에 높은 수준에서 이러한 몇 가지 이점을 살펴보겠습니다.
리소스 관리
응용 프로그램과 서비스를 클라우드에 배포하면 Windows Azure에서는 필요한 가상 컴퓨터, 네트워크 대역폭 및 기타 인프라 리소스를 제공합니다. 하드웨어 업데이트 또는 예기치 않은 오류로 인해 컴퓨터의 작동이 중단되는 경우 응용 프로그램을 위해 새 가상 컴퓨터가 자동으로 배치됩니다.
사용한 항목에 대해서만 비용을 지불하면 되므로 온-프레미스 배포에 필요한 일반 선불 비용이 발생하게 하는 대신 적은 투자로 시작할 수 있습니다. 이는 특히 소규모 회사에 유용할 수 있습니다. 온-프레미스 시나리오에서 이러한 조직은 응용 프로그램을 성공적으로 배포하는 데 필요한 데이터 센터 공간, IT 기술 또는 하드웨어 기술을 가지고 있지 못할 수 있습니다. Windows Azure에서 제공하는 자동 인프라 서비스는 응용 프로그램 배포 및 관리를 위한 낮은 진입 장벽을 제공합니다.
동적 크기 조정
동적 크기 조정은 리소스 요구 사항에 따라 응용 프로그램을 확장하거나 다시 확장하는 기능을 말합니다. 이를 탄력적인 확장이라고도 합니다. 동적 크기 조정의 작동 방식을 설명하기 전에 Windows Azure 응용 프로그램의 기본 아키텍처를 이해해야 합니다. Windows Azure에서 응용 프로그램 논리를 구현하기 위해 함께 작동하는 역할을 만드십시오. 예를 들어 한 웹 역할은 응용 프로그램의 ASP.NET 프런트 엔드를 호스팅할 수 있고 하나 이상의 작업자 역할은 필요한 백그라운드 작업을 수행할 수 있습니다. 각 역할은 Windows Azure 데이터 센터의 역할 인스턴스라는 하나 이상의 가상 컴퓨터에서 호스팅됩니다. 요청은 이 인스턴스 간에 부하가 분산됩니다. 역할에 대한 자세한 내용은 Windows Azure 프로그래밍 모델 문서를 참조하십시오.
리소스 요구량이 증가하는 경우 응용 프로그램 코드를 실행하는 새 역할 인스턴스를 프로비전하여 부하를 처리할 수 있습니다. 리소스 요구량이 감소하면 불필요한 컴퓨팅 기능에 대한 비용을 지불할 필요가 없도록 이러한 인스턴스를 제거할 수 있습니다. 이는 최고 요구량을 예상하기 위해 하드웨어를 초과 프로비전해야 하는 온-프레미스 배포와 많이 다릅니다. 이러한 크기 조정이 자동으로 발생하지는 않지만 웹 포털 또는 서비스 관리 API를 통해 쉽게 크기 조정을 수행할 수 있습니다. 응용 프로그램 동적 크기 조정 문서에서는 Windows Azure 응용 프로그램의 크기를 동적으로 조정할 수 있는 한 가지 방법을 보여 줍니다. Microsoft Patterns and Practices 팀에서 작성한 응용 프로그램 블록 자동 크기 조정도 있습니다.
응용 프로그램에 컴퓨팅 리소스에 대한 변동이 심하거나 예측할 수 없는 요구가 필요한 경우 Windows Azure를 사용하여 부하에 맞게 리소스 사용률을 쉽게 조정할 수 있습니다.
고가용성 및 지속성
Windows Azure에서는 저장소 서비스 또는 Windows Azure SQL 데이터베이스를 통해 안정적으로 백 엔드 데이터를 저장하고 액세스할 수 있는 가용성이 높은 응용 프로그램을 위한 플랫폼을 제공합니다.
첫 번째로, Windows Azure에서는 각 역할의 여러 인스턴스가 있는 경우 컴퓨팅 리소스의 고가용성을 보장합니다. 역할 인스턴스는 자동으로 모니터링되므로 역할을 새 인스턴스에 자동으로 배포하여 하드웨어 다시 시작 또는 오류에 신속하게 대처할 수 있습니다.
두 번째로, Windows Azure에서는 저장소 서비스 중 하나를 통해 저장된 데이터에 대한 고가용성과 지속성을 보장합니다. Windows Azure 저장소 서비스는 모든 데이터를 세 대 이상의 다른 서버에 복제합니다. 마찬가지로 SQL 데이터베이스는 모든 데이터를 복제하여 가용성 및 지속성을 보장합니다.
기타 Windows Azure 서비스에서도 비슷한 고가용성을 보장합니다. 자세한 내용은 Windows Azure SLA를 참조하십시오.
Windows Azure의 장점을 활용하는 대상 시나리오
Windows Azure 플랫폼의 장점을 알고 있는 상태에서 클라우드에 가장 적합한 시나리오를 살펴보기 시작할 수 있습니다. 다음 섹션에서는 Windows Azure를 특정 작업과 목표에 적합하게 하는 방법과 이러한 몇 가지 패턴에 대해 설명합니다. Windows Azure 디자인 패턴 비디오에서는 아래의 여러 시나리오에 대해 설명하고 Windows Azure 플랫폼에 대해 간략하게 설명합니다.
팁 |
|---|
| 여기에서는 응용 프로그램 시나리오에 중점을 두고 있지만 Windows Azure의 개별 서비스를 사용하도록 선택할 수 있습니다. 예를 들어 Blob 저장소를 사용하여 응용 프로그램 문제를 해결할 수 있으면 응용 프로그램의 나머지 부분은 클라우드 외부에 남아 있을 수 있습니다. 이를 하이브리드 응용 프로그램이라고 하고 이 항목의 뒷부분에서 설명합니다. |
가용성이 높은 서비스
Windows Azure는 가용성이 높은 서비스를 호스팅하는 데 적합합니다. Windows Azure에 배포되는 온라인 상점을 가정해 보겠습니다. 온라인 상점에서는 수익이 창출되므로 계속 실행되도록 유지하는 것이 중요합니다. 이는 Windows Azure 데이터 센터에서 수행되는 자동 인스턴스 관리 및 서비스 모니터링을 통해 가능합니다. 온라인 상점은 고객 수요에도 대응해야 합니다. 이는 Windows Azure의 탄력적인 크기 조정 기능을 통해 가능합니다. 피크 쇼핑 시간에는 새 인스턴스를 온라인 상태로 만들어 증가한 사용량을 처리할 수 있습니다. 또한 온라인 상점은 주문을 잃어버리거나 주문을 완전히 처리하지 못하는 일이 없어야 합니다. Windows Azure 저장소 및 SQL 데이터베이스에서는 주문 수명 주기 전체적으로 주문 정보 및 상태를 보관하도록 가용성이 높고 지속적인 저장소 옵션을 제공합니다.
정기적인 작업
Windows Azure에 맞는 또 다른 좋은 작업 형태는 "설정 및 해제" 작업입니다. 일부 응용 프로그램은 계속 실행할 필요가 없습니다. 이러한 작업의 간단한 한 가지 예로는 며칠이나 몇 주 동안만 사용할 수 있게 하려는 데모 또는 유틸리티 응용 프로그램이 있습니다. Windows Azure를 사용하면 해당 응용 프로그램을 쉽게 만들고 배포하고 공유할 수 있습니다. 그러나 목적을 달성하고 나면 응용 프로그램을 제거하여 응용 프로그램이 배포되었던 시간 동안만 요금이 청구되도록 할 수 있습니다.
참고 |
|---|
| 참고: 계산 시간에 대한 요금이 청구되지 않도록 하기 위해서는 응용 프로그램을 일시 중단하는 것으로 그치면 안 되고 배포를 제거해야 합니다. |
또한 매월 월말에 판매량에 대한 복잡한 데이터 분석을 실행하는 큰 회사가 있다고 가정해 보겠습니다. 분석이 처리 집중형이지만 분석을 완료하는 데 필요한 총 시간은 2일이면 충분합니다. 온-프레미스 시나리오에서는 이 작업에 필요한 서버가 한 달의 대부분 충분히 활용되지 못할 것입니다. Windows Azure에서는 분석 응용 프로그램이 클라우드에서 실행되는 시간에 대해서만 요금이 청구됩니다. 그리고 응용 프로그램의 아키텍처가 병렬 처리를 위해 디자인되어 있다고 가정했을 때 Windows Azure의 확장 기능은 회사가 많은 수의 작업자 역할 인스턴스를 만들어 짧은 시간 안에 더 복잡한 작업을 완료하도록 할 수 있습니다. 이 예에서는 코드 또는 스크립팅을 사용하여 매월 적절한 시간에 응용 프로그램을 자동으로 배포해야 합니다.
예측할 수 없는 성장
기업은 모두 빠르고 지속적인 성장 목표를 가집니다. 그러나 기존의 온-프레미스 모델에서는 성장을 처리하기 매우 어렵습니다. 예상 성장이 실현되지 않을 경우 충분히 활용되지 않는 하드웨어 및 인프라를 유지 관리하는 데 비용을 사용하는 결과를 얻습니다. 그러나 예상보다 더 빨리 성장이 이루어질 경우 부하를 처리할 수 없어 거래를 놓치고 열악한 고객 환경을 만들 수 있습니다. 작은 회사의 경우 빠른 성장에 대비하거나 따라가기 위한 초기 자본조차 충분하지 않을 수 있습니다.
Windows Azure는 이러한 상황을 처리하기에 적합합니다. 광고로 수익을 얻는 작은 스포츠 뉴스 웹 사이트가 있다고 가정해 보겠습니다. 수익 금액은 사이트에서 생성되는 트래픽의 양과 직접적으로 비례합니다. 이 예에서는 벤처 초기 자본이 제한되어 있으며 자체 데이터 센터를 설치하여 실행하는 데 필요한 자금이 없습니다. Windows Azure에서 실행할 웹 사이트를 디자인하여 사진 및 비디오를 위한 Blob 저장소 및 관계형 데이터에 백 엔드 SQL 데이터베이스를 사용하는 ASP.NET 응용 프로그램으로 자체 솔루션을 쉽게 배포할 수 있습니다. 웹 사이트 인기가 크게 올라갈 경우 프런트 엔드를 위한 웹 역할 인스턴스 수를 늘리거나 SQL 데이터베이스의 크기를 늘릴 수 있습니다. Blob 저장소에는 Windows Azure 내에서 기본 제공되는 확장성 기능이 있습니다. 거래가 줄어들 경우 불필요한 인스턴스를 제거할 수 있습니다. 회사 수익은 사이트에서의 트래픽에 비례하므로 Windows Azure를 사용하면 작은 규모로 시작하고 빠르게 성장하고 위험 부담을 줄일 수 있습니다.
Windows Azure를 사용하면 컴퓨팅 비용을 적극적으로 관리하는 방법을 결정하는 완전한 제어권을 가질 수 있습니다. 서비스 관리 API 또는 자동 크기 조정 응용 프로그램 블록을 사용하여 사용자 지정 규칙을 기반으로 인스턴스를 만들거나 제거하는 자동 크기 조정 엔진을 만들지 결정할 수 있습니다. 업무 시간 동안에는 4개의 인스턴스, 업무 시간 이외에는 2개의 인스턴스와 같이 미리 결정된 금액에 따라 인스턴스 수가 달라지도록 선택할 수 있습니다. 또는 인스턴스 수를 일정하게 유지하다가 시간이 지남에 따라 요구량이 증가할 경우에만 웹 포털을 통해 수동으로 인스턴스 수를 늘릴 수도 있습니다. Windows Azure에서는 비즈니스에 적합한 결정을 할 수 있는 유연성을 제공합니다.
작업 스파이크
작업 스파이크는 탄력적인 확장이 필요한 작업 패턴입니다. 이전의 스포츠 뉴스 웹 사이트 예제를 살펴보겠습니다. 사업이 꾸준히 성장하고 있으므로 여전히 작업의 일시적인 스파이크 또는 버스트 가능성이 있습니다. 예를 들어 이 사이트가 다른 인기 있는 뉴스 보도에 인용되는 경우 사이트 방문자 수가 하루 만에 크게 증가할 수 있습니다. 더 예측 가능한 시나리오에서는 주요 스포츠 경기 및 스포츠 선수권 대회로 인해 해당 사이트에 대한 작업이 더 활발해질 것입니다.
다른 예로는 하루를 마감할 때 일일 보고서를 처리하는 서비스가 있습니다. 영업일이 끝날 때 각 사무실은 본사에서 처리된 보고서를 보냅니다. 이 프로세스는 매일 몇 시간 동안만 활성화 상태여야 하므로 탄력적인 크기 조정 및 배포에 적합합니다.
Windows Azure는 일시적으로 응용 프로그램 크기를 확장하여 부하 스파이크를 처리한 다음 이벤트가 지난 후 다시 확장하는 데 적합합니다.
인프라 오프로드
앞의 예에서 설명한 대로 대부분의 일반적인 클라우드 시나리오에서는 Windows Azure의 탄력적인 확장을 사용합니다. 그러나 꾸준한 작업 패턴이 있는 응용 프로그램도 Windows Azure에서 비용 절감을 실현할 수 있습니다. 특히 에너지, 기술력, 하드웨어, 소프트웨어 라이선스 및 설비 비용을 고려할 때 자체 데이터 센터를 관리하는 것은 비용이 많이 듭니다. 또한 비용이 개별 응용 프로그램에 어떤 식으로 연결되는지 이해하기도 어렵습니다. Windows Azure에서 총 비용을 줄일 뿐 아니라 해당 비용을 더 투명하게 만드는 것이 목표입니다. 클라우드 최적화 – 컴퓨팅 요구 및 비즈니스 요구에 맞추는 동시에 기능 확장 문서는 일반적인 온-프레미스 호스팅 비용 및 Windows Azure를 사용하여 이 비용을 줄일 수 있는 방법에 대해 잘 설명하고 있습니다. Windows Azure에서는 특정 비용을 이해하기 위한 가격 계산기 및 Windows Azure를 사용하여 발생할 수 있는 전체 비용 절감을 예측하기 위한 TCO(총 소유 비용) 계산기도 제공합니다. 이러한 계산기 도구와 기타 가격 정보에 대한 링크는 Windows Azure 웹 사이트를 참조하십시오.
Windows Azure의 기능이 필요하지 않은 시나리오
모든 응용 프로그램을 클라우드로 이동해야 하는 것은 아닙니다. Windows Azure 기능을 통해 이점을 얻는 응용 프로그램만 클라우드로 이동해야 합니다.
친구와 가족을 위해 만든 개인 블로그 웹 사이트가 좋은 예입니다. 이와 같은 사이트는 글과 사진을 포함합니다. 이 프로젝트에 Windows Azure를 사용할 수 있지만 Windows Azure가 최상의 선택이 아닌 몇 가지 이유가 있습니다. 먼저, 사이트 방문 횟수가 하루에 몇 번밖에 되지 않더라도 하나의 역할 인스턴스가 계속해서 실행되어 해당 요청을 처리해야 합니다. 계산을 위해 Windows Azure SLA를 달성하기 위해서는 두 개의 인스턴스가 필요합니다. Windows Azure에서 비용은 각 역할 인스턴스가 배포된 시간(Windows Azure 명명법에서 계산 시간이라고 함)을 기반으로 합니다. 응용 프로그램을 일시 중지해도 계산 시간에 대한 사용 및 요금 청구는 일시 중지되지 않습니다. 이 사이트가 하루 중 한 번의 방문에만 응답한 경우에도 24시간의 계산 시간에 대해 요금이 청구됩니다. 즉, 이 사이트는 코드를 실행하는 가상 컴퓨터에서 임대한 공간입니다. 따라서 이 항목을 작성한 시점을 기준으로 했을 때 웹 역할의 초소형 인스턴스 하나에 대한 비용만 해도 한 달에 $30입니다. 그리고 20GB의 사진이 Blob 저장소에 저장되어 있는 경우 해당 저장소와 트랜잭션 및 대역폭 비용까지 더하면 $6가 추가될 수 있습니다. Windows Azure에서 이러한 유형의 사이트를 호스팅하는 월간 비용은 타사의 간단한 웹 호스팅 솔루션 비용보다 높습니다. 가장 중요한 점은 이 유형의 웹 사이트에는 리소스 관리, 동적 크기 조정, 고가용성 및 지속성이 필요하지 않다는 점입니다.
Windows Azure를 사용하면 비즈니스 요구에 적합한 옵션만 선택할 수 있습니다. 예를 들어 법적 이유나 규정상의 이유로 특정 데이터를 클라우드에서 호스팅할 수 없는 인스턴스가 있을 수 있습니다. 이러한 경우 중요하지 않으면서 가용성이 높아야 하는 응용 프로그램의 특정 부분이나 특정 데이터만 Windows Azure에서 호스팅하는 하이브리드 솔루션을 고려할 수 있습니다.
Windows Azure에 적합하지 않은 다른 시나리오가 있습니다. Windows Azure의 장점을 이해하면 이러한 장점을 활용하지 않는 응용 프로그램이나 응용 프로그램의 일부분을 인식할 수 있습니다. 그러면 Windows Azure 기능을 가장 효과적으로 활용하는 전체 솔루션을 더욱 성공적으로 개발할 수 있습니다.
아키텍처 및 개발 평가
물론 Windows Azure로의 이동에 대한 평가에는 단지 응용 프로그램이나 비즈니스 목표가 클라우드에 적합한지 아는 것 이상의 요소가 포함됩니다. 기존 응용 프로그램이나 새 응용 프로그램의 아키텍처 및 개발 특성을 평가하는 것도 중요합니다. Windows Azure용 MAT(Microsoft 평가 도구)를 사용하면 이 분석을 신속하게 시작할 수 있습니다. 이 도구는 Windows Azure로 이동하는 데 있어 있을 수 있는 문제 유형을 확인하는 질문을 합니다. 각 질문 옆에는 "전체 고려 사항 참조"라는 링크가 있으며 이 링크는 Windows Azure의 특정 영역에 대한 추가 정보를 제공합니다. 이러한 질문 및 추가 정보는 클라우드에서 기존 응용 프로그램이나 새 응용 프로그램의 디자인에 대한 잠재적 변경 사항을 확인하는 데 도움이 됩니다.
MAT 도구 외에도 Windows Azure 플랫폼의 기본 내용에 대해 확실하게 이해하고 있어야 합니다. 여기에는 플랫폼을 위한 일반적인 디자인 패턴에 대한 이해가 포함됩니다. 먼저 Windows Azure 비디오를 검토하거나 Windows Azure 프로그래밍 모델과 같은 소개 백서를 읽어 보십시오. 그런 다음 Windows Azure에서 사용할 수 있는 다른 서비스를 검토하고 해당 서비스가 솔루션에 어떤 영향을 주는지 고려하십시오. Windows Azure 서비스 개요는 MSDN 설명서를 참조하십시오.
Windows Azure 솔루션의 가능한 모든 고려 사항 및 마이그레이션을 다루는 것은 이 문서의 범위를 벗어납니다. 그러나 다음 표에는 추가 리소스에 대한 링크와 함께 네 가지의 일반적인 디자인 고려 사항이 나와 있습니다.
| 영역 | 설명 |
|---|---|
|
하이브리드 솔루션 |
복잡한 레거시 응용 프로그램을 Windows Azure로 이동하기 어려울 수 있습니다. 특정 유형의 데이터를 클라우드에 저장할 때 규제 문제가 있는 경우가 가끔 있습니다. 그러나 Windows Azure에서 호스팅하는 서비스를 온-프레미스 응용 프로그램 및 데이터와 연결하는 하이브리드 솔루션을 만들 수 있습니다. Service Bus, Access Control Service 및 Windows Azure Connect를 비롯하여 이러한 기능을 지원하는 여러 Windows Azure 기술이 있습니다. 이 주제에 대한 2010년 10월의 좋은 비디오를 보려면 클라우드 및 온-프레미스를 Windows Azure 플랫폼과 연결을 참조하십시오. 실제 고객 구현을 기반으로 한 하이브리드 아키텍처 지침은 BizTalk Server, Windows Azure, Service Bus 및 Windows Azure SQL 데이터베이스를 사용한 하이브리드 참조 구현을 참조하십시오. |
|
상태 관리 |
기존 응용 프로그램을 Windows Azure로 이동하려는 경우 가장 많이 고려해야 할 사항 중 하나는 상태 관리입니다. 대부분의 온-프레미스 응용 프로그램은 상태를 하드 드라이브에 로컬로 저장합니다. 기본 ASP.NET 세션 상태와 같은 다른 기능은 상태 관리를 위해 로컬 컴퓨터의 메모리를 사용합니다. 역할에 가상 컴퓨터의 로컬 드라이브 공간 및 메모리에 대한 액세스 권한이 있는 경우에도 Windows Azure는 모든 요청에 대한 부하를 모든 역할 인스턴스에 분산합니다. 또한 언제든지(예: 역할 인스턴스를 실행하는 컴퓨터를 업데이트해야 하는 경우) 역할 인스턴스를 가져와서 이동할 수 있습니다. 실행 중인 역할 인스턴스의 동적 관리는 Windows Azure의 확장성 및 가용성 기능에 중요합니다. 따라서 클라우드의 응용 프로그램 코드는 Windows Azure 저장소 또는 SQL 데이터베이스와 같은 서비스를 사용하여 데이터 및 상태를 원격으로 저장하도록 디자인되어야 합니다. 저장소 옵션에 대한 자세한 내용은 Windows Azure 웹 사이트의 데이터 저장 및 액세스 섹션에 있는 리소스를 참조하십시오. |
|
저장소 요구 사항 |
SQL 데이터베이스는 Windows Azure의 관계형 데이터베이스 솔루션입니다. 현재 SQL Server를 사용하는 경우 SQL 데이터베이스로 쉽게 전환할 수 있어야 합니다. 다른 유형의 데이터베이스 시스템에서 마이그레이션하려는 경우 이 프로세스에 도움을 줄 수 있는 SQL Server Migration Assistant가 있습니다. 데이터를 SQL 데이터베이스로 마이그레이션하는 방법에 대한 자세한 내용은 Windows Azure SQL 데이터베이스로 데이터 마이그레이션: 도구 및 방법을 참조하십시오. 또한 지속성 있고 가용성이 높으며 확장 가능한 데이터 저장소로 Windows Azure 저장소를 사용하는 것이 좋습니다. 좋은 디자인 패턴 중 하나는 SQL 데이터베이스 및 Windows Azure 저장소 테이블, 큐와 Blob를 효과적으로 조합하여 사용하는 것입니다. 데이터베이스 자체에 큰 이진 개체를 저장하지 않고 SQL 데이터베이스를 사용하여 포인터를 Windows Azure 저장소의 Blob에 저장하는 경우를 일반적인 예로 들 수 있습니다. 이는 효율적이며 비용면에서도 효과적입니다. 저장소 옵션에 대한 설명은 Windows Azure 플랫폼의 데이터 저장소 제공에 있는 문서를 참조하십시오. |
|
상호 운용성 |
Windows Azure를 디자인하거나 이리로 이동하는 가장 쉬운 응용 프로그램은 .NET 응용 프로그램입니다. Windows Azure SDK와 Visual Studio용 도구는 Windows Azure 응용 프로그램을 만드는 프로세스를 아주 많이 간소화해 줍니다. 그러나 오픈 소스 소프트웨어 또는 타사 개발 언어와 도구를 사용하는 경우에는 어떻지 살펴보겠습니다. Windows Azure SDK는 다른 많은 언어와 상호 운용되는 REST API를 사용합니다. 물론 사용하고 있는 기술에 따라 해결해야 할 몇 가지 문제가 있을 수 있습니다. 일부 기술의 경우 Visual Studio의 스텁 .NET 프로젝트를 사용하고 역할에 대한 Run 메서드를 오버로드하도록 선택할 수 있습니다. Microsoft는 응용 프로그램을 개발하고 배포하는 데 사용할 수 있는 Java 및 Node.js용 Windows Azure SDK를 제공합니다. Windows Azure와 상호 작용하는 커뮤니티에서 만든 SDK도 있습니다. 이 영역에서 비중을 많이 차지하는 리소스는 Ineroperability Bridges and Labs Center입니다. 오픈 소스 소프트웨어를 사용하는 프로젝트를 배포하는 것도 문제가 될 수 있습니다. 예를 들어 http://blogs.msdn.com/b/silverlining/archive/2011/08/29/deploying-ruby-java-python-and-node-js-applications-to-windows-azure.aspx 블로그는 Windows Azure에 Ruby 응용 프로그램을 배포하기 위한 옵션에 대한 설명을 게시합니다. 중요한 점은 다양한 언어로 Windows Azure에 액세스할 수 있으므로 응용 프로그램이 Windows Azure에 사용하기에 적합한지 여부를 확인하기 전에 특정 언어를 선택하기 위한 옵션을 살펴보아야 합니다. |
이러한 문제를 넘어 응용 프로그램을 Windows Azure로 마이그레이션하는 데 대한 내용을 검토하여 개발할 때 발생할 수 있는 잠재적인 문제 및 솔루션에 대해 많이 배울 수 있습니다. Microsoft의 Patterns and Practices 그룹은 마이그레이션에 대한 지침인 Microsoft Windows Azure 플랫폼에서 클라우드로 응용 프로그램 이동을 게시해 놓았습니다. Windows Azure 웹 사이트에서 마이그레이션에 대한 추가 리소스인 서비스 및 데이터 마이그레이션을 볼 수 있습니다.
요약
Windows Azure에서는 가용성과 확장성이 높은 서비스를 만들고 관리하기 위한 플랫폼을 제공합니다. 필요한 리소스에 대해서만 비용을 지불하고 언제든지 리소스를 확장하거나 축소할 수 있습니다. 그리고 이를 위해 하드웨어나 지원 인프라를 소유할 필요가 없습니다. 업무에서 플랫폼을 활용하여 민첩성을 높이고 비용과 위험 부담을 낮추면 Windows Azure는 응용 프로그램에 사용하기에 적합합니다. 이러한 결정을 한 후에는 플랫폼을 사용하기 위한 특정 아키텍처 및 개발 옵션을 살펴볼 수 있습니다. 여기에는 새로운 개발, 마이그레이션 또는 하이브리드 시나리오에 대한 결정이 포함됩니다. 이러한 분석의 마지막 단계에서는 Windows Azure를 가장 효과적으로 사용하여 비즈니스 목표에 도달하는 방법에 대한 합리적 결정을 내리는 데 필요한 정보를 가지고 있어야 합니다.
빌드 날짜:
팁
참고