13 Propositions on an Internet for a Burning World (Part 9)
OpenBSD version: Not relevant here...
Arch: ?
NSFP: Well...
« Read proposition 8 <> Read proposition 10 »
Over the past decades, IT systems have become increasingly complex. There are countless discussions about the explosion in complexity of protocols, for example email, and the ‘DNS Camel’ is certainly one of the most iconic illustrations of this issue. Furthermore, this trend continues into the operation of systems. While the introduction of Infrastructure-as-Code, and DevOps aims to make systems more maintainable and succeeds in certain contexts, it also adds layer upon layer of abstraction. To illustrate this issue with an anecdote: When we tried to set up monitoring for a small self-hosted video conferencing setup supporting a faculty in teaching during the COVID-19 pandemic, we ultimately ended up using decades-old monitoring software (read: Nagios). We did so because all more recent monitoring tools would drag along a software stack as complex, and sometimes even more complex, than the setup it was supposed to monitor.
Hence, we claim:
Proposition 9
“Systems that are too complex to be understood by a single person cannot be sustainable.”
In a world burning down, it will be important to keep systems running. Systems may end up being isolated and small scale. They may depend on individual operators. They may depend on knowledge on how they are operated being easily transferable to another person.
Again, Solene provided the foundation of this proposition in a blog article.
This article succeeds in dissecting the reliance of automation and complex systems on its building blocks that need to be understood before they can be ‘abstracted away’.
However, to be sustainable in a burning world, systems will have to be run (and understood) by small teams and communities (see Proposition 7).
Hence, while in an ever-growing and centralizing Internet automation is a necessity, its complexity might become a curse in an Internet that is supposed to survive in a burning world.
Or, to put it in an example: Without a central docker repository, there is no place where curl | sudo bash
can pull the image from.