NixOS und Vergleiche zu Ansible mit OpenSUSE oder Debian

Ich stehe derzeit am Anfang einer eventuell kommenden, sehr großen Servermigration von OpenSUSE Leap 15 auf NixOS 18. Dieser Schritt ist am Anfang relativ hart, da bei NixOS sehr wenig so bleibt, wie es vorher war – lediglich einige wenige Konfigurationseinstellungen können übernommen werden (beispielsweise für den Apache oder einige Programme). Die meiste Arbeit liegt im Umbauen einer komplett organisch gewachsenen Konfiguration auf eine deklarative Umgebung, die stets einfach wiederhergestellt und vor allem gut verstanden werden kann.

Warum tue ich mir das an? Ich bin mit der Zeit immer unzufriedener mit dem typischen Ad-hoc Ansatz von Serverkonfiguration geworden bei meinen Geräten. Bei kurzen Problemen, für die keine Zeit zum korrekt lösen besteht, geht man gerade bei eigenen Servern manchmal Umwege, damit ein Dienst möglichst schnell wieder online ist. Hierdurch sammeln sich über die Zeit mehrere kleine Schnipsel an, die nirgends ordentlich dokumentiert sind und dennoch für den Betrieb notwendig. Wenn das System an sich einen zum deklarativen Ansatz zwingt und gleichzeitig das Testen neuer Änderungen besser möglich macht, sind die Chancen auf eine langfristig konsistente Serverkonfiguration höher und man kann mehr damit anstellen.

Als End-Game stelle ich mir viel mehr Dienste auf meinem Dedicated Root Server vor, damit man die Hardware besser auslasten kann. Um hier den Überblick nicht zu verlieren, ist ein derartig deklarativer und strukturierter Ansatz wirklich unabdingbar. Updates sollen sich nicht gefährlich anfühlen und Entwicklungsumgebungen für beispielsweise Jenkins Build-Slaves sollten sich einfach erstellen lassen, ohne stets auf Docker zurückgreifen zu müssen.

Alles in Allem bin ich sehr gespannt, wie die Umstellung wird. Mit Ansible wäre immer alles von einem Admin-Rechner abhängig und man könnte nicht mehr auf dem Server an sich arbeiten, was ich nicht besonders angenehm finde im Vergleich zu möglichen Änderungen an der Server-Konfiguration direkt auf der Maschine, falls sich etwas dringendes ergeben sollte. Wenn es mit NixOS möglich ist, diese beiden Ansätze zu kombinieren, würde ich mich sehr freuen und hätte eine neue Distribution für meine Server gefunden!

LG,
Max