Schritt 1: Abhängigkeiten sichtbar machen
Die erste Frage ist nicht, was ihr ersetzen wollt, sondern woran ihr tatsächlich hängt. Das lässt sich auf jedem Host in wenigen Minuten feststellen.
# RHEL / Rocky / Alma
rpm -qa --qf '%{VENDOR}\n' | sort | uniq -c | sort -rn
# Debian / Ubuntu
grep -rhE '^(deb |Types:|URIs:)' /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null
# Container: welche Registries ziehen wir?
sudo podman images --format '{{.Repository}}' | cut -d/ -f1 | sort | uniq -c | sort -rn
# Ausgehende Ziele, die im Betrieb erreichbar sein muessen
sudo ss -tnp state established | awk '{print $4, $5}' | sort -u | head -30Das Ergebnis ist die ehrlichste Antwort auf die Frage nach der Unabhängigkeit. Jede Zeile ist ein Anbieter, dessen Preis-, Lizenz- oder Verfügbarkeitsentscheidung euch direkt trifft. Erst danach lohnt sich die Diskussion über Alternativen.
Sechs Ebenen, sechs Fragen
| Ebene | Typische Bindung | Ausweg, der wirklich trägt |
|---|---|---|
| Betriebssystem | Supportvertrag, Zertifizierungsmatrix | Zweite Distribution im Betrieb halten, Konfiguration in Ansible statt im Klickpfad |
| Virtualisierung | Lizenzmodell, Managementschicht | KVM-basierte Plattform, VM-Platten in offenen Formaten |
| Daten | Proprietäres Dateiformat, exklusive API | Export in offene Formate, regelmäßig zurückgespielt |
| Identität | Cloudverzeichnis als einziger Anmeldeweg | Eigener Identity-Provider mit OIDC und SAML |
| Verschlüsselung | Schlüssel im Hersteller-KMS | Schlüssel im eigenen Zugriff, LUKS mit eigenem Tang-Server, eigene PKI |
| Betrieb | Wissen liegt beim Dienstleister | Runbooks im eigenen Git, mindestens zwei Personen pro System |