전자 상거래 프런트 엔드

Microsoft Entra 외부 ID
Azure Content Delivery Network
Azure AI 서비스
Azure Traffic Manager
Azure App Service

이 예제 시나리오에서는 Azure PaaS(Platform-as-a-Service) 도구를 사용하여 전자상거래 프런트 엔드를 구현하는 과정을 안내합니다.

아키텍처

전자 상거래 애플리케이션에 대한 샘플 시나리오 아키텍처를 보여 주는 다이어그램.

이 아키텍처의 Visio 파일을 다운로드합니다.

데이터 흐름

이 시나리오에서는 전자 상거래 사이트에서 티켓을 구매하는 방법에 대해 설명하며, 시나리오를 통한 데이터 흐름은 다음과 같습니다.

  1. Azure Traffic Manager에서 사용자의 요청을 Azure App Service에서 호스팅되는 전자 상거래 사이트로 라우팅합니다.
  2. Azure CDN에서 사용자에게 정적 이미지와 콘텐츠를 제공합니다.
  3. 사용자가 Azure Active Directory B2C 테넌트를 통해 애플리케이션에 로그인합니다.
  4. 사용자가 Azure Search를 사용하여 콘서트를 검색합니다.
  5. 웹 사이트에서 Azure SQL Database로부터 콘서트 세부 정보를 가져옵니다.
  6. 웹 사이트에서 Blob Storage에 있는 구매한 티켓 이미지를 참조합니다.
  7. 데이터베이스 쿼리 결과는 더 나은 성능을 위해 Azure Cache for Redis에 캐시됩니다.
  8. 사용자가 큐에 있는 티켓 주문 및 콘서트 리뷰를 제출합니다.
  9. Azure Functions에서 주문 결제 및 콘서트 리뷰를 처리합니다.
  10. Cognitive Services에서 콘서트 리뷰에 대한 분석을 제공하여 감정(긍정 또는 부정)을 결정합니다.
  11. Application Insights에서 웹 애플리케이션의 상태를 모니터링하기 위한 성능 메트릭을 제공합니다.

구성 요소

  • Azure CDN은 사용자와 가까운 위치에서 캐시된 정적 콘텐츠를 제공하여 대기 시간을 줄입니다.
  • Azure Traffic Manager는 다른 Azure 지역의 서비스 엔드포인트에 대한 사용자 트래픽 분산을 제어합니다.
  • App Services - Web Apps는 인프라를 관리할 필요 없이 자동 크기 조정 및 고가용성을 허용하는 웹 애플리케이션을 호스팅합니다.
  • Azure Active Directory B2C 는 고객이 애플리케이션에서 자신의 프로필을 등록, 로그인 및 관리하는 방법을 사용자 지정하고 제어할 수 있는 ID 관리 서비스입니다.
  • Storage Queues는 애플리케이션에서 액세스할 수 있는 많은 수의 큐 메시지를 저장합니다.
  • Functions는 애플리케이션에서 인프라를 관리할 필요 없이 주문형으로 실행할 수 있도록 하는 서버리스 컴퓨팅 옵션입니다.
  • Cognitive Services - 감정 분석은 Machine Learning API를 사용하고, 개발자가 애플리케이션에 지능형 기능(예: 감정/비디오 감지, 얼굴/음성/시각 인식, 음성/언어 이해)을 쉽게 추가할 수 있게 합니다.
  • Azure Search는 웹, 모바일 및 엔터프라이즈 애플리케이션에서 이질적인 프라이빗 콘텐츠에 대한 풍부한 검색 환경을 제공하는 Search-as-a-Service 클라우드 솔루션입니다.
  • 스토리지 Blob은 텍스트 또는 이진 데이터와 같은 많은 양의 구조화되지 않은 데이터를 저장하도록 최적화됩니다.
  • Azure Cache for Redis는 애플리케이션 가까이에 있는 고속 스토리지에 자주 액세스하는 데이터를 일시적으로 복사하여 백 엔드 데이터 스토리지를 많이 사용하는 시스템의 성능과 확장성을 향상합니다.
  • Azure SQL Database는 관계형 데이터, JSON, 공간, XML과 같은 구조를 지원하는 범용 관계형 데이터베이스 관리 서비스입니다.
  • Application Insights는 사용자가 앱에서 수행하는 작업을 파악하는 데 도움이 되는 기본 제공 분석 도구를 통해 성능 이상을 자동으로 감지하여 성능 및 유용성을 지속적으로 향상시킬 수 있도록 설계되었습니다.

대안

대규모 전자 상거래에 집중하는 고객 지향 애플리케이션을 구축하기 위해 많은 다른 기술을 사용할 수 있습니다. 이러한 기술에는 애플리케이션의 프론트 엔드와 데이터 계층이 모두 포함됩니다.

웹 계층 및 기능에 대한 다른 옵션은 다음과 같습니다.

  • Azure Kubernetes Service - 마이크로 서비스 아키텍처의 한 구현으로 사용할 수 있는 컨테이너 기반 솔루션을 구축하고 배포하는 플랫폼입니다. 이 플랫폼은 필요에 따라 독립적으로 크기 조정할 수 있도록 애플리케이션의 다양한 구성 요소에 민첩성을 제공합니다.
  • Azure Container Instances - 짧은 수명 주기의 컨테이너를 빠르게 배포하고 실행할 수 있습니다. 여기에 있는 컨테이너는 메시지 처리 또는 계산 수행과 같은 빠른 처리 작업을 실행하기 위해 배포된 다음, 완료되는 즉시 프로비전 해제됩니다.
  • Service Bus는 스토리지 큐를 대신하여 사용할 수 있습니다.

데이터 계층에 대한 다른 옵션은 다음과 같습니다.

  • Azure Cosmos DB: 글로벌하게 분산된 Microsoft의 다중 모델 데이터베이스입니다. 이 서비스는 MongoDB, Cassandra, Graph 데이터 또는 간단한 Table Storage와 같은 다른 데이터 모델을 실행하는 플랫폼을 제공합니다.

시나리오 정보

대부분의 전자 상거래 웹 사이트는 시간 경과에 따른 계절성 및 트래픽 가변성에 직면하고 있습니다. 제품이나 서비스에 대한 수요가 예측 가능 여부에 관계없이 급격히 증가하는 경우 PaaS 도구를 사용하면 더 많은 고객과 더 많은 거래를 자동으로 처리할 수 있습니다. 또한 이 시나리오에서는 사용하는 용량에 대해서만 지불함으로써 경제성을 활용합니다.

이 문서에서는 온라인 콘서트 발권 플랫폼인 Relecloud Concerts의 전자 상거래 애플리케이션 샘플을 배포하는 데 함께 사용되는 다양한 Azure PaaS 구성 요소 및 고려 사항에 대해 알아볼 수 있습니다.

잠재적인 사용 사례

이 솔루션은 소매 업계에 최적화되어 있습니다. 관련된 다른 사용 사례는 다음과 같습니다.

  • 서로 다른 시간에 갑자기 집중되는 사용자를 처리할 수 있는 탄력적인 크기 조정이 필요한 애플리케이션 구축.
  • 전 세계의 여러 Azure 지역에서 고가용성으로 작동하도록 설계된 프로그램 구축.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

가용성

확장성

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.

복원력

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

이 시나리오를 실행하는 데 드는 비용을 알아보려면 비용 계산기에서 모든 서비스를 미리 구성합니다. 특정 사용 사례에 대한 가격 변동을 확인하려면 필요한 트래픽에 맞게 변수를 적절하게 변경합니다.

가져오는 데 필요한 트래픽 양을 기준으로 다음 세 가지 샘플 비용 프로필을 제공했습니다.

  • 소형: 이 가격 책정 예제는 최소 프로덕션 수준 인스턴스를 구축하는 데 필요한 구성 요소를 나타냅니다. 여기서는 매월 수천 명에 불과한 적은 수의 사용자를 가정합니다. 앱에서 자동 크기 조정을 사용하는 데 충분한 표준 웹앱의 단일 인스턴스를 사용합니다. 다른 구성 요소는 각각 최소 비용을 허용하지만 SLA를 지원하고 프로덕션 수준 워크로드를 처리할 수 있을 만큼 충분한 용량을 보장하는 기본 계층으로 조정됩니다.
  • 중형: 이 가격 책정 예제는 보통 크기의 배포를 암시하는 구성 요소를 나타냅니다. 여기서는 한 달 동안 시스템을 사용하는 시용자가 약 10만 명이라고 예상합니다. 보통의 표준 계층이 있는 단일 앱 서비스 인스턴스에서 필요한 트래픽이 처리됩니다. 또한 인지 및 검색 서비스의 중간 계층이 계산기에 추가됩니다.
  • 대형: 이 가격 책정 예제는 매월 테라바이트 단위의 데이터를 이동하는 수백만 명의 사용자가 주문하는 수준의 대규모 애플리케이션을 나타냅니다. 이 고성능 사용 수준에서는 여러 지역에 배포되어 트래픽 관리자에서 제어되는 프리미엄 계층 웹앱이 필요합니다. 데이터는 스토리지, 데이터베이스 및 CDN으로 구성되며, 이러한 구성 요소는 테라바이트 단위의 데이터로 구성됩니다.

시나리오 배포

이 시나리오를 배포하려면 이 단계별 자습서에 따라 각 구성 요소를 수동으로 배포하는 방법을 시연할 수 있습니다. 이 자습서에서는 간단한 티켓 구매 애플리케이션을 실행하는 .NET 샘플 애플리케이션도 제공합니다. 또한 Azure 리소스 대부분의 배포를 자동화하는 Resource Manager 템플릿도 있습니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

  • Chris Mason | 선임 관리자, 소프트웨어 엔지니어링

다음 단계