Loading...

GitOps, SRE, DevOps - A Look Back and into the Future

3. Mai 2024
2 Minuten Lesezeit
Beitrag teilen:

Hi,

Vor zehn Jahren hantierten die meisten Unternehmen noch mit manuell verwalteten Infrastrukturen herum. Heute finden sich noch viele Mittelständler in derselben Lage. Doch das hat seinen Preis – und den spüre ich gerade.

Die Geister der Unterschiede

Es ist erstaunlich, wie oft wir Geistern hinterherjagen, einfach weil sich unsere Umgebungen unterscheiden. Das reicht von offensichtlichen Dingen wie verfügbarer CPU oder RAM bis hin zu subtileren Problemen wie unterschiedlichen Kernel-Versionen oder Konfigurationsunterschieden in den Applikationen. Besonders knifflig wird es mit externen Application Servern, wo Konfigurationsdateien über das gesamte System verteilt sind und leicht auseinanderdriften können.

  • Unterschiedliche Berechtigungen auf dem Dateisystem
  • Namensunterschiede und Rechte der Benutzer
  • Variable Sudoers-Rechte

All diese Nuancen machen die Jagd nach scheinbaren Problemen zur Realität.

Die Herausforderung der Harmonie

Gerade erst ist es mir passiert: Wir haben ein Problem auf Production identifiziert und behoben. Doch beim Validieren des Fixes auf unserer Testplattform stießen wir auf einen Unterschied in der Konfiguration, der uns mehrere Tage kostete. Diese Diskrepanzen fallen nicht immer sofort auf.

Die Lösung liegt in der Harmonisierung der Umgebungen. Dafür brauchen wir eine mehrschichtige Strategie:

  • Hypervisor-Provisioner: Für konsistente VM-Ressourcen in allen Umgebungen, zum Beispiel Terraform.
  • Configuration-Management: Um Programme in gleichen Versionen zu installieren und Ordner mit identischen Berechtigungen zu haben, zum Beispiel Ansible, Puppet oder Chef.
  • Containerisierung: Zur Sicherstellung einer einheitlichen Anwendungskonfiguration, wobei Docker die bekannteste Anwendung ist.

Wenn wir all diese Konfigurationen in einem VCS wie Git speichern, können wir Änderungen nachverfolgen, automatisch auditieren und die Kompatibilität unserer Software sicherstellen. GitOps ist hier das Stichwort.

Ein Schritt nach dem anderen

Die Integration dieser Änderungen in ein bestehendes Projekt ist nicht einfach, aber auch nicht unmöglich. Es muss nicht alles auf einmal umgesetzt werden. Wenn du noch keine harmonisierten Testumgebungen hast, liegt eine große Optimierungsmöglichkeit vor dir. Jeder Schritt in Richtung einer einheitlichen Infrastruktur wird dich weiterbringen.

Rule the Backend,

~ Marcus

Top