In the Industrial Age, machines were mechanical creations. Force of wheels, belts, cogs, levers and pressure valves controlled the action and response of machines. There were mechanical decision makers of sort, with check safety valves, throttles and regulators, but most advanced control was in the hands of a human operator who monitored pressure and spring driven gauges. The most experienced operators could judge the state of the engine by sound and vibration. These were the first engineers, the masters of engines.
The machine was a single, well-defined entity with all of its elements physically connected. Engineers applied the concept of system design, with a clearly defined boundary that separated the system from the rest of the universe in both time and space.
Electricity expanded the size and scope of the machines. Electric power wires enabled machines to be distantly removed from their power source. Electric signal wires enabled control panels to be a little further away from the machine. As the Information Age commenced, electronics gradually replaced mechanical sensors and actuators. Nevertheless, the machine and all its components were physically connected.
A ubiquitous wireless Internet has changed our perception or conception of a system.
Change is rarely immediate. It took decades for steam power to replace waterwheels and mind mills in factories. It took decades for electricity to replace steam power in factories. It took decades for digital controls to replace analog or mechanical controls.
The previous changes, from horse to steam to electricity to electronics, only improved and expanded machines. The current change affects how we think of machines, the definition of a machine. The current change undermines the very concept of a system, because there is no longer a clear boundary between the components of a machine and the rest of the universe. There is no physical proximity in time or space between the actuator and the control, between the sensor and the display or even between the components and the process. That is to say, the display of a sensor or the control of an actuator can be located anywhere and added or removed anytime.
For instance, suppose I install an internet door lock. The device has an actuator for opening or closing the lock and a sensor for measuring if the door is open or closed. An app on my smart phone provides the display that will notify me when the door is locked or open. It also enables to lock or unlock the door. Later on I integrate the door lock into a home monitoring system that calls the police when the door is open in my absence and unlocks the door in case of a fire.
In this scenario, what is the system? Is the door lock itself a system? If so, then it does not include its displays, controls or processes. Are my mobile phone and the door lock a system? How are they separated from all the other things that my phone does, or the network that connects them?
Microservices break software into discrete activities that must be combined to provide business value. The intended objective is that any business process can use the same microservices to achieve different objectives. The Internet of Things breaks the isolation of physical devices and interconnects them with the rest of the Internet. The pattern is the same.
We are witnessing the end of systems thinking. To design a system requires one to create a boundary between the product or software and the rest of the universe. Such a boundary is counterproductive in microservices and the Internet of things.