Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Danksagung
15
Einleitung
17
1 Einführung in DevOps
27
1.1 Was ist DevOps?
27
1.1.1 Probleme mit DevOps lösen
28
1.1.2 Definition von DevOps
30
1.1.3 Vier Prinzipien von DevOps
31
1.1.4 Die wichtigsten Vorteile von DevOps
32
1.2 Kontinuierliche Integration und Auslieferung
33
1.3 Wie funktioniert DevOps?
36
1.3.1 Planungsphase
36
1.3.2 Entwicklungsphase
37
1.3.3 Build-Phase
38
1.3.4 Testphase
38
1.3.5 Freigabephase
39
1.3.6 Bereitstellungsphase
39
1.3.7 Betriebsphase
40
1.3.8 Überwachungsphase
41
1.3.9 Leitlinien für DevOps
42
1.4 Historie von DevOps
42
1.5 Mythen und Missverständnisse über DevOps
43
1.6 Wer braucht DevOps?
45
1.7 DevOps-Kultur
48
1.8 Herausforderungen bei der Implementierung von DevOps
50
1.8.1 Tools und Services
50
1.8.2 Kulturwandel
52
1.8.3 Fehlende Vision und Unterstützung durch das Topmanagement
53
1.8.4 Zu starker Fokus auf Technologien
55
1.9 Zusammenfassung
57
2 DevOps-Tools
59
2.1 Tools zur Code- und Versionskontrolle
59
2.1.1 Git
60
2.1.2 GitHub
63
2.2 Build-Tools
65
2.2.1 Maven
65
2.2.2 Chef
68
2.2.3 Jenkins
69
2.3 Testautomatisierungstools
72
2.3.1 Selenium
74
2.3.2 JUnit
77
2.3.3 SonarQube
80
2.3.4 Jenkins
83
2.4 Bereitstellungstools
84
2.4.1 Docker
85
2.4.2 Kubernetes
91
2.4.3 Jenkins
94
2.4.4 GitLab
95
2.4.5 Chef
96
2.5 Überwachungstools
97
2.5.1 Dynatrace
98
2.5.2 Grafana
99
2.5.3 Splunk
101
2.6 DevOps-Portfolio von SAP
102
2.6.1 In SAP S/4HANA angebotene DevOps-Tools
102
2.6.2 DevOps-Tools in der SAP Business Technology Platform
105
2.7 Zusammenfassung
107
3 DevOps für SAP-On-Premise-Systeme
109
3.1 Einführung in DevOps in SAP S/4HANA
109
3.1.1 DevOps-Funktionen in SAP S/4HANA
110
3.1.2 Entwicklung des Change and Transport Systems
113
3.2 abapGit
117
3.2.1 Einführung
118
3.2.2 Installation
118
3.2.3 Konfiguration
122
3.2.4 Implementierung eines Beispielprojekts
129
3.2.5 Entwicklungsrichtlinien und Best Practices
130
3.3 Change and Transport System
136
3.3.1 Einführung
136
3.3.2 Konfiguration
140
3.3.3 Durchführung eines Beispielprojekts
145
3.4 Verbessertes Change and Transport System
145
3.4.1 Einführung
146
3.4.2 Konfiguration
147
3.4.3 Durchführung eines Beispielprojekts
149
3.4.4 Integration mit SAP Solution Manager
149
3.5 Zentrales Change and Transport System
150
3.5.1 Einführung
150
3.5.2 Konfiguration
152
3.5.3 Durchführung eines Beispielprojekts
154
3.5.4 Integration mit SAP Solution Manager
155
3.6 Kontinuierliche Integration für ABAP On-premise mit Git-fähigem CTS
155
3.6.1 Einführung
156
3.6.2 Konfiguration
156
3.6.3 Einrichtung und Durchführung
157
3.6.4 Erstellung eines GitHub-Repositorys
157
3.6.5 Authentifizierung in gCTS
158
3.6.6 Integration mit der ABAP Workbench
158
3.6.7 Integration mit dem Change Request Management
159
3.7 SAP HANA Transport für ABAP
159
3.8 Kontinuierliches Testen in ABAP
162
3.8.1 Einführung
162
3.8.2 Unit-Testen mit GitHub-Actions
166
3.8.3 SAP Solution Manager Test Suite und Focused Build für Tests
169
3.9 ABAP-Pipeline für kontinuierliche Integration und Auslieferung
171
3.9.1 SAP Continuous Integration and Delivery
171
3.9.2 SAP Solution Manager
171
3.9.3 Projekt »Piper«
172
3.9.4 ABAP Development Tools für Eclipse
176
3.9.5 Tools von Drittanbietern
176
3.10 End-to-End-DevOps-Szenario für SAP S/4HANA
176
3.10.1 Planungsphase
177
3.10.2 Entwicklungs-, Build- und Testphasen
178
3.10.3 Freigabe- und Bereitstellungsphasen
179
3.10.4 Betriebs- und Überwachungsphasen
180
3.11 Zusammenfassung
180
4 DevOps mit SAP Business Technology Platform
181
4.1 DevOps-Portfolio von SAP BTP
181
4.2 Services für die Planungsphase
184
4.2.1 SAP-BTP-Landschaftseinrichtung
185
4.2.2 Best Practices und Leitlinien für die Planungsphase
187
4.2.3 Kontinuierliche Integration und Auslieferung in SAP BTP
188
4.2.4 Konfigurieren und Ausführen einer CI/CD-Pipeline für ein SAP-Fiori-Projekt
194
4.2.5 Konfigurieren und Ausführen einer CI/CD-Pipeline für ein SAP-Cloud-Application-Programming-Model-Projekt
209
4.2.6 Konfigurieren und Ausführen einer CI/CD-Pipeline mit dem Projekt »Piper«
212
4.2.7 Die Auswahl der richtigen CI/CD-Lösung von SAP
215
4.3 Services für die Entwicklungs-, Build- und Testphasen
216
4.3.1 SAP-BTP-Entwicklungsumgebung und -Programmiermodelle
217
4.3.2 SAP Business Application Studio
218
4.3.3 SAP Cloud Application Programming Model
224
4.3.4 Multitarget Application
226
4.3.5 SAP Cloud SDK
230
4.4 Services für die Freigabe- und Bereitstellungsphasen
231
4.4.1 Continuous Delivery
231
4.4.2 SAP Cloud Transport Management
232
4.5 Services für die Betriebs- und Überwachungsphasen
238
4.5.1 SAP-Alert-Notification-Service für SAP BTP
239
4.5.2 SAP Automation Pilot
241
4.6 Ein End-to-End-DevOps-Szenario für Cloud-Landschaften mit SAP BTP
242
4.6.1 Planungsphase
243
4.6.2 Entwicklungs-, Build- und Testphase
244
4.6.3 Freigabe- und Bereitstellungsphasen
245
4.6.4 Betriebs- und Überwachungsphasen
246
4.7 Zusammenfassung
246
5 DevOps für SAP BTP, ABAP-Umgebung
247
5.1 Einführung in SAP BTP, ABAP-Umgebung
248
5.1.1 Was ist SAP BTP, ABAP-Umgebung?
248
5.1.2 Entwicklung von ABAP
250
5.1.3 Notwendigkeit einer ABAP-Umgebung in SAP BTP
252
5.1.4 Vorteile der ABAP-Umgebung in SAP BTP
253
5.2 Tools für die kontinuierliche Integration und Auslieferung in SAP BTP, ABAP-Umgebung
253
5.2.1 Git-Codeverwaltung
254
5.2.2 APIs
255
5.2.3 ABAP-Umgebungspipeline
256
5.2.4 Jenkins und Projekt »Piper«
261
5.3 Entwicklung von Anwendungen mit SAP Business Application Studio
267
5.3.1 ABAP RESTful Application Programming Model
268
5.3.2 ABAP Development Tools für die ABAP-Umgebung
271
5.3.3 SAP Business Application Studio
272
5.4 SAP Cloud ALM für das Testmanagement
278
5.4.1 Produktübersicht
278
5.4.2 Testmanagement-Funktion von SAP Cloud ALM
280
5.5 SAP Cloud Transport Management für SAP BTP, ABAP-Umgebung
287
5.5.1 Konfiguration für den Transportexport
287
5.5.2 Konfiguration für den Transportimport
289
5.6 Zusammenfassung
290
6 DevOps für hybride SAP-Systeme
291
6.1 Einführung in das hybride Änderungsmanagement
292
6.1.1 Intelligente Unternehmen mit SAP
292
6.1.2 Hybride SAP-Systeme
294
6.1.3 Hybrides Änderungsmanagement
297
6.2 Verfügbare Tools und ihr Zweck
299
6.2.1 Kontinuierliche Integration und Auslieferung
300
6.2.2 Projekt »Piper«
302
6.2.3 SAP Cloud Transport Management
305
6.2.4 Verbessertes Change and Transport System
306
6.2.5 Application Lifecycle Management
306
6.3 Tool-Integration beim Änderungsmanagement in hybriden Szenarien
313
6.3.1 SAP Cloud Transport Management mit CTS+ und SAP Solution Manager integrieren
313
6.3.2 SAP Cloud ALM mit externen Vorfallsystemen integrieren
319
6.4 Kontinuierliche Entwicklung
322
6.4.1 Entwicklung
322
6.4.2 Testmanagement
323
6.4.3 Freigabemanagement
325
6.5 Betriebsüberwachung mit SAP Solution Manager
326
6.5.1 Integrationsüberwachung
326
6.5.2 Jobmanagement
328
6.5.3 Ausnahmemanagement
329
6.5.4 Datenkonsistenzmanagement
330
6.5.5 Geschäftsprozessüberwachung
332
6.5.6 Nutzererlebnisüberwachung
333
6.6 DevOps für SAP Data Intelligence
334
6.6.1 Überblick über die Lösung
334
6.6.2 Kontinuierliche Integration und Auslieferung
335
6.6.3 Interner Transport
339
6.6.4 Überwachung
339
6.7 End-to-End-DevOps-Szenario für eine hybride Landschaft
340
6.7.1 Planungsphase
341
6.7.2 Entwicklungs-, Build- und Testphasen
342
6.7.3 Freigabe- und Bereitstellungsphasen
342
6.7.4 Betriebs- und Überwachungsphasen
343
6.8 Zusammenfassung
344
7 Best Practices
345
7.1 Kontinuierliche Integration und kontinuierliche Auslieferung
346
7.1.1 Kontinuierliche Integration
346
7.1.2 Kontinuierliche Auslieferung
352
7.2 Microservices
358
7.3 Infrastructure as Code
360
7.4 Überwachung und Protokollierung
362
7.5 Kommunikation und Zusammenarbeit
363
7.6 Fail-Fast
364
7.7 Zusammenfassung
366
8 Sicherheit
367
8.1 Gängige Sicherheit-Tools und -Konzepte
368
8.2 Sicherheitsbezogene Codeanalysen
370
8.2.1 Manuelle Techniken zur sicherheitsbezogenen Codeanalyse
370
8.2.2 ABAP-bezogene Scans
374
8.2.3 Java-bezogene Scans
379
8.2.4 SAP-Fiori-bezogene Scans
389
8.3 Automatisierte Sicherheitstests
397
8.4 Überwachung von Sicherheitslücken
399
8.4.1 Scannen auf Schwachstellen
399
8.4.2 Kontinuierliche Überwachung
401
8.4.3 Best Practices
402
8.5 Implementierung
403
8.6 Zusammenfassung
404
9 Ausblick
405
9.1 Aufkommende DevOps-Technologien
405
9.1.1 SAP Build
406
9.1.2 Code-Inspector
407
9.1.3 SAP Focused Run
407
9.1.4 Cloud-basierte Technologien
408
9.2 DevOps für SAP BTP, Kyma-Laufzeit
410
9.3 Zukünftige Richtungen von DevOps in SAP
410
9.3.1 Künstliche Intelligenz für den IT-Betrieb
411
9.3.2 No Operations
411
9.3.3 GitOps
412
9.3.4 DevSecOps
412
9.3.5 Low-Code/No-Code
413
9.3.6 Die Rolle der Cloud-Einführung bei DevOps
413
9.4 Die ersten Schritte auf Ihrer DevOps-Reise
414
9.5 Wie man auf dem Laufenden bleibt
415
9.6 Zusammenfassung
418
Die Autoren
419
Index
421