Im Rückblick auf das vergangene Jahr lässt sich erneut feststellen, dass die IT-Industrie“ wieder durch „Buzzwords“ geprägt wurde: Vom überall hörbaren Cloud-Computing über Orchestrierung waren vor allem Themen im Zusammenhang mit

Containerisierung sehr gefragt und immer wieder heiß diskutiert.

Dabei gerät oft die Basis für diese modernen Technologien außer Acht und bei nicht wenigen Modernisierungs-Projekten wird zu spät erkannt, dass die vorhandene IT-Infrastruktur nebst der bestehenden Prozesse als Basis nur sehr eingeschränkt für eben diese tauglich ist.

Zwei Faktoren sind hier häufig anzutreffen: Fehlende Automatisierung von typischen RZ-Prozessen und die Ausprägung von „Silos“ zwischen den einzelnen Infrastruktur-Abteilungen wie Netzwerk, Storage, Virtualisierungsplattform usw. - und ebenso zwischen Software-Entwicklung und RZ-Betrieb.

Bei näherer Betrachtung lässt sich feststellen, dass beide Faktoren sogar einen starken Zusammenhang besitzen:

Unter Automatisierung innerhalb der IT versteht man die Bereitstellung von Standard-Prozessen, die z. B. innerhalb des IT Service-Managements definiert werden, mittels einer Toolchain. Diese deckt alle anstehenden Aufgaben ab, wie z. B. Provisionierung eines neuen Servers auf Basis vorgegebener Rahmenparameter.
Im Open-Source Umfeld stehen hier gleich mehrere Lösungen zur Verfügung, die sowohl als Projekte frei verfügbar als auch in Form von Produkten inkl. Support zu erwerben sind.

Platzhirsch ist hier seit bereits einigen Jahren Puppet, jedoch haben in letzter Zeit Ansible und Saltstack deutlich an Momentum gewonnen. Bei Ansible sei speziell erwähnt, dass seit der Übernahme durch Red Hat an einer tiefen Integration in die Produktlinie des Distributors gearbeitet wird, und seit Anfang Dezember 2017 die Beta-Phase von Satellite 6.3 mit Ansible-Support gestartet wurde.

Allen Lösungen gemein ist die Möglichkeit auf Basis einer deklarativen Sprache sogenannte „Rezepte“ zur Umsetzung eines gewünschten Endzustandes z. B. eines neues Servers oder auch nur eines Dienstes zu erstellen. Diese beinhalten alle konfigurativen Aspekte des Objektes wie z.B. zu installierende Pakete oder die Inhalte der Webserver-Konfiguration. Sehr vorteilhaft ist auch die Verwendung von Templates und Parametern, um auf Basis einer Gruppenzugehörigkeit unterschiedliche Defaults zu provisionieren oder bestimmte Inhalte getrennt von den eigentlichen „Rezepten“ zu halten, wie z.B. sicherheitskritische Teile der Konfiguration.

Eine detaillierte Betrachtung der Automatisierungsmöglichkeiten mit den genannten Tools würde den Rahmen dieses Textes sprengen, ebenso ein Vergleich der genannten Implementierungen. Wichtig ist jedoch, dass eine möglichst durchgehende Automatisierung nur dann Erfolg haben wird, wenn alle Beteiligten zusammenarbeiten und somit auch aktiv daran mitwirken, dass zumindest ein Teil der Regelaufgaben der Systemadministration nicht mehr manuell bzw. individuell durchgeführt wird. Spätestens an dieser Stelle zeigen sich auch die organisatorischen Aspekte des Themas, denen im Vorfeld der Einführung von Automatisierung besonderes Augenmerk gewidmet werden sollte, um von Beginn an alle Beteiligten auf das gemeinsame Ziel zu verpflichten und sprichwörtlich an einen Tisch zu bekommen.

Jedoch geht es bei der Bereitstellung von IT-Ressourcen meist nicht nur um die Konfiguration von Betriebssystemen oder einfacher Dienste, sondern um teils komplexe Anwendungen - bei deren Betrieb durch die gegebene Architektur und die verwendeten Komponenten weitere Spezifika zu berücksichtigen sind.
Daher soll hier auch auf das DevOps-Paradigma verwiesen werden, dessen Gedanken sich auf die bessere Verzahnung von Betrieb- und Entwicklungsaspekten bzw. Abteilungen konzentrieren. Schwerpunkte sind hier zum einen Continuous Integration/Continuous Delivery und damit regelmäßige, sich wiederholende Prozesse für hochfrequente Deployments sowie die Nutzung agiler Methoden.

Zusammenfassend bleibt festzuhalten, dass die erläuterten Tools und Methoden zur Automatisierung ein wichtiger Teil einer zukunftsfähigen IT sein werden und sich der Einsatz dieser meist schon bei überschaubar großen IT-Systemlandschaften lohnt. Bei den großen Zielen der Optimierung hinsichtlich Qualität und Effizienz sollten jedoch nie Sicherheitsaspekte außer Acht bleiben, was bereits unter dem Begriff „DevSecOps“ Einklang gefunden hat.