내보내기(0) 인쇄
모두 확장

Azure에 잘 맞는 응용 프로그램입니까?

업데이트 날짜: 2014년 4월

저자: Jason Roth
검토자: Paulette McKay, Ralph Squillace, Sidney Higa, Brian Swan, Larry Franks

를 사용하여 응용 프로그램을 호스팅하려는 경우 사용하는 플랫폼이 자신의 응용 프로그램 또는 비즈니스 요구 사항에 최선인지 궁금할 수 있습니다. 에서 대부분의 응용 프로그램 및 컴퓨터를 호스팅할 수 있습니다. 그러나 클라우드에서 실행할 때의 이점을 활용할 수 있는 시나리오도 있습니다. 다음 섹션에서 이 문서는 로 마이그레이션 시 합리적인 결정을 내릴 수 있는 이점 및 시나리오에 대해 간략하게 설명합니다.

이는 응용 프로그램에 대해 생각하고 응용 프로그램을 의 기능과 관련시키는 데 대해 생각하기 위한 프레임워크를 제공하기 위한 것입니다. 대부분의 경우 추가 리소스에 대한 링크를 제공합니다. 이러한 리소스는 응용 프로그램을 분석하고 클라우드로의 이동 방법에 대한 결정을 내리는 데 도움이 됩니다.

응용 프로그램이 에 적합한지 확인하려면 먼저 플랫폼의 몇 가지 주요 이점을 이해해야 합니다. 이점의 전체 목록은 Azure 설명서 및 에 대한 여러 문서와 비디오에 있습니다. 클라우드의 이점에 대해 참조할 우수한 문서 중 하나는 클라우드 최적화 – 컴퓨팅 요구 및 비즈니스 요구에 맞추는 동시에 기능 확장입니다.

에서 응용 프로그램을 실행할 때 주요한 세 가지 옵션인 웹 사이트, 클라우드 서비스가상 컴퓨터를 이해하는 것도 중요합니다. 웹 사이트 및 클라우드 서비스는 모두 PaaS(Platform-as-a-Service) 제품입니다. 즉, 에서 모든 하드웨어 및 운영 체제 이미지를 제공합니다. 사용자는 플랫폼에서 실행되는 응용 프로그램 코드를 제공합니다. 가상 컴퓨터에서는 IaaS(Infrastructure-as-a-Service) 제품을 제공합니다. 즉, 사용자는 데이터 센터 내부에서 실행되는 컴퓨터 이미지를 관리합니다. 이 세 가지 옵션은 다양한 장점을 제공하며 사용자는 수많은 요인에 따라 원하는 옵션을 선택합니다. 그리고 이러한 다양한 옵션 및 기능으로 대부분의 응용 프로그램이 에 잘 맞습니다.

클라우드에서 응용 프로그램을 실행하는 데 있어 몇 가지 주요 이점이 있습니다. 이러한 기능을 이용하는 시나리오에 대해 설명하기 전에 높은 수준에서 이러한 몇 가지 이점을 살펴보겠습니다.

응용 프로그램과 서비스를 클라우드에 배포하면 에서는 필요한 가상 컴퓨터, 네트워크 대역폭 및 기타 인프라 리소스를 제공합니다. 하드웨어 업데이트 또는 예기치 않은 오류로 인해 컴퓨터의 작동이 중단되는 경우 응용 프로그램을 위해 에서 새 가상 컴퓨터를 자동으로 배치합니다.

사용한 항목에 대해서만 비용을 지불하면 되므로 적은 투자로 시작할 수 있습니다. 이렇게 하면 온-프레미스 배포에 필요한 일반적인 선불 비용이 발생하지 않습니다. 이는 특히 소규모 회사에 유용할 수 있습니다. 온-프레미스 시나리오에서 소규모 조직은 응용 프로그램을 성공적으로 배포하는 데 필요한 데이터 센터 공간, IT 기술 또는 하드웨어 기술이 없을 수 있습니다. 에서 제공하는 자동 인프라 서비스는 응용 프로그램 배포 및 관리를 위한 낮은 진입 장벽을 제공합니다.

동적 크기 조정은 리소스 요구 사항에 따라 응용 프로그램을 확장하거나 다시 확장하는 기능을 말합니다. 이를 탄력적인 확장이라고도 합니다. 해당 작동 방식을 설명하기 전에 클라우드 서비스를 사용하는 응용 프로그램의 일반 아키텍처를 살펴봅시다. 클라우드 서비스로 응용 프로그램 논리를 구현하기 위해 함께 작동하는 역할을 만드십시오. 예를 들어 하나의 웹 역할이 응용 프로그램의 ASP.NET 프런트 엔드를 호스팅할 수 있습니다. 하나 이상의 작업자 역할로 필요한 백그라운드 작업을 수행할 수 있습니다. 하나 이상의 가상 컴퓨터에서 각 역할을 호스팅합니다. 이 역할은 데이터 센터의 역할 인스턴스라고 합니다. 요청은 이 인스턴스 간에 부하가 분산됩니다. 역할에 대한 자세한 내용은 Azure 프로그래밍 모델 문서를 참조하십시오.

이 시나리오에서 리소스 요구량이 증가함에 따라 부하 처리를 위해 새로운 역할 인스턴스를 프로비전할 수 있습니다. 리소스 요구량이 감소하면 불필요한 컴퓨팅 기능에 대한 비용을 지불할 필요가 없도록 이러한 인스턴스를 제거할 수 있습니다. 또한 미리 정의된 규칙 및 정책에 따라 자동으로 확장 및 축소하는 옵션이 있습니다. 이는 최고 요구량을 예상하기 위해 하드웨어를 초과 프로비전해야 하는 온-프레미스 배포와 많이 다릅니다. 플랫폼에서 제공하는 것보다 자동 크기 조정을 더 자유롭게 제어하고 싶은 경우 Microsoft Patterns and Practices 팀에서 작성한 응용 프로그램 블록 자동 크기 조정을 사용할 수 있습니다.

이전 시나리오에서는 클라우드 서비스의 맥락에서 동적 크기 조정을 설명하지만 웹 사이트 및 가상 컴퓨터의 크기 조정도 가능합니다. 응용 프로그램에 컴퓨팅 리소스에 대한 변동이 심하거나 예측할 수 없는 요구가 필요한 경우 를 사용하여 부하에 맞게 리소스 사용률을 쉽게 조정할 수 있습니다.

에서는 저장소 서비스 또는 Microsoft Azure SQL 데이터베이스를 통해 안정적으로 서버 데이터를 저장하고 액세스할 수 있는 가용성이 높은 응용 프로그램을 위한 플랫폼을 제공합니다.

첫 번째로, 에서는 컴퓨팅 리소스의 고가용성을 보장합니다. 웹 사이트의 경우 SLA(서비스 수준 계약)의 요구 사항을 단일 인스턴스로만 충족시킬 수 있습니다. 클라우드 서비스 및 가상 컴퓨터의 경우 역할 또는 컴퓨터 유형당 두 개 이상의 인스턴스를 두어 SLA 요구 사항을 충족시킬 수 있습니다. 가상 컴퓨터의 경우 인스턴스는 교환이 가능하고 부하가 분산되었으며 동일한 가용성 그룹의 일부여야 합니다. 각각의 경우 에서는 이러한 가상 컴퓨터 및 인스턴스를 호스팅하는 실제 하드웨어를 모니터링합니다. 에서는 새 인스턴스를 배포하거나 응용 프로그램 코드를 이동시키고 다른 작업 하드웨어로 처리하여 하드웨어 다시 시작 또는 오류에 신속하게 대처할 수 있습니다.

두 번째로, 에서는 저장소 서비스 중 하나를 통해 저장된 데이터에 대한 고가용성과 지속성을 보장합니다. 저장소 서비스는 모든 데이터를 세 대 이상의 다른 서버에 복제합니다. 또한 기본적으로 이 저장소는 보조 지역에 복제합니다. 마찬가지로 Azure SQL 데이터베이스는 모든 데이터를 복제하여 가용성 및 지속성을 보장합니다.

기타 서비스에서도 비슷한 고가용성을 보장합니다. 자세한 내용은 Azure 비즈니스 연속성 기술 지침을 참조하십시오.

플랫폼의 장점을 알고 있는 상태에서 클라우드에 가장 적합한 시나리오를 살펴보기 시작할 수 있습니다. 다음 섹션에서는 를 특정 작업과 목표에 적합하게 하는 방법과 이러한 몇 가지 상황에 대해 설명합니다. Azure 디자인 패턴 비디오에서는 아래의 여러 시나리오에 대해 설명하고 플랫폼에 대해 간략하게 설명합니다.

Tip
여기에서는 응용 프로그램 시나리오에 중점을 두고 있지만 의 개별 서비스를 사용하도록 선택할 수 있습니다. 예를 들어 Blob 저장소를 사용하여 응용 프로그램 문제를 해결하면 응용 프로그램의 나머지 부분은 클라우드 외부에 남아 있을 수 있습니다. 이를 하이브리드 응용 프로그램이라고 하고 이 항목의 뒷부분에서 설명합니다.

는 가용성이 높은 서비스를 호스팅하는 데 적합합니다. 에 배포되는 온라인 상점을 가정해 보겠습니다. 온라인 상점에서는 수익이 창출되므로 계속 실행되도록 유지하는 것이 중요합니다. 이를 위해 데이터센터에서 서비스 모니터링 및 자동 인스턴스 관리를 수행합니다. 온라인 상점은 고객 수요에도 대응해야 합니다. 이는 의 탄력적인 크기 조정 기능을 통해 가능합니다. 피크 쇼핑 시간에는 새 인스턴스를 온라인 상태로 만들어 증가한 사용량을 처리할 수 있습니다. 또한 온라인 상점은 주문을 잃어버리거나 주문을 완전히 처리하지 못하는 일이 없어야 합니다. 저장소 및 Azure SQL 데이터베이스에서는 주문 수명 주기 전체적으로 주문 정보 및 상태를 보관하도록 가용성이 높고 지속적인 저장소 옵션을 제공합니다. 최고 수준의 가용성을 위해 동일한 응용 프로그램을 여러 지역에 배포할 수 있습니다. 전체 지역에서 임시 오류가 발생하더라도 사용할 수 있는 상태로 유지되는 서비스를 디자인할 수 있습니다. 이렇게 하는 데는 사용자 라우팅에 대한 적절한 동기화 아키텍처 및 절차가 필요합니다.

에 맞는 또 다른 좋은 작업 형태는 "설정 및 해제" 작업입니다. 일부 응용 프로그램은 계속 실행할 필요가 없습니다. 이러한 작업의 간단한 한 가지 예로는 며칠이나 몇 주 동안만 사용할 수 있게 하려는 데모 또는 유틸리티 응용 프로그램이 있습니다. 를 사용하면 해당 응용 프로그램을 쉽게 만들고 배포하고 공유할 수 있습니다. 그러나 목적을 달성하고 나면 응용 프로그램을 제거하여 응용 프로그램이 배포되었던 시간 동안만 요금이 청구되도록 할 수 있습니다.

note참고
참고: 계산 시간에 대한 요금이 청구되지 않도록 하기 위해서는 응용 프로그램을 일시 중단하는 것으로 그치면 안 되고 배포를 제거해야 합니다.

또한 매월 월말에 판매량에 대한 복잡한 데이터 분석을 실행하는 큰 회사가 있다고 가정해 보겠습니다. 분석이 처리 집중형이지만 분석을 완료하는 데 필요한 총 시간은 2일이면 충분합니다. 온-프레미스 시나리오에서는 이 작업에 필요한 서버가 한 달의 대부분 충분히 활용되지 못할 것입니다. 에서는 분석 응용 프로그램이 클라우드에서 실행되는 시간에 대해서만 요금이 청구됩니다. 응용 프로그램의 아키텍처가 병렬 처리를 위해 디자인되어 있다고 가정해봅시다. 의 확장 기능으로 회사는 많은 수의 작업자 역할 인스턴스 또는 가상 컴퓨터를 만들 수 있습니다. 함께 작업하여 짧은 시간 안에 더 복잡한 작업을 완료할 수 있습니다. 이 예에서는 코드 또는 스크립팅을 사용하여 매월 적절한 시간에 응용 프로그램을 자동으로 배포해야 합니다.

기업은 모두 빠르고 지속적인 성장 목표를 가집니다. 그러나 기존의 온-프레미스 모델에서는 성장을 처리하기 매우 어렵습니다. 예상 성장이 실현되지 않을 경우 충분히 활용되지 않는 하드웨어 및 인프라를 유지 관리하는 데 비용을 사용하는 결과를 얻습니다. 그러나 예상보다 더 빨리 성장이 이루어질 경우 부하를 처리할 수 없어 거래를 놓치고 열악한 고객 환경을 만들 수 있습니다. 작은 회사의 경우 빠른 성장에 대비하거나 따라가기 위한 초기 자본조차 충분하지 않을 수 있습니다.

는 이러한 상황을 처리하기에 적합합니다. 광고로 수익을 얻는 작은 스포츠 뉴스 웹 사이트가 있다고 가정해 보겠습니다. 수익 금액은 사이트에서 생성되는 트래픽의 양과 직접적으로 비례합니다. 이 예에서는 벤처 초기 자본이 제한되어 있습니다. 또한 회사에는 자체 데이터 센터를 설치하여 실행하는 데 필요한 자금이 없습니다. 에서 실행할 웹 사이트를 디자인하여 회사는 ASP.NET 응용 프로그램으로 자체 솔루션을 쉽게 배포할 수 있습니다. 응용 프로그램은 사진 및 비디오를 위한 Blob 저장소 및 관계형 데이터에 Azure SQL 데이터베이스를 사용합니다. 웹 사이트 인기가 크게 올라갈 경우 프런트 엔드를 위한 웹 역할 인스턴스 수를 늘릴 수 있습니다. 또한 회사는 Azure SQL 데이터베이스의 크기를 늘릴 수 있습니다. Blob 저장소에는 내에서 기본 제공되는 확장성 기능이 있습니다. 거래가 줄어들 경우 불필요한 인스턴스를 제거할 수 있습니다. 회사 수익은 사이트에서의 트래픽에 비례하므로 를 사용하면 작은 규모로 시작하고 빠르게 성장하고 위험 부담을 줄일 수 있습니다.

를 사용하면 컴퓨팅 비용을 적극적으로 관리하는 방법을 결정하는 완전한 제어권을 가질 수 있습니다. 자동 크기 조정 또는 자동 크기 조정 응용 프로그램 블록을 통해 자동 크기 조정을 구현하도록 결정할 수 있습니다. 이를 통해 사용자 지정 규칙을 기반으로 인스턴스를 추가하고 제거할 수 있습니다. 미리 결정된 금액에 따라 인스턴스 수가 달라지도록 선택할 수 있습니다. 예를 들어 업무 시간 동안에는 4개의 인스턴스, 업무 시간 이외에는 2개의 인스턴스를 둘 수 있습니다. 인스턴스 수를 일정하게 유지하다가 시간이 지남에 따라 요구량이 증가할 경우에만 웹 포털을 통해 수동으로 인스턴스 수를 늘릴 수도 있습니다. 에서는 비즈니스에 적합한 결정을 할 수 있는 유연성을 제공합니다.

작업 스파이크는 탄력적인 확장이 필요한 작업 패턴입니다. 이전의 스포츠 뉴스 웹 사이트 예제를 살펴보겠습니다. 사업이 꾸준히 성장하고 있으므로 여전히 작업의 일시적인 스파이크 또는 버스트 가능성이 있습니다. 예를 들어 다른 인기 있는 뉴스 보도에 인용되는 경우 사이트 방문자 수가 하루 만에 크게 증가할 수 있습니다. 더 예측 가능한 시나리오에서는 주요 스포츠 경기 및 스포츠 선수권 대회로 인해 해당 사이트에 대한 작업이 더 활발해질 것입니다.

다른 예로는 하루를 마감할 때 일일 보고서를 처리하는 서비스가 있습니다. 영업일이 끝날 때 각 사무실은 본사에서 처리된 보고서를 보냅니다. 이 프로세스는 매일 몇 시간 동안만 활성화 상태여야 하므로 탄력적인 크기 조정 및 배포에 적합합니다.

는 일시적으로 응용 프로그램 크기를 확장하여 부하 스파이크를 처리한 다음 이벤트가 지난 후 다시 축소하는 데 적합합니다.

앞의 예에서 설명한 대로 대부분의 일반적인 클라우드 시나리오에서는 의 탄력적인 확장을 사용합니다. 그러나 꾸준한 작업 패턴이 있는 응용 프로그램도 에서 비용 절감을 실현할 수 있습니다. 특히 에너지, 기술력, 하드웨어, 소프트웨어 라이선스 및 설비 비용을 고려할 때 자체 데이터 센터를 관리하는 것은 비용이 많이 듭니다. 또한 비용이 개별 응용 프로그램에 어떤 식으로 연결되는지 이해하기도 어렵습니다. 에서 총 비용을 줄일 뿐 아니라 해당 비용을 더 투명하게 만드는 것이 목표입니다. 클라우드 최적화 – 컴퓨팅 요구 및 비즈니스 요구에 맞추는 동시에 기능 확장 문서를 읽어보시기 바랍니다. 이 문서는 일반적인 온-프레미스 호스팅 비용 및 에서 이 비용을 줄일 수 있는 방법에 대해 잘 설명하고 있습니다.

가상 컴퓨터 및 가상 네트워크는 온-프레미스 서버 및 네트워크를 클라우드에 마이그레이션하는 가장 쉬운 방법을 제공합니다. 온-프레미스 응용 프로그램을 클라우드 서비스 또는 웹 사이트로 전환하면 온-프레미스 데이터 센터에서의 작업 부하가 완화됩니다. 온-프레미스 데이터 센터 대신 에서 이제 이러한 응용 프로그램에 필요한 컴퓨팅 및 저장소 리소스를 제공합니다.

에서는 특정 비용을 이해하기 위한 가격 책정 계산기를 제공합니다. 또한 를 사용하여 발생할 수 있는 전체 비용 절감을 예측하기 위한 TCO(총 소유 비용) 계산기도 제공합니다. 이러한 계산기 도구와 기타 가격 정보에 대한 링크는 Azure 웹 사이트를 참조하십시오.

에는 대부분의 응용 프로그램에 잘 맞는 서비스 및 옵션이 있습니다. 클라우드 서비스 및 웹 사이트와 같은 PaaS 옵션 및 가상 컴퓨터와 가상 네트워크의 IaaS 옵션이 있습니다. 그러나 느리게 보장하거나 클라우드에 마이그레이션하지 않는 시나리오가 있습니다.

한 시나리오는 저용량 응용 프로그램 또는 증가 프로젝션이 없는 서비스입니다. 클라우드에서보다 더 저렴한 상용 하드웨어 온-프레미스에서 해당 응용 프로그램을 실행할 수도 있습니다. 여기에는 두 가지 예외가 있습니다. 저렴한 호스팅 비용보다 를 사용하는 것을 더 원할 수 있습니다. 예를 들어 서버, 가용성 및 데이터 지속성 관리에서 벗어나고 싶을 수 있습니다. 두 번째로 웹 사이트에는 저용량 웹 사이트에 대한 무료 호스팅 옵션이 있습니다. 예를 들어 이 옵션을 사용하여 개인 WordPress 블로그를 호스팅할 수 있습니다.

또 다른 시나리오는 로 이동할 수 없는 데이터와 관련이 있습니다. 기업 및 정부에서는 경우에 따라 클라우드에 저장할 수 있는 데이터 유형을 규제합니다. 이러한 경우 하이브리드 솔루션을 고려할 수 있습니다. 이 인스턴스에서 에는 중요하지 않으면서 가용성이 높아야 하는 응용 프로그램의 특정 부분이나 특정 데이터만 호스팅합니다.

의 장점을 이해하면 이러한 장점을 활용하지 않는 응용 프로그램이나 응용 프로그램의 일부분을 인식할 수 있습니다. 그러면 기능을 가장 효과적으로 활용하는 전체 솔루션을 더욱 성공적으로 개발할 수 있습니다.

물론 로의 이동에 대한 평가에는 단지 응용 프로그램이나 비즈니스 목표가 클라우드에 적합한지 아는 것 이상의 요소가 포함됩니다. 기존 응용 프로그램이나 새 응용 프로그램의 아키텍처 및 개발 특성을 평가하는 것도 중요합니다. 용 MAP(Microsoft 평가 도구)를 사용하면 이 분석을 신속하게 시작할 수 있습니다. 이 도구는 로 이동하는 데 있어 있을 수 있는 문제 유형을 확인하는 질문을 합니다. 각 질문 옆에는 "전체 고려 사항 참조"라는 링크가 있으며 이 링크는 의 특정 영역에 대한 추가 정보를 제공합니다. 이러한 질문 및 추가 정보는 클라우드에서 기존 응용 프로그램이나 새 응용 프로그램의 디자인에 대한 잠재적 변경 사항을 확인하는 데 도움이 됩니다.

MAP 도구 외에도 플랫폼의 기본 내용에 대해 확실하게 이해하고 있어야 합니다. 여기에는 플랫폼을 위한 일반적인 디자인 패턴에 대한 이해가 포함됩니다. 용 기술 포스터 검토도 고려해야 합니다. 추가 정보에 대한 링크는 물론 플랫폼의 기능에 관한 풍부한 정보가 있습니다. 에서 사용할 수 있는 다른 서비스를 검토하고 해당 서비스가 솔루션에 어떤 영향을 주는지 고려하십시오. 서비스 개요는 Azure란?을 참조하십시오. 아키텍처를 계획할 때는 Azure 구독 및 서비스 제한, 할당량 및 제약 조건을 검토하십시오.

솔루션의 가능한 모든 고려 사항 및 마이그레이션을 다루는 것은 이 문서의 범위를 벗어납니다. 그러나 다음 표에는 추가 리소스에 대한 링크와 함께 네 가지의 일반적인 디자인 고려 사항이 나와 있습니다.

 

영역 설명

IaaS 또는 PaaS?

IaaS(Infrastructure as a Service)는 자체 이미지를 에 있는 가상 컴퓨터에 넣을 수 있도록 해줍니다. 응용 프로그램 아키텍처에 변경 사항이 적으므로 흔히 클라우드로 마이그레이션하는 훨씬 간편한 방법입니다.

웹 사이트 및 클라우드 서비스에서는 PaaS(Platform as a Service)를 제공합니다. PaaS 환경을 위해 디자인한 응용 프로그램은 IaaS의 유사한 솔루션보다 더 유연하고 확장 가능하며 관리하기가 쉽습니다. 그러나 클라우드 서비스로의 마이그레이션을 완료하는 데 일반적으로 시간이 더 걸립니다. 웹 사이트는 PaaS의 장점과 IaaS의 쉬운 마이그레이션 간에 적절한 균형을 제공합니다.

웹 관점에서 이러한 옵션을 더 잘 이해하려면 Azure 웹 사이트, 클라우드 서비스 및 가상 컴퓨터 비교를 참조하십시오.

하이브리드 솔루션

복잡한 레거시 응용 프로그램을 로 이동하기 어려울 수 있습니다. 특정 유형의 데이터를 클라우드에 저장할 때 규제 문제가 있는 경우가 가끔 있습니다. 보안 및 규정 준수에 대한 일부 답변은 Azure 보안 센터를 참조하십시오.

이러한 과제를 충족하기 위해 하나의 솔루션으로 에서 온-프레미스 응용 프로그램 및 데이터로 호스팅하는 서비스를 연결하는 하이브리드 응용 프로그램을 생성합니다. 서비스 버스가상 네트워크를 비롯하여 이러한 기능을 지원하는 여러 기술이 있습니다. 자세한 사항은 Azure 클라우드에서 하이브리드 응용 프로그램 구축을 참조하십시오.

상태 관리

기존의 응용 프로그램을 가상 컴퓨터로 이동하는 경우 일반적으로 온-프레미스에서 수행한 동일한 방식으로 상태 데이터를 처리할 수 있습니다. 그러나 클라우드 서비스 PaaS 아키텍처의 장점을 활용하고 싶으면 상태 처리 방법을 평가해야만 합니다. 대부분의 온-프레미스 응용 프로그램은 상태를 하드 드라이브에 로컬로 저장합니다. 기본 ASP.NET 세션 상태와 같은 다른 기능은 상태 관리를 위해 로컬 컴퓨터의 메모리를 사용합니다. 클라우드 서비스 역할에 가상 컴퓨터의 로컬 드라이브 공간 및 메모리에 대한 액세스 권한이 있는 경우에도 는 모든 요청에 대한 부하를 모든 역할 인스턴스에 분산합니다. 또한 언제든지(예: 역할 인스턴스를 실행하는 컴퓨터를 업데이트해야 하는 경우) 역할 인스턴스를 가져와서 이동할 수 있습니다.

작업 중인 역할 인스턴스의 동적 관리는 클라우드 서비스의 확장성 및 가용성 기능에 중요합니다. 따라서 저장소 또는 Azure SQL 데이터베이스와 같은 서비스를 사용하여 데이터 및 상태를 원격으로 저장하도록 클라우드의 응용 프로그램 코드를 디자인해야 합니다. 저장소 옵션에 대한 자세한 내용은 웹 사이트의 데이터 저장 및 액세스 섹션에 있는 리소스를 참조하십시오.

저장소 요구 사항

Azure SQL 데이터베이스는 의 관계형 데이터베이스 솔루션입니다. 현재 SQL Server를 사용하는 경우 Azure SQL 데이터베이스로 쉽게 전환할 수 있어야 합니다. 가상 컴퓨터에서 SQL Server를 실행하도록 선택할 수도 있습니다. 다른 데이터베이스 시스템을 사용 중인 경우 Azure SQL 데이터베이스로 또는 가상 컴퓨터의 SQL Server로 마이그레이션하는 옵션이 있습니다. 이 프로세스를 도울 수 있는 SQL Server Migration Assistant가 있습니다. 데이터를 Azure SQL 데이터베이스로 마이그레이션하는 방법에 대한 자세한 내용은 Azure SQL 데이터베이스로 데이터 마이그레이션: 도구 및 기법을 참조하십시오. 또 다른 옵션은 타사 데이터베이스를 직접 로 마이그레이션하는 것입니다. 가상 컴퓨터에 데이터베이스 시스템을 설치하는 기술이 있습니다. 그러나 MySQL 및 MongoDB와 같은 시스템용 Azure Store에도 타사 제품이 있습니다.

또한 지속성 있고 가용성이 높으며 확장 가능한 데이터 저장소로 저장소를 사용하는 것이 좋습니다. 좋은 디자인 패턴 중 하나는 Azure SQL 데이터베이스 및 저장소 테이블, 큐와 Blob를 효과적으로 조합하여 사용하는 것입니다. Azure SQL 데이터베이스를 사용하여 포인터를 저장소의 Blob에 저장하는 경우를 일반적인 예로 들 수 있습니다. 사용자는 데이터베이스 자체에 큰 이진 개체를 저장하는 대신 이를 수행합니다. 이는 효율적이며 비용면에서도 효과적입니다.

상호 운용성

SDK와 Visual Studio용 도구로 에 .NET 응용 프로그램을 만들거나 마이그레이션하는 프로세스를 아주 많이 간소화할 수 있습니다.

그러나 오픈 소스 소프트웨어 또는 타사 개발 언어와 도구를 사용하는 경우에는 어떻지 살펴보겠습니다. 웹 사이트 및 클라우드 서비스는 Node.js, PHP, Python 및 Java(클라우드 서비스 전용)에서 작성된 응용 프로그램을 지원합니다. 응용 프로그램에서 다른 언어를 사용하는 경우 가상 컴퓨터를 고려하십시오. 서비스로 작업 시 모든 작업은 REST API를 기반으로 합니다. 이에 대한 코드를 직접 작성할 수 있습니다. 그러나 에서는 REST API에 대한 친숙한 래퍼를 제공하는 Java, Node.js, PHP, Python 및 Ruby용 공식 SDK를 제공합니다. 와 상호 작용하는 커뮤니티에서 만든 SDK도 있습니다.

물론 사용하고 있는 기술에 따라 해결해야 할 몇 가지 문제가 있을 수 있습니다. 가상 컴퓨터의 경우 컴퓨터 이미지에 필요한 런타임 및 종속성을 설치해야 합니다. 클라우드 서비스의 경우 사용자 지정 시작 작업을 추가하여 역할에 대한 타사 종속성을 설치해야 할 수 있습니다. 웹 사이트의 경우 약간 수정하여 응용 프로그램이 PaaS 호스팅 환경에서 작동할 수 있도록 해야 할 수도 있습니다. 이 영역에서 비중을 많이 차지하는 리소스는 Ineroperability Bridges and Labs Center입니다.

중요한 점은 다양한 언어로 에 액세스할 수 있다는 것입니다. 그러므로 응용 프로그램이 에 사용하기에 적합한지 여부를 확인하기 전에 특정 언어를 선택하기 위한 옵션을 살펴보아야 합니다.

이러한 문제를 넘어 응용 프로그램을 로 마이그레이션하는 데 대한 내용을 검토하여 개발할 때 발생할 수 있는 잠재적인 문제 및 솔루션에 대해 많이 배울 수 있습니다. Microsoft의 Patterns and Practices 그룹은 마이그레이션에 대한 지침인 Microsoft Azure 플랫폼의 클라우드로 응용 프로그램 이동을 게시해 놓았습니다.

에서는 가용성과 확장성이 높은 서비스를 만들고 관리하기 위한 플랫폼을 제공합니다. 두 가지 PaaS 제품, 웹 사이트 및 클라우드 서비스, 가상 컴퓨터와 IaaS 제품이 있습니다. 이러한 제품 외에도 다양한 응용 프로그램 시나리오를 지원하는 많은 지원 서비스 및 기능이 있습니다. 필요한 리소스에 대해서만 비용을 지불하고 언제든지 리소스를 확장하거나 축소할 수 있습니다. 그리고 이를 위해 하드웨어나 지원 인프라를 소유할 필요가 없습니다. 업무에서 플랫폼을 활용하여 민첩성을 높이고 비용과 위험 부담을 낮추면 는 응용 프로그램에 사용하기에 적합합니다. 이러한 결정을 한 후에는 플랫폼을 사용하기 위한 특정 아키텍처 및 개발 옵션을 살펴볼 수 있습니다. 여기에는 새로운 개발, 마이그레이션 또는 하이브리드 시나리오에 대한 결정이 포함됩니다. 이러한 분석 후에 를 가장 효과적으로 사용하여 비즈니스 목표에 도달하는 방법에 대한 합리적 결정을 내리는 데 필요한 정보를 가지게 됩니다.

표시:
© 2014 Microsoft