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:

image

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

Implementation:

  • 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.