Solution driven vs Technology driven, why your industry 4.0 applications are not scaling

This is pretty good:

Although this is from a factory automation perspective, I think the concepts generally apply to IoT and technology in general. Some notes from the talk:

  • industry 3.0 is solution driven, vertical integration where AB/Siemens/Schneider provides solutions in each layer of the stack where each layer only talks to adjacent layers and does not interoperate well with other vendors.
  • requirements
    • report by exception – only report when things change
    • edge driven – the intelligence pushes the payload, it is not polled
    • open architecture – accessible by all consumers
    • lightweight – don’t take down the network
  • promote Ignition by Inductive Automation
  • start with MQTT/Sparkplug B
  • all nodes are producers or consumers of data in a single, unified name-space

This provides a lot of food for thought. The tree based structure of data in Simple IoT would map nicely into a MQTT topic space and would provide a nice handle to reference node values vs the UUID of the node. However, one problem with a topic handle is the names may change, which could them break consumers. Needs a little more thought …

The context is industrial automation, but I think the principles apply to any distributed system architecture.

The old industry 3.0 approach is a layered approach:


This is the “solution” centered approach and drives you to one vendor where the entire stack is integrated, because connecting each layer to the layer above from different vendors is a huge integration effort.

Walker’s requirements:

  1. report by exception (only report when something changes)
  2. edge driven (data is pushed from edge, not pulled)
  3. open architecture (accessible by all consumers)
  4. light-weight


  • MQTT
  • Unified namespace
  • hub and spoke architecture where everything can talk to everything else

This is what you get with a technology driven architecture:

The difference between these two architectures is the effort it takes to add new things. In the layered (solution driven) architecture, you have to touch every layer and it is a huge integration effort. With the event (technology driven) architecture, it is easy to plug in new components.

Walker describes the solution driven approach as “nailing your furniture to the floor” – its very hard to change anything.