현장의 다양한 시스템과 장치로 인해 워크로드 구성이 어려울 수 있습니다. 이 문서에서는 이를 해결하는 방법을 제공합니다.
컨텍스트 및 문제
제조 회사는 디지털 변환 과정의 일환으로 공유 기능으로 재사용할 수 있는 소프트웨어 솔루션을 빌드하는 데 점점 더 집중하고 있습니다. 현장의 다양한 장치 및 시스템으로 인해 모듈식 워크로드는 다양한 프로토콜, 드라이버 및 데이터 형식을 지원하도록 구성됩니다. 워크로드의 여러 인스턴스도 동일한 에지 위치에서 서로 다른 구성으로 실행되는 경우가 있습니다. 일부 워크로드의 경우 구성이 하루에 두 번 이상 업데이트됩니다. 따라서 에지 솔루션 확장에 구성 관리가 점점 더 중요해지고 있습니다.
해결 방법
에지 워크로드에 대한 구성 관리의 몇 가지 일반적인 특징은 다음과 같습니다.
- 소프트웨어 원본, CI/CD 파이프라인, 클라우드 테넌트 및 에지 위치와 같은 고유한 계층으로 그룹화할 수 있는 몇 가지 구성 지점이 있습니다.
- 다양한 계층을 다른 사용자가 업데이트할 수 있습니다.
- 구성이 업데이트되는 방식에 관계없이 신중하게 추적하고 감사해야 합니다.
- 비즈니스 연속성을 위해 에지에서 오프라인으로 구성에 액세스할 수 있어야 합니다.
- 또한 클라우드에서 사용할 수 있는 구성의 전역 보기가 필요합니다.
문제 및 고려 사항
이 패턴을 구현하는 방법을 결정할 때 다음 사항을 고려합니다.
- 에지가 클라우드에 연결되지 않은 경우 편집을 허용하면 구성 관리의 복잡성이 크게 증가합니다. 클라우드에 변경 내용을 복제할 수 있지만 다음과 같은 문제가 있습니다.
- 사용자 인증은 Microsoft Entra ID와 같은 클라우드 서비스에 의존하기 때문입니다.
- 워크로드가 수동 개입이 필요한 예기치 않은 구성을 수신하는 경우 다시 연결 후 충돌 해결
- 토폴로지가 ISA-95 요구 사항을 준수하는 경우 에지 환경에 네트워크 관련 제약 조건이 있을 수 있습니다. Azure IoT Edge의 디바이스 계층 구조와 같이 계층 간에 연결을 제공하는 기술을 선택하여 이러한 제약을 극복할 수 있습니다.
- 런타임 구성이 소프트웨어 릴리스에서 분리된 경우 구성 변경 내용을 별도로 처리해야 합니다. 기록 및 롤백 기능을 제공하려면 클라우드의 데이터 저장소에 과거 구성을 저장해야 합니다.
- 존재하지 않는 엔드포인트로 구성된 연결 구성 요소와 같은 구성의 오류는 워크로드를 중단시킬 수 있습니다. 따라서 관찰 가능성 대시보드가 시스템 오류와 구성 변경의 상관 관계를 지정하는 데 도움이 되도록 관찰 가능성 솔루션에서 다른 배포 수명 주기 이벤트를 처리할 때 구성 변경을 처리하는 것이 중요합니다. 관찰 가능성에 대한 자세한 내용은 클라우드 모니터링 가이드: 관찰성을 참조하세요.
- 클라우드 및 에지 데이터 저장소가 비즈니스 연속성에서 하는 역할을 이해합니다. 클라우드 데이터 저장소가 단일 원본인 경우 에지 워크로드는 자동화된 프로세스를 사용하여 의도한 상태를 복원할 수 있어야 합니다.
- 복원력을 위해 에지 데이터 저장소는 오프라인 캐시 역할을 해야 합니다. 이는 대기 시간 고려 사항보다 우선합니다.
이 패턴을 사용하는 경우
다음 경우에 이 패턴을 사용합니다.
- 소프트웨어 릴리스 주기 외부에서 워크로드를 구성해야 하는 요구 사항이 있습니다.
- 다른 사용자가 구성을 읽고 업데이트할 수 있어야 합니다.
- 클라우드에 연결되지 않은 경우에도 구성을 사용할 수 있어야 합니다.
워크로드 예제:
- 데이터 수집을 위해 매장의 자산에 연결하는 솔루션(예: OPC 게시자) 및 명령 및 제어
- 예측 유지 관리를 위한 기계 학습 워크로드
- 제조 라인에서 품질을 실시간으로 검사하는 기계 학습 워크로드
예시
런타임 동안 에지 워크로드를 구성하는 솔루션은 외부 구성 컨트롤러 또는 내부 구성 공급자를 기반으로 할 수 있습니다.
외부 구성 컨트롤러 변형
이 변형에는 워크로드 외부에 있는 구성 컨트롤러가 있습니다. 클라우드 구성 컨트롤러 구성 요소의 역할은 에지 구성 컨트롤러를 통해 클라우드 데이터 저장소에서 워크로드로 편집을 푸시하는 것입니다. 또한 에지에는 클라우드에서 연결이 끊긴 경우에도 시스템이 작동할 수 있도록 데이터 저장소가 포함되어 있습니다.
IoT Edge를 사용하면 에지 구성 컨트롤러를 모듈로 구현할 수 있으며 모 듈 쌍을 사용하여 구성을 적용할 수 있습니다. 모듈 쌍에는 크기 제한이 있습니다. 구성이 제한을 초과하면 Azure Blob Storage를 사용하거나 직접 메서드를 통해 더 큰 페이로드를 청크하여 솔루션을 확장할 수 있습니다.
이 변형의 이점은 다음과 같습니다.
- 워크로드 자체는 구성 시스템을 인식할 필요가 없습니다. 이 기능은 Azure IoT Edge Marketplace의 모듈을 사용하는 경우처럼 워크로드의 소스 코드를 편집할 수 없는 경우 요구 사항입니다.
- 클라우드 구성 컨트롤러를 통해 변경 내용을 조정하여 동시에 여러 워크로드의 구성을 변경할 수 있습니다.
- 예를 들어 워크로드에 구성을 푸시하기 전에 에지에 엔드포인트가 있는지 확인하기 위해 푸시 파이프라인의 일부로 추가 유효성 검사를 구현할 수 있습니다.
내부 구성 공급자 변형
내부 구성 공급자 변형에서 워크로드는 구성 공급자에서 구성을 가져옵니다. 구현 예제는 .NET에서 사용자 지정 구성 공급자 구현을 참조하세요. 이 예제에서는 C#을 사용하지만 다른 언어를 사용할 수 있습니다.
이 변형에서 워크로드에는 고유한 식별자가 있으므로 다른 환경에서 실행되는 동일한 소스 코드가 서로 다른 구성을 가질 수 있습니다. 식별자를 생성하는 한 가지 방법은 워크로드의 계층 관계를 테넌트 같은 최상위 그룹화에 연결합니다. IoT Edge의 경우 Azure 리소스 그룹, IoT Hub 이름, IoT Edge 디바이스 이름 및 모듈 식별자의 조합일 수 있습니다. 이러한 값은 데이터 저장소에서 키로 작동하는 고유 식별자를 형성합니다.
모듈 버전을 고유 식별자에 추가할 수 있지만 소프트웨어 업데이트 간에 구성을 유지하는 것이 일반적인 요구 사항입니다. 버전이 식별자의 일부인 경우 추가 구현을 사용하여 이전 버전의 구성을 마이그레이션해야 합니다.
이 변형의 이점은 다음과 같습니다.
- 데이터 저장소 외에 솔루션에는 구성 요소가 필요하지 않으므로 복잡성이 줄어듭니다.
- 호환되지 않는 이전 버전의 마이그레이션 논리는 워크로드 구현 내에서 처리할 수 있습니다.
IoT Edge를 기반으로 하는 솔루션
IoT Edge 참조 구현의 클라우드 구성 요소는 클라우드 구성 컨트롤러 역할을 하는 IoT Hub로 구성됩니다. Azure IoT Hub 모듈 쌍 기능성은 모듈 쌍의 desired 속성과 reported 속성을 통해 현재 적용된 구성에 대한 구성 변경 및 정보를 전파합니다. 구성 관리 서비스는 구성의 원본 역할을 합니다. 구성, 빌드 시스템 및 워크로드 구성을 작성하는 데 사용되는 기타 도구를 관리하기 위한 사용자 인터페이스일 수도 있습니다.
Azure Cosmos DB 데이터베이스는 모든 구성을 저장합니다. 여러 IoT Hub와 상호 작용할 수 있으며 구성 기록을 제공합니다.
에지 디바이스가 보고된 속성을 통해 구성이 적용되었음을 나타내면 구성 상태 서비스는 데이터베이스 인스턴스의 이벤트를 메모합니다.
구성 관리 서비스에서 새 구성이 만들어지면 Azure Cosmos DB에 저장되고 에지 모듈의 원하는 속성이 디바이스가 있는 IoT Hub에서 변경됩니다. 그런 다음 IoT Hub에서 에지 디바이스로 구성을 전송합니다. 에지 모듈은 설정을 적용하고 모듈 트윈을 통해 설정 상태를 보고할 것으로 예상됩니다. 그런 다음 구성 상태 서비스는 쌍 변경 이벤트를 수신 대기하고 모듈이 구성 상태 변경을 보고하는 것을 감지하면 Azure Cosmos DB 데이터베이스의 해당 변경 사항을 기록합니다.
에지 구성 요소는 외부 구성 컨트롤러 또는 내부 구성 공급자를 사용할 수 있습니다. 두 시나리오에서 컨트롤러는 모듈 트윈의 기대되는 속성에 구성을 전송합니다. 큰 구성을 위해 모듈의 원하는 속성에는 구성을 가져오기 위한 Azure Blob Storage나 다른 서비스의 URL이 포함됩니다. 그런 다음 모듈은 모듈 쌍의 보고된 속성에서 새 구성이 성공적으로 적용되었는지와 현재 적용된 구성을 신호로 전달합니다.
기여자
Microsoft에서 이 문서를 유지 관리합니다. 그것은 원래 다음 기여자에 의해 작성되었습니다.
대표 저자:
- 헤더 캠 | 선임 프로그램 관리자
공용이 아닌 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.
다음 단계
- Azure IoT Edge
- Azure IoT Edge란?
- Azure IoT Hub
- IoT 개념 및 Azure IoT Hub
- Azure Cosmos DB
- Azure Cosmos DB에 오신 것을 환영합니다
- Azure Blob Storage
- Azure Blob Storage 소개