Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Entwicklung
Während der Aufbauphase einer DevOps Strategie bauen Sie die technische Infrastruktur auf und fördern einen kulturellen Wandel hin zu Zusammenarbeit, Automatisierung und kontinuierlicher Verbesserung. Diese entscheidende Phase beinhaltet die praktische Orchestrierung von Tools und Pipelines. Sie umfasst Folgendes:
-
Einrichtung von Toolchains DevOps
-
Aufbau von Verbindungen
-
Erstellung von Pipelines, die die Codeentwicklung bis zur Anwendungsbereitstellung leiten
Dazu gehört nicht nur der technische Aspekt der Softwareentwicklung, sondern auch die Verlagerung der Entwicklungskultur hin zu Zusammenarbeit, Automatisierung und kontinuierlicher Verbesserung. Durch die Einhaltung der Prinzipien der kontinuierlichen Integration und kontinuierlichen Bereitstellung (CI/CD) zielt die Entwicklungsphase darauf ab, den Entwicklungs- und Bereitstellungsprozess zu rationalisieren, die Softwarequalität zu verbessern und die Bereitstellung modernisierter Mainframe-Anwendungen zu beschleunigen. AWS
Das folgende Diagramm stellt die verschiedenen Phasen einer Bereitstellungspipeline dar. Jede Phase enthält die erforderlichen und empfohlenen Schritte, die im Rahmen einer modernisierten Bereitstellung von Mainframe-Workloads implementiert werden müssen.

Die Pipeline zur Bereitstellung modernisierter Mainframe-Workloads umfasst die folgenden Phasen:
-
Quellphase — Erforderliche Schritte sind Konfiguration, Abhängigkeitsmanifeste, statische Ressourcen, Infrastrukturquelle, Testquelle und Anwendungsquelle. Der empfohlene Schritt ist die Datenbankquelle.
-
Erstellungsphase — Erforderliche Schritte sind Paketartefakte, statische Anwendungssicherheitstests, Erkennung von Geheimnissen, Codequalität, Komponententests und Build-Code. Zu den empfohlenen Schritten gehören die Analyse der Softwareliste und die Analyse der Softwarekomposition.
-
Testphase (Beta) — Erforderliche Schritte sind Akzeptanztests und Integrationstests. Zu den empfohlenen Schritten gehören die Bereitstellung von Software, die Bereitstellung der Datenbank und die Startumgebung.
-
Testphase (Gamma) — Erforderliche Schritte sind synthetischer Test, Überwachung und Protokollierung, Softwarebereitstellung und Startumgebung. Zu den empfohlenen Schritten gehören dynamische Anwendungssicherheitstests (DAST), Resilienztests, Leistungstests und die Bereitstellung der Datenbank.
-
Produktionsphase — Erforderliche Schritte sind synthetische Tests und schrittweise Bereitstellung. Zu den empfohlenen Schritten gehören die Bereitstellung der Datenbank und die manuelle Genehmigung.
Kontinuierliche Integration
Kontinuierliche Integration (CI) ist eine Softwareentwicklungspraxis, bei der Entwickler regelmäßig kleine Änderungen am Code vornehmen und diese in einen veröffentlichbaren Zweig des Code-Repositorys integrieren. Der neu integrierte Code wird eigenständig auf konsistente und wiederholbare Weise erstellt, getestet und validiert. CI ermöglicht es Entwicklern, schnell Feedback zu erhalten, potenzielle Probleme in den frühen Phasen des Entwicklungszyklus zu identifizieren und diese zu beheben, bevor sie an Komplexität und Kosten eskalieren.
Kontinuierliche Integration kann den Mainframe-Modernisierungsprozess auf AWS erheblich beschleunigen und rationalisieren. Die CI-Prinzipien gelten für die folgenden Bereiche:
-
Häufige Codeintegration — In einer CI-Pipeline werden Codeänderungen häufig, oft mehrmals täglich, in ein gemeinsam genutztes Repository integriert. Dies fördert die Zusammenarbeit und stellt sicher, dass das gesamte Entwicklungsteam mit der größtmöglichen up-to-date Codebasis arbeitet. CI kann auch dabei helfen, Codeänderungen zu verwalten und den Verlauf der Änderungen nachzuverfolgen. Git-basierte Tools wie AWS CodeCommit GitLab, und GitHub können bei der häufigen Codeintegration und Zusammenarbeit helfen. Der Code aus diesen Git-Repositorys kann über Konnektoren wie den Git-Konnektor für OpenText Changeman
ZMF wieder mit dem Mainframe synchronisiert werden. -
Automatisiertes Testen — CI fördert die Erstellung automatisierter Testsuiten für Mainframe-Anwendungen. Dadurch wird sichergestellt, dass Code, wenn er für die Cloud überarbeitet wird, funktionsfähig und fehlerfrei bleibt. Automatisierte Tests können Komponententests und Integrationstests umfassen. Mainframe-Anwendungen können mithilfe von Frameworks wie ZUnit
Unit-Tests getestet werden. -
Früherkennung von Problemen — Durch die Ausführung automatisierter Tests und statischer Code-Analysetools bei jeder Codeübertragung können CI-Systeme Probleme schnell erkennen und kennzeichnen. Dies hilft Entwicklungsteams, Probleme früh im Entwicklungszyklus zu lösen und so das Risiko größerer Rückschläge bei der Migration zu verringern. Tools wie SonarQube Veracode können bei der Früherkennung von Problemen und der Codequalität sowohl für Mainframe-COBOL als auch für modernisierten Java-Code helfen.
-
Schnelles Feedback — CI-Systeme geben Entwicklern schnelles Feedback über die Qualität ihres Codes, was zu einer kontinuierlichen Verbesserung des Modernisierungsprozesses führen kann.
Fortlaufende Lieferung
Continuous Delivery (CD) erfolgt nach Continuous Integration (CI). Bei CD werden Codeänderungen, die die Build-Validierung bestehen, automatisch und mit minimalem menschlichem Eingreifen in andere Umgebungen, einschließlich der Produktionsumgebung, implementiert. CD trägt dazu bei, dass neue Funktionen, Korrekturen und Verbesserungen schnell und zuverlässig bereitgestellt werden. CD reduziert die Vorlaufzeiten und verbessert die Gesamteffizienz des Bereitstellungsprozesses. Wenn Sie den Bereitstellungsprozess mithilfe von CD automatisieren, übernimmt das System den zeitaufwändigen und fehleranfälligen Prozess der Implementierung von Änderungen in verschiedenen Umgebungen, während sich die Teams auf die Entwicklung und Verfeinerung des Codes konzentrieren.
CD erleichtert den Übergang von modernisierten Mainframe-Anwendungen zu, AWS indem der Bereitstellungsprozess automatisiert wird. Die CD-Prinzipien gelten für die folgenden Bereiche:
-
Automatisierte Bereitstellungen — Um manuelle Eingriffe und das Risiko menschlicher Fehler während des Migrationsprozesses zu reduzieren, automatisiert CD die Bereitstellung von Codeänderungen in Zielumgebungen. Tools wie AWS CodeDeploy Jenkins und IBM Urban CodeDeploy können bei der schrittweisen Bereitstellung von Artefakten in verschiedenen Umgebungen (z. B. Dev, Test, Prod) helfen.
-
Kontinuierliche Bereitstellung — Der Unterschied zwischen Continuous Delivery und Continuous Deployment besteht darin, dass die Aktualisierung für die Produktion manuell genehmigt wurde. Bei der kontinuierlichen Bereitstellung erfolgt die Produktion automatisch ohne ausdrückliche Genehmigung.
-
Schnelle Feedback-Schleife — Automatisierte Bereitstellungen bieten schnelles Feedback darüber, ob Codeänderungen einsatzbereit sind. Diese Feedback-Schleife stellt sicher, dass nur gründlich getesteter und validierter Code bereitgestellt wird.
-
Häufige Release-Zyklen — Durch den Einsatz von CD kann Ihr Unternehmen häufiger neue Funktionen, Verbesserungen und modernisierten Code veröffentlichen. Diese Flexibilität hilft Unternehmen, sich an sich ändernde Anforderungen anzupassen und wettbewerbsfähig zu bleiben.
-
Rollback-Funktionen — CD-Pipelines sollten Rollback-Mechanismen beinhalten. Bei Problemen oder unerwartetem Verhalten in der AWS Umgebung können Teams die Mechanismen nutzen, um zu einer früheren Version einer Anwendung zurückzukehren.
-
Infrastruktur als Code — CD kann mit Infrastructure-as-Code-Tools (IaC) wie AWS CloudFormation HashiCorp Terraform kombiniert werden, um die Infrastruktur konsistent zu definieren und bereitzustellen. Durch die konsistente Bereitstellung wird sichergestellt, dass die AWS Umgebung der erforderlichen Konfiguration entspricht.