Die Entwicklung zeigt es ganz klar: Wie auch im produzierenden Gewerbe, werden auch in der IT immer mehr Prozesse automatisiert. In unseren Infrastruktur- und Entwicklungsprojekten nutzen wir die Stärken moderner Automatisierungstools, wie z.B. Ansible und Terraform. Was heißt das? Die Installation von Servern erfolgt nicht mehr per Hand; diese Aufgabe übernimmt quasi ein IT-Fertigungsroboter. Wir erstellen Baupläne für die einzelnen Komponenten eines Projektes. Anhand dieser Baupläne arbeiten die Automatisierungstools alle Vorgänge ab.
Deployment- / Konfiguration mit Tools
Infrastructure as Code mit z.B. CDK oder Terraform
AWS Code Pipeline, gitlab-CI
Nutzen der Automatisierung
„Auch für kleine Projekte zeigt die Automatisierung von IT- und Entwicklungsprozessen schnell großen Nutzen. Dank unserer Erfahrung mit modernen Automatisierungstools, können wir hier mittlerweile fast alles sehr schnell automatisieren. Der Aufwand für das Erstellen eines Bauplanes ist nur geringfügig größer als das Installieren einer Komponente per Hand. Das heißt, bereits beim zweiten Einsatz einer Komponente im Projekt lohnt sich die Automatisierung.“
Jannik Winkel
Leiter Development Operations
Ansible oder Terraform sind wichtige Automatisierungstools. Sie sind vergleichbar mit Fertigungsrobotern im produzierenden Gewerbe. Die benötigten Baupläne werden als Textdateien abgespeichert und von den Robotern abgearbeitet. Neben der Automatisierung spielt auch die Containerisierung eine große Rolle. Dank der Containerisierung können einmal gebaute Komponenten in verschiedenen Laufzeitumgebungen betrieben werden. Containerisierung und Automatisierung ergänzen sich damit optimal.
Infrastructure as Code
Mit zunehmender Virtualisierung verschiebt sich der Fokus in der Infrastruktur immer mehr vom klassischen Aufbau hin zu Parametrisierung und Programmierung der IT-Infrastrukturen. Damit einhergehend halten immer mehr Werkzeuge und Methoden aus der Softwareentwicklung Einzug ins System Engineering. Das bedeutet: Baupläne in Script-Form beschreiben mittlerweile alle Infrastrukturkomponenten. Diese Baupläne werden üblicherweise auch in Quellcode-Repositories analog zum Quellcode in der Programmierung abgelegt. Sie unterliegen dann ein und den selben Verwaltungsprozessen. Da Infrastrukturprojekte immer häufiger auch Softwareprojekte sind, können auch die agilen Projektmanagementmethoden und –Werkzeuge (z.B. Scrum Boards) in Infrastrukturprojekten eingesetzt werden. Wir von conventic können so unser Know-How in der Softwareentwicklung auch in Infrastrukturprojekte einbringen. Mit präzise aufeinander abgestimmte Prozesse erzielen wir optimale Ergebnisse, schnell und effizient.
- Wir planen, implementieren, betreiben und warten IT-Infrastrukturen.
- Wir skripten und automatisieren dabei komplexe und umfassende Infrastrukturen als Code.
- Wir übernehmen das Application Management.
Die Aufgabe war anfänglich nicht besonderes konkret. Dem Kunden, einer Versicherung, sollte im Rahmen eines Digitalisierungsprojekts dabei geholfen werden, eine umfassende Infrastruktur mit mehreren sog. Stages und die Prozesse im Bereich von Continuous Integration / Continuous Deployment aufzubauen und während der Entwicklungsphase zu betreuen. Herausgekommen ist eine zu 100% automatisierte Infrastruktur, in der eine neue Stage (ca. 250 Prozessorkerne, 80 Server-Instanzen, rund 500 TB HD (wachsend) in ca. 2 Stunden neu aufgesetzt werden kann, inkl. Netzwerktopologie und Firewall-Setup. Dann haben wir uns gedacht: Wenn Automatisierung, dann richtig. So wird auch jeden Tag die komplette Dokumentation mit allen relevanten Parametern und Informationen stets aktuell generiert. Eingesetzte Technik: Openstack, Docker, Ansible, …
- System-Administratoren werden in Zukunft IT-Roboter programmieren
- Handarbeit wird durch die „elektronische Fertigungsstraße“ ersetzt
- Es gibt keine Aufgaben, die zum Automatisieren „zu klein“ sind
- „Konzern“-IT auch für kleine Unternehmen
- Der (virtuelle) Server wird zur Massenware
These 1: IT-Roboter
Die manuelle Fertigung wird auch in IT-Projekten in Zukunft immer mehr durch Roboter ersetzt. Die Tätigkeit des System-Administrators verlagert sich dabei von der manuellen Installation von Komponenten hin zur Erstellung von Bauplänen, die dann durch Roboter umgesetzt werden. Beispiele von Automatisierungstools sind: Ansible, Puppet, Chef
These 2: Elektronische Fertigungsstraße
In der elektronischen Fertigungsstraße werden verschiedene Softwarekomponenten nacheinander durch IT-Roboter zu einem System assembliert. Beispiele für Endprodukte sind virtuelle Maschinen, Netzwerke, Router und Firewalls. Dadurch, dass monotone manuelle Arbeit von Robotern übernommen wird, kann der Systemadministrator nunZeit, die bislang für Infrastrukturbetrieb aufgewendet werden musste, nun für Innovation nutzen
These 3: Keine Aufgabe zu klein
Automatisierung lohnt sich sehr schnell. Aus unserer Erfahrung ergibt sich, dass die Erstellung von Bauplänen (Skripten) nur unwesentlich länger dauert, als die Komponenten per Hand zu installieren. Die Folge ist, dass der Break-Even bereits bei der zweiten Verwendung einer Komponente erreicht wird. Ein weiterer Vorteil ist, dass die Komponenten einfach in mehreren Projekten wiederverwendet werden können und bereits erfolgreich getestete Komponenten mit wenig Aufwand reproduziert werden können.
These 4: Konzern-IT auch für kleine Unternehmen
Eine Folge der Automatisierung ist, dass auch für kleine Unternehmen viele Dienste mit hoher Qualität bereitgestellt werden können. Das heißt, die IT wird vom individuell gefertigten Produkt zur Massenware und Dienste, die bislang nur in großen Konzernumgebungen realisiert werden konnten, nun auch in kleinen Umgebungen verfügbar sind. Das heißt, Services mit hoher Qualität können nun auch für kleine Unternehmen realisiert werden.
These 5: Server wird Massenware
Automatisierung bedeutet, dass ein hoher Grad der Wiederverwendbarkeit für Softwarekomponenten erreicht werden kann. Die Fertigungskosten sind dabei sehr niedrig, weil der Software-Roboter wiederholbare Tätigkeiten mit geringem intellektuellen Anspruch durchführt. Die Zeit für das Setup von Komponenten sinkt damit gegen Null.