Fefes Blog

Originalartikel

Backup

<html> <ul><li><a href=„http://blog.fefe.de/?ts=a0d07bd8“>[l]</a> Wisst ihr, was mir in dunklen Zeiten wie dieser Jahreszeit Erheiterung ins Leben bringt? Dieser Spirale zuzugucken: <ol><li>Unsere Software ist zu komplex, wir haben die Komplexit&#228;t nicht im Griff! Pass auf, wir machen da ein verteiltes System daraus! Dann sind die Einzelteile weniger komplex. Vielleicht k&#246;nnen wir das dann unter Kontrolle bringen.</li> <li>Das verteilte System braucht viel mehr administrativen Aufwand. Pass auf, den automatisieren wir weg! Wir machen Container! Docker!</li> <li>Docker-Aufsetzen braucht viel mehr administativen Aufwand. Pass auf, den automatisieren wir weg! Wir machen Kubernetes!</li> <li>Kubernetes braucht viel mehr administativen Aufwand. Pass auf, den automatisieren wir weg! Wir machen Ansible!</li> <li>Ansible braucht viel mehr administativen Aufwand. Pass auf, den automatisieren wir weg! Wir machen Chef / Salt!</li> </ol> Frank hat im letzten Alternativlos das wunderbare Wort „Komplexit&#228;tsverst&#228;rker“ eingef&#252;hrt. Das ist genau, was hier passiert. Am Ende hast du ein Sch&#246;nwettersystem. Wenn das erste Mal der Wind dreht, dann hast du einen Scherbenhaufen. Niemand kann diese ganze Komplexit&#228;t mehr durchblicken. <p>Gut, das konnte bei den Monolithen am Anfang auch niemand. Aber da gab es eine realistische Chance. Jetzt nicht mehr.</p> <p>Und dazu kommt, <a href=„https://twitter.com/sheeshee/status/1221067718809530370“>dass du am Ende mit einem Dutzen YAML-Dialekten zu tun hast</a>, alle subtil unterschiedlich.</p> <p>F&#252;r CI-Pipelines gilt &#196;hnliches. Die wirken im Allgemeinen auch komplexit&#228;tsverst&#228;rkend. Ich mache ja Code Audits bei Kunden, d.h. ich muss den Code nur lesen k&#246;nnen, nicht bauen. W&#228;re nat&#252;rlich sch&#246;ner, wenn ich den auch bauen k&#246;nnte. Aber das haben, wie sich rausstellt, praktisch alle Kunden schon vollst&#228;ndig aufgegeben.</p> <p>Daf&#252;r m&#252;sste man mir in der Cloud eine Kopie der CI-Pipeline konstruieren. Und die durchblickt niemand mehr. Das ist v&#246;llig unrealistisch. Welche Pr&#228;prozessor-Symbole gesetzt sind? &#196;h … keine Ahnung? Wir wissen nur, dass wir hier clicken, und am Ende f&#228;llt ein Binary raus. Wir verstehen nicht mal genug, um die Fehlermeldungen der Pipeline und des Compilers auszuwerten.</p> <p>Da lobe ich mir echt das GNU-Projekt und die BSDs, die ihre Buildsysteme auf einen gemeinsamen Standard normiert haben. Schade nur, dass die sich nicht auf denselben Standard einigen konnten.</p> <p>Meine Zielvorstellung w&#228;re ja, dass du in jedes Verzeichnis gehen kannst, make aufrufen kannst, und dann baut der die Libraries und Programme aus dem Verzeichnis.</p> <p>Wenn man nur Open Source macht, k&#246;nnte man geneigt sein, den Buildprozess von Firefox f&#252;r den &#252;belsten der Welt zu halten. Glaubt mir. Weit gefehlt. Der spielt nicht mal in derselben Liga wie so &#252;bliche Kommerzprojekte.</p> </li></ul> </html>