소개

완료됨

클라우드 네이티브 애플리케이션은 기본적으로 모듈식이며 느슨하게 결합된 자체 포함 구성 요소입니다. 이러한 각각의 구성 요소는 적절한 기술 스택 조합을 사용하여 독립적으로 개발할 수 있으며 잘 정의된 프로그래밍 인터페이스를 통해 상호 작용도 가능합니다. 이러한 구성 요소에는 IoT 디바이스에서 실행되는 소프트웨어와 Azure IoT Central, Azure Functions 및 Azure Cosmos DB와 같은 다양한 Azure 서비스가 포함될 수 있습니다. 이러한 서비스는 디바이스 원격 분석의 컬렉션, 처리 및 스토리지에 사용될 수 있습니다.

이 모듈에서는 구성 요소를 Azure IoT 서비스와 통합하고 Cosmos DB를 사용하여 영구 데이터 저장소를 제공하여 IoT 기능을 제공하도록 클라우드 네이티브 애플리케이션을 확장합니다.

시나리오: IoT 원격 분석 데이터 생성, 수집 및 처리

가전 제품 제조업체인 Adatum Corporation에서 근무한다고 가정하겠습니다. 스마트 냉장고를 위한 다중 기능 앱을 구축하는 임무를 수행하는 소규모 개발 팀을 이끌고 있습니다.

이 팀은 기업이 재입고해야 하는 항목을 쉽게 파악하는 데 사용할 수 있는 냉장고 인벤토리 앱을 개발했습니다. 필요한 항목을 자동으로 재주문하도록 이 앱을 설정할 수도 있습니다. 이를 위해 냉장고의 메시지를 처리하여 관리 웹앱으로 보내는 AKS(Azure Kubernetes Service) 클러스터 호스트 Node.js 앱을 사용했습니다. Azure Database for PostgreSQL 데이터 저장소 역할을 합니다.

또한 이 팀은 IoT 원격 분석 데이터 수집 및 처리를 위해 Azure IoT Central을 사용하는 솔루션의 프로토타입을 설계하고 구현했습니다. 이 프로토타입은 IoT 데이터 파이프라인을 확장하기 위한 기반이 되며 이 모듈에서 중점을 두고 있는 부분입니다.

클라우드 네이티브 애플리케이션의 느슨하게 결합된 특성 덕분에 관리되는 데이터 저장소가 컨테이너에서 직접 실행하는 것보다 더 합리적일 때는 관리되는 데이터 저장소를 선택할 수 있습니다. 이 시나리오에서는 선택적으로 집계된 콘텐츠에는 관리되는 데이터 저장소(예: Cosmos DB)를 사용하고 원시 메트릭에는 Azure Blob Storage를 사용하는 것을 고려하고 있습니다. 스트리밍 시나리오에 대한 적합성을 평가하려고 합니다. 초기 조사를 기반으로 Cosmos DB는 기존의 관계형 데이터 저장소(예: Azure Database for PostgreSQL)에 비해 다양한 성능 및 기능 이점을 제공한다는 사실을 알게 되었습니다. 또한 Azure Blob Storage는 높은 데이터 처리량 요구 사항을 지원하는 동시에 저렴한 비용으로 거의 무제한 용량을 제공할 수 있음을 확인했습니다.

이러한 장점을 염두에 두고 기존 인벤토리 서비스에 영향을 주지 않는 loT 서비스를 팀에서 개발하고 배포할 수 있습니다.

사전 요구 사항

  • Azure에 관한 기본 지식
  • 클라우드 컴퓨팅에 대한 기본적인 이해
  • 프로그래밍 개념에 대한 기본 지식

학습 목표

이 모듈을 완료하면 다음 방법에 대해 자세히 알 수 있습니다.

  • IoT 서비스의 아키텍처 및 구성 요소 설명
  • Azure Cosmos DB의 특징 및 기능 설명
  • Azure 데이터 저장소를 IoT 파이프라인과 통합
  • 원격 분석 데이터 처리를 위해 Azure Cosmos DB 구현
  • 원격 분석 데이터 분석 및 관리
  • 웹앱을 IoT 파이프라인과 통합