DEV Community

Gaurav Sharma
Gaurav Sharma

Posted on

Designing a Practical IIoT Architecture

Introduction

Industrial IoT (IIoT) architectures often look clean in diagrams but become messy when implemented in real systems.

While exploring this space, I tried to structure a more practical reference architecture that balances clarity with real-world concerns like scalability, reliability, and multi-tenancy.

This is a work in progress, and I’d love feedback from others building similar systems.


The Problem with Typical IoT Architectures

Most reference architectures:

  • stay too high-level
  • don’t separate concerns clearly (telemetry vs command)
  • ignore multi-tenancy
  • don’t address edge vs cloud trade-offs

This creates challenges when moving from POC → production.


Proposed Architecture Overview

At a high level, the system is divided into four layers:

1. Device & Controller Layer

  • Sensors, controllers, PLCs
  • Communicate via MQTT or similar lightweight protocols
  • Separate channels for telemetry and command

2. Edge Layer

  • Local processing and filtering
  • Handles intermittent connectivity
  • Reduces latency for critical operations

3. Cloud Ingestion Layer

  • MQTT broker → event streaming pipeline
  • Separation of:
    • telemetry (data ingestion)
    • command (control path)

4. Application Layer

  • Multi-tenant SaaS architecture
  • Monitoring dashboards
  • Command and control APIs

Key Design Considerations

Telemetry vs Command Separation

Combining both leads to complexity. Keeping them separate improves scalability and clarity.

Edge vs Cloud Responsibilities

  • Edge: real-time, low-latency decisions
  • Cloud: aggregation, analytics, orchestration

Multi-Tenancy

Needs to be built-in from the start (not bolted on later).


Open Questions / Trade-offs

Some areas I’m still exploring:

  • How to design reliable command execution (ACK/NACK, retries, idempotency)
  • Where to draw the boundary between edge and cloud
  • Best approaches for tenant isolation at scale

Reference

I’ve put together a more detailed version (with diagrams) here:

👉 https://gauravs19.github.io/iiot-reference-architecture/


Looking for Feedback

If you’ve worked on IoT/IIoT systems:

  • What patterns have worked well for you?
  • Where do architectures typically break?
  • What would you change here?

Open to suggestions and alternative approaches.

Top comments (0)