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)