Azure IoT Edge -How to pull data from Purdue OT Level 2/3 devices and move it to IT layer

Pavan Puligandla 105 Reputation points
2025-04-09T13:50:53.53+00:00

Hi,

I'm looking at these blogs(https://learn.microsoft.com/en-us/answers/questions/1414540/difference-between-azure-iot-and-azure-iot-edge-an) to move data from lower levels of Purdue OT network to Level 5 DMZ IT network. But I'm not clear with the approach as it was not specified in the Microsoft blogs. Below is what I'm looking for and would need your help in stitching the pieces.

  1. If I've 1000+ devices on Level 3 network of OT, how many IoT Edge devices should I deploy? Can one Linux VM with custom modules docker image suffice? or do we need more here? Is it like one IoT Edge device instance per device to get the data moved from level 3 to level 5?
  2. Lets say my 1000+ devices are already outputting the files to a connected lab pc on level 3, in that case how can I connect to that lab PC to pull the files using IoT Edge modules and move it to azure cloud storage like?
  3. In movement of data case, do we need Azure IoT Hub or we can use azure file share or in memory IoT edge blob storage and sync it with blob storage on the cloud and expose that data to a 3rd party API? How this file sync works?
  4. If I need Azure IoT Hub data ingestion, how would we push the files to IoT Hub on cloud directly from Level 5 IT network?

Thanks

Azure IoT Edge
Azure IoT Edge
An Azure service that is used to deploy cloud workloads to run on internet of things (IoT) edge devices via standard containers.
0 comments No comments
{count} votes

Accepted answer
  1. Sander van de Velde | MVP 36,941 Reputation points MVP Volunteer Moderator
    2025-04-09T18:46:03.0766667+00:00

    Hello @Pavan Puligandla ,

    welcome to this moderated Azure community forum.

    The simplest answer regarding the Perdue / ISA-95 support is by creating a hierarchy of Azure IoT Edge devices, one at every level:

    Structure of the tutorial hierarchy, containing two devices: the top layer device and the lower layer device

    This way, you have full control over the communication between each device.

    Regarding Q1, the number of devices needed is depending on many variables like:

    • the amount of compute available on an edge device
    • the amount of messages and message size provided
    • How many modules needed for eg. protocol translations or message filtering/transformations, etc (max 50 by default)

    The best way is to start connecting a small group for collecting data offers the most value through insights. From there, learn about the load and the value and needs. For sure you normally do not need to have a 1-to-1 ratio between machines and edge devices.

    Regarding Q2, you want to move files from edge to cloud. You can use Azure IoT Edge to move files to the cloud in a secure way towards a Blob storage account. Check out this post regarding forwarding blob files.

    But how about turning the content of the local blob files in separate (one of more) messages sent to the IoT Hub as a stream? This is also a scenario, turning lines of a text file from a batch into separate messages. This also makes it possible to act more real-time.

    As an alternative, if the files can be compressed to under 256KB, these could be sent as separate messages at once.

    Regarding Q3, it seems you are pointing to that Blob storage account sync, as seen in this post .

    That is a Azure storage account specific synchronization between a local 'storage account' container from Microsoft and an Azure Storage account.

    You are free to build your own synchronization on other resources or use some 3rd party solution.

    Azure IoT Edge is basically a docker container distribution mechanism. You can deploy any 3rd party Docker container including Grafana, InFluxDB, Mosquitto, etc. The only thing to take into account is that these 3rd party modules do not support the Azure IoT Edge Edgehub routing mechanism. So you need to provide a 'custom bridge module' is needed.

    Regarding Q4, this seems to be the same question as Q3. If you want to push file to the Azure cloud, you probably forward them to a Storage account.

    The Azure IoT Hub offers a separate integration with a storage account but this is only available via the File Upload functionalty of the Azure IoT DeviceClient, part of the Azure IoT Device SDK.

    An Azure IoT Edge works with ModuleClients, living in the individual modules/docker containers and this ModuleClient does not support file upload functionality.

    Finally, please experiment with Azure IoT Edge so you understand the basic components and modules offers by this very flexible ecosystem. Then you also learn about the size needed to upload data to the cloud and adding value through insights.


    If the response helped, do "Accept Answer". If it doesn't work, please let us know the progress. All community members with similar issues will benefit by doing so. Your contribution is highly appreciated.


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.