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.