Aufbau und Nutzen einer DevOps-Infrastruktur
DevOps ist der schnellste und sicherste Weg, um Software-Änderungen, neue Module oder Versionen von CONTACT Elements und den darauf aufbauenden Produkten zu validieren und in die Anwendung zu bringen. Auch Kunden können Zeit, Geld und Nerven sparen, wenn ihre IT kein Update mehr manuell testen und ausrollen muss.
DevOps systematisiert die Zusammenarbeit zwischen Entwicklung und Systemgestaltung (Dev) sowie Betrieb (Ops) durch ein standardisiertes Vorgehen beim Ausrollen einer Software oder neuen Software-Ständen. Die einzelnen Arbeitsschritte sind weitgehend automatisiert und machen das Management und den Transport von Änderungen zwischen Entwicklungs-, Test- und Produktionsumgebungen deutlich einfacher und verlässlicher. Wie der Prozess abläuft und welche Tools dabei zum Einsatz kommen, beschreiben wir in diesem Beitrag.
Kontinuierliche Buchführung & Qualitätssicherung
Ein Versionskontrollsystem für Software gewährleistet einen professionellen Betrieb von CONTACT Elements und anderen IT-Lösungen. Das SCM-System (Software Configuration Management oder Source Code Management) führt Buch über jede Änderung an Entwicklungsständen und organisiert die Zusammenarbeit aller Beteiligten. Bei CONTACT und in vielen Kundenprojekten wird dafür git eingesetzt; grundsätzlich ist jedes SCM-System geeignet.
Auf Grundlage der Versionsverwaltung wird eine automatische, kontinuierliche Absicherung (Continuous Integration) aufgebaut: Ein CI-System beobachtet die Änderungen im SCM-System und führt für jede eingebrachte Änderung vorgegebene Schritte aus. Automatische Tests sollten auf jeden Fall dazugehören, empfehlenswert sind zudem weitere Analysen.
CONTACT führt in der Entwicklung Analysen zur Code-Qualität, Komplexitätsmessungen, Scans auf mögliche Programmierfehler oder Sicherheitsprobleme und vieles mehr durch. In Kundenprojekten liegt der Schwerpunkt auf dem automatischen Testen. Jede eingebrachte Änderung kann so systematisch bewertet und - falls nötig - zeitnah korrigiert werden.
Das CI-System automatisiert zudem die Bereitstellung von Testumgebungen (Review Deployments) für Änderungen oder Entwicklungszweige (Branches). Dies ist besonders in größeren Projekten mit vielen gleichzeitig stattfindenden Aktivitäten relevant. So lassen sich Kennzahlen wie beispielsweise die Testabdeckung oder Qualitätstrends aus den Resultaten der CI-Pipelines ableiten, während bei einer nur manuell gepflegten Testumgebung die einzelnen Änderungen nicht separat bewertet werden können.
Der DevOps-Prozess bietet noch einen weiteren wesentlichen Vorteil: Sobald ein neuer Software-Stand freigegeben ist, wird er vollautomatisch in eine Produktionsumgebung oder eine vorgeschaltete QA-Instanz beim Kunden überführt (Continuous Deployment).
Fazit
Die Vorzüge einer solchen Vorgehensweise liegen auf der Hand: DevOps beschleunigt die Inbetriebnahme neuer Software(stände) deutlich und stellt gleichzeitig eine hohe Qualität jeder Änderung sicher, die Projektbeteiligte und Key-User zudem einfacher prüfen können. Große Änderungen in der IT-Umgebung eines Unternehmens müssen nicht mehr über Monate vorbereitet werden, Durchlaufzeiten reduzieren sich auf Wochen, Tage oder sogar Stunden und Verbesserungen werden kontinuierlich ausgerollt. Die Anwender:innen werden es Ihnen danken!
Nicht zuletzt erzwingt die Automatisierung nach dem DevOps-Prinzip die eindeutige und „programmierte“ Beschreibung aller Vorgänge bis zum Produktionssystem. Bei einer Ransomware-Attacke, einem Brand oder anderen Krisenfällen ist die automatische Wiederherstellung einer zentralen Unternehmensanwendung von unschätzbarem Wert. Denn der Aufwand, der in einer über Jahre manuell aufgebauten Infrastruktur steckt, ist enorm und wird in der Regel völlig unterschätzt. DevOps und Automatisierung sind besonders unter diesem Aspekt strategische Fähigkeiten einer IT-Organisation.
CONTACT verfügt über umfassende DevOps-Erfahrungen, die wir in die IT-Projekte der Unternehmen einbringen können, damit neue oder weiterentwickelte Software schneller von der internen Testumgebung ins Produktivsystem kommt. Unsere Cloud-Kunden profitieren ohne Mehraufwand von einer vordefinierten DevOps-Infrastruktur, mit der sie die Vorteile dieser Vorgehensweise einfach nutzen können.
Ihr Ansprechpartner