Zum Inhalt

Automatisierungstools

Automatisierung hilft Dir, wiederkehrende Aufgaben reproduzierbar auszuführen. Die folgenden Werkzeuge lösen unterschiedliche Aufgaben: Ein Shell-Skript führt Befehle aus, eine Konfigurationsverwaltung beschreibt einen gewünschten Zustand und eine Containerplattform betreibt Anwendungen.

Werkzeuge nach Aufgabe

Werkzeug Aufgabe
Bash-Skripte Befehle und Prüfungen zu wiederholbaren Abläufen verbinden
Ansible Systeme konfigurieren und Abläufe über mehrere Rechner ausführen
Chef Systemkonfigurationen als Code beschreiben und verwalten
Puppet Gewünschte Konfigurationszustände definieren und durchsetzen
Salt Konfigurationsverwaltung und Ausführung von Aufgaben auf entfernten Systemen
Jenkins Build-, Test- und Bereitstellungsabläufe automatisieren
cron Befehle nach einem Zeitplan ausführen
systemd-Timer Aufgaben über Timer- und Service-Units auslösen
Docker Containerabbilder erstellen und Anwendungen in Containern ausführen
Kubernetes Containeranwendungen über mehrere Rechner orchestrieren
Make Aufgaben anhand von Regeln und Abhängigkeiten ausführen, beispielsweise beim Software-Build
Vagrant Entwicklungsumgebungen über unterstützte Provider beschreiben und verwalten
Terraform Infrastrukturressourcen über Provider deklarativ verwalten

Mit kleinen Aufgaben beginnen

Wähle zuerst einen überschaubaren Ablauf, beispielsweise das Abfragen des freien Speicherplatzes. Prüfe die Befehle einzeln und fasse sie anschließend in einem Skript zusammen. Dokumentiere Eingaben, benötigte Rechte und die Bedeutung möglicher Fehlerausgaben.

Ein zeitgesteuerter Aufruf ersetzt keine Fehlerbehandlung: Halte fest, wie Du fehlgeschlagene Durchläufe bemerkst und ob ein erneuter Aufruf gefahrlos möglich ist. Für größere Projekte kann es sinnvoll sein, Skripte und Konfigurationen in einer Versionsverwaltung zu pflegen.

Verknüpfte Grundlagen findest Du unter Shell-Befehle, systemd und Virtualisierung.