Study

Container / IoT Edge

기본적으로 Azure IoT Edge를 구동하기 위해서는 Docker나 moby 등 컨테이너 엔진이 필요하다.
만약 Azure IoT Edge로 MS의 Certification 을 받고 싶다면 moby 컨테이너를 사용해야 한다.

라즈베리파이를 기준으로, moby-engine 과 iot-edge를 단순 설치하기 위해서는 최소한 250MB의 저장공간이 필요하다.


기본 모듈

Azure IoT Edge에서 기본 예제로 제공하는 SimulatedTemperatureSensor를 IoT Edge에서 동작해본다.

https://azuremarketplace.microsoft.com/en-us/marketplace/apps/azure-iot.simulated-temperature-sensor

Overview에는 SimulatedTemperatureSensor 의 minumum hardware requirements에 대해 적혀 있다.

  • Linux or Windows Container
  • x64 or arm32
  • 150Mb disk space
  • 50Mb RAM


기본모듈이 사용하는 메모리

moby-engine과 iot-edge를 설치하고 Azure IoT Edge runtime이 실행할때의 메모리 사용량은 215MB 정도이다.



SimulatedTemperatureSensor를 1개 동작시킬 경우 260MB 정도로 늘어난 것을 확인할 수 있다.


SimulatedTemperatureSensor를 하나 더 추가하니 386MB로 100MB 이상이 추가로 사용되고 있었다.



총 3개의 SimulatedTemperatureSensor를 구동시키니 432MB 메모리를 사용한다.




Azure IoT Edge 최소 시스템 요구사항

Azure IoT Edge의 최소 요구사항을 살펴보면, 라즈베리파이3 정도의 디바이스에서 서버등급의 장비에서 동작하는 목표로 하는 솔루션이다.
그리고 최소 시스템 요구사항에 대해 모호한 표현으로 적혀있다.
직접 라즈베리파이에 Azure IoT Edge를 설치해보고 모듈을 올려보니 최소 요구사항이 애매한 이유를 알 수 있었다.

테스트에서는 기본 모듈인 SimulatedTemperatureSensor를 사용했지만, 실제 응용에서는 다양한 동작과 데이터 처리를 해야할 것이다.

단순 설치와 동작에는 기존의 OS와 250MB 정도의 설치 공간, 그리고 300MB 정도의 RAM이 사용되었다.

여기에 Azure에서는 Azure Function, Azure Stream Analytics, Azure SQL DB 등 서비스도 Edge runtime에서 구동할 수 있도록 지원하고 있는데, 이런 처리들을 하는데 더 많은 리소스를 사용하게 될 것이다.

'Study' 카테고리의 다른 글

라즈베리파이에 Azure IoT Edge 설치하기  (0) 2020.11.10