IoT 솔루션 내에서 디바이스 구성에 대한 모범 사례

Azure IoT Hub에서 자동 디바이스 관리는 전체 수명 주기를 통해 대규모 디바이스를 관리하는 반복적이고 복잡한 작업을 자동화합니다. 이 문서는 IoT 솔루션을 개발 및 운영하는 데 수반되는 다양한 역할에 대한 다양한 모범 사례를 정의합니다.

  • IoT 하드웨어 제조업체/통합업체: IoT 하드웨어 제조업체, 다양한 제조업체의 하드웨어를 어셈블하는 통합업체 또는 다른 공급업체에서 제조하거나 통합한 IoT 배포를 위한 하드웨어를 제공하는 공급업체입니다. 펌웨어의 개발 및 통합, 포함된 운영 체제 및 포함된 소프트웨어에 관련됩니다.

  • IoT 솔루션 개발자: IoT 솔루션 개발은 일반적으로 솔루션 개발자가 수행합니다. 이 개발자는 이러한 활동에 특화된 사내 팀 또는 시스템 통합업체에 속할 수 있습니다. IoT 솔루션 개발자는 IoT 솔루션의 다양한 구성 요소를 처음부터 새로 개발하거나 다양한 표준 또는 오픈 소스 구성 요소를 통합할 수 있습니다.

  • IoT 솔루션 운영자: IoT 솔루션이 배포된 후에는 장기적인 운영, 모니터링, 업그레이드 및 유지 관리가 필요합니다. 이러한 작업은 정보 기술 전문가, 하드웨어 운영 및 유지 관리 팀, 전체 IoT 인프라의 올바른 동작을 모니터링하는 도메인 전문가로 구성된 사내 팀이 수행합니다.

대규모 IoT 디바이스 구성에 대한 자동 디바이스 관리 이해

자동 디바이스 관리는 클라우드 및 디바이스 간의 desired 및 reported 상태를 동기화하도록 디바이스 쌍모듈 쌍의 다양한 혜택을 포함합니다. 자동 디바이스 구성은 대량의 쌍 집합을 자동으로 업데이트하고 진행률 및 준수를 요약합니다. 다음 고급 단계에서는 자동 디바이스 관리가 개발되고 사용되는 방법을 설명합니다.

  • IoT 하드웨어 제조업체/통합업체디바이스 쌍을 사용하여 포함된 애플리케이션 내에서 디바이스 관리 기능을 구현합니다. 이러한 기능은 펌웨어 업데이트, 소프트웨어 설치 및 업데이트, 설정 관리를 포함할 수 있습니다.

  • IoT 솔루션 개발자디바이스 쌍자동 디바이스 구성을 사용하여 디바이스 관리 작업의 관리 계층을 구현합니다. 솔루션은 디바이스 관리 작업을 수행하는 운영자 인터페이스 정의를 포함해야 합니다.

  • IoT 솔루션 운영자는 IoT 솔루션을 사용하여 디바이스 관리 작업을 수행합니다. 특히 디바이스를 함께 그룹화하고, 펌웨어 업데이트와 같은 구성 변경 내용을 시작하고, 진행률을 모니터링하고, 발생하는 문제를 해결합니다.

IoT 하드웨어 제조업체/통합업체

다음은 포함된 소프트웨어 개발을 다루는 하드웨어 제조업체 및 통합업체에 대한 모범 사례입니다.

  • 디바이스 쌍 구현: 디바이스 쌍은 클라우드에서 원하는 구성 동기화, 현재 구성 및 디바이스 속성 보고를 활성화합니다. 포함된 애플리케이션 내에서 디바이스 쌍을 구현하는 가장 좋은 방법은 Azure IoT SDK를 통하는 것입니다. 디바이스 쌍은 다음과 같은 이유로 구성에 가장 적합합니다.

    • 양방향 통신을 지원합니다.
    • 연결된 디바이스 상태 및 연결이 끊긴 디바이스 상태를 모두 허용합니다.
    • 결과적 일관성의 원칙을 따릅니다.
    • 클라우드에서 완전히 쿼리 가능합니다.
  • 디바이스 관리에 대한 디바이스 쌍 구조화: 디바이스 쌍은 디바이스 관리 속성이 논리적으로 함께 섹션으로 그룹화되도록 구조화되어야 합니다. 이렇게 하면 쌍의 다른 섹션에 영향을 주지 않고 격리되도록 구성 변경 내용을 활성화합니다. 예를 들어 펌웨어에 대한 desired 속성 내에서 하나의 섹션, 소프트웨어에 대한 다른 섹션 및 네트워크 설정에 대한 세 번째 섹션을 만듭니다.

  • 디바이스 관리에 유용한 디바이스 특성 보고: 물리적 디바이스 만들기 및 모델과 같은 특성, 펌웨어, 운영 체제, 시리얼 번호 및 기타 ID는 매개 변수로 보고 및 구성 변경 내용 대상 지정에 유용합니다.

  • 보고 상태 및 진행률에 대한 주 상태 정의: 고급 상태는 운영자에게 보고될 수 있도록 열거되어야 합니다. 예를 들어 펌웨어 업데이트는 Current, Downloading, Applying, In Progress 및 Error로 상태를 보고합니다. 각 상태의 자세한 내용에 대한 추가 필드를 정의합니다.

IoT 솔루션 개발자

다음은 Azure에 기반을 둔 시스템을 빌드하는 IoT 솔루션 개발자에 대한 모범 사례입니다.

  • 디바이스 쌍 구현: 디바이스 쌍은 클라우드에서 원하는 구성 동기화, 현재 구성 및 디바이스 속성 보고를 활성화합니다. 클라우드 솔루션 애플리케이션 내에서 디바이스 쌍을 구현하는 가장 좋은 방법은 Azure IoT SDKs를 사용하는 것입니다. 디바이스 쌍은 다음과 같은 이유로 구성에 가장 적합합니다.

    • 양방향 통신을 지원합니다.
    • 연결된 디바이스 상태 및 연결이 끊긴 디바이스 상태를 모두 허용합니다.
    • 결과적 일관성의 원칙을 따릅니다.
    • 클라우드에서 완전히 쿼리 가능합니다.
  • 디바이스 쌍 태그를 사용하여 디바이스 구성: 솔루션은 운영자가 카나리아와 같은 다양한 배포 전략에 기반을 둔 품질 링 또는 기타 디바이스 집합을 정의하도록 허용해야 합니다. 디바이스 조직은 디바이스 쌍 태그 및 쿼리를 사용하여 솔루션 내에서 구현될 수 있습니다. 구성을 안전하고 정확하게 배포하도록 허용하는 데 디바이스 조직이 필요합니다.

  • 자동 디바이스 구성 구현: 자동 디바이스 구성은 디바이스 쌍을 통해 대량의 IoT 디바이스 집합에 구성 변경 내용을 배포 및 모니터링합니다.

    자동 디바이스 구성은 디바이스 쌍 태그 또는 reported 속성에서 쿼리인 대상 조건을 통해 디바이스 쌍의 집합을 대상으로 합니다. 대상 콘텐츠는 대상 디바이스 쌍 내에서 설정될 desired 속성의 집합입니다. 대상 콘텐츠는 IoT 하드웨어 제조업체/통합업체에 의해 정의된 디바이스 쌍 구조에 맞춰야 합니다. 메트릭은 디바이스 쌍 reported 속성의 쿼리이며, IoT 하드웨어 제조업체/통합업체에 의해 정의된 디바이스 쌍 구조에 맞춰야 합니다.

    자동 디바이스 구성은 구성이 생성된 후 즉시 실행되며 그 이후에는 5분 간격으로 실행됩니다. 여기에는 디바이스 쌍 읽기 및 업데이트에 대한 제한 한도를 절대 초과하지 않는 비율에서 디바이스 쌍 작업을 수행하는 IoT Hub의 혜택도 있습니다.

  • 디바이스 프로비저닝 서비스 사용: 솔루션 개발자는 디바이스 프로비저닝 서비스를 사용하여 해당 태그로 쌍에서 대상으로 하는 자동 디바이스 구성에 의해 자동으로 구성되도록 디바이스 쌍 태그를 새 디바이스에 맞춰야 합니다.

IoT 솔루션 운영자

다음은 Azure에서 빌드한 IoT 솔루션을 사용하는 IoT 솔루션 운영자에 대한 모범 사례입니다.

  • 관리를 위한 디바이스 구성: IoT 솔루션은 카나리아와 같은 다양한 배포 전략에 기반을 둔 품질 링 또는 기타 디바이스 집합의 생성을 정의 또는 허용해야 합니다. 디바이스 집합은 구성 변경 내용을 배포하고 기타 대규모 디바이스 관리 작업을 수행하는 데 사용됩니다.

  • 단계별 배포를 사용하여 구성 변경 내용 수행: 단계별 배포는 운영자가 대규모 IoT 디바이스 집합에 변경 내용을 배포하는 전체적인 프로세스입니다. 목표는 점진적으로 변경하여 광범위한 새로운 변경에 따른 위험을 줄이는 것입니다.  운영자는 솔루션의 인터페이스를 사용하여 자동 디바이스 구성을 만들어야 하며, 대상 조건은 디바이스의 초기 집합을 대상으로 해야 합니다(예: 카나리아 그룹). 그런 다음, 운영자는 디바이스의 초기 집합에서 구성 변경 내용의 유효성을 검사해야 합니다.

    유효성 검사가 완료되면 운영자는 더 큰 디바이스 집합을 포함하도록 자동 디바이스 구성을 업데이트합니다. 운영자는 현재 해당 디바이스를 대상으로 하는 다른 구성보다 높게 구성에 대한 우선 순위를 설정해야 합니다. 자동 디바이스 구성에서 보고되는 메트릭을 사용하여 배포를 모니터링할 수 있습니다.

  • 오류 또는 구성 오류의 경우 롤백 수행: 오류 또는 구성 오류를 야기하는 자동 디바이스 구성은 디바이스가 더 이상 대상 조건을 충족하지 않도록 대상 조건을 변경하여 롤백될 수 있습니다. 낮은 우선 순위의 다른 자동 디바이스 구성이 여전히 해당 디바이스를 대상으로 하는지 확인합니다. 메트릭을 확인하여 롤백이 성공되었는지 확인: 롤백 구성은 대상으로 하지 않는 디바이스에 대한 상태를 더 이상 표시하지 않아야 하며, 두 번째 구성의 메트릭은 이제 여전히 대상으로 하는 디바이스에 대한 수를 포함해야 합니다.

다음 단계