Friday, December 02, 2022

Software Systems and Entropy Increase

Entropy increase is the basic law of the universe. It is said that the overall entropy of a closed system can only increase, not decrease.

The development process of civilization is to fight against it in order to find the slim chance of survival.

Human beings cannot fight against the increase of entropy, and there are only one or two workarounds.

Transfer Entropy

A closed system tends only to chaos. The easiest way to avoid entropy increase is to transfer entropy. Break out of closure and transform into an open system. Entropy is expelled and energy is brought in.

This is the reason why children compete for toys. The younger brother's toys were snatched away by the older brother, so the younger brother was naturally very unhappy, but the older brother's mood might improve a little. Although after fighting for the toy, the sum of the two people's mood entropy still increased.

The reason why the Internet can grow into a huge system on a global scale is that it is constantly absorbing innovations from all walks of life, constantly evolving, and constantly reducing the trend of chaos. Its entropy has been transferred to other industries, forming a huge impact on the traditional model.

Draw the Boundary

If it cannot be transferred, then you can only rely on yourself to create a few subsystems, and draw boundaries to avoid entropy increase from affecting the main body of the system.

In a system that does not distinguish boundaries in the economic field, it is often the case that "bad money drives out good money". The more factors are mixed together, the more likely the system tends to degenerate.

The layering, modules, components, microservices, etc. mentioned in the software architecture design are actually drawing boundaries, trying to limit the overall complexity of the software within a certain range.

Introverted

In the end, there is no other way but to stop tossing and slow down the entropy increase in a restrained way.

For software services, it is placed in the maintenance state. No new features will be added, and no new users will be accepted.