Table of Contents

Open all
Close all
Acknowledgments
15
Preface
17
Target Audience
18
Objective of This Book
18
Scope of This Book
19
How to Read This Book
23
1 Introduction to DevOps
27
1.1 What Is DevOps?
27
1.1.1 Solving Problems Using DevOps
28
1.1.2 Definition of DevOps
30
1.1.3 Four Principles of DevOps
30
1.1.4 Key Benefits of DevOps
32
1.2 Continuous Integration and Delivery
33
1.3 How Does DevOps Work?
35
1.3.1 Plan Phase
36
1.3.2 Develop Phase
36
1.3.3 Build Phase
37
1.3.4 Test Phase
37
1.3.5 Release Phase
38
1.3.6 Deploy Phase
38
1.3.7 Operate Phase
38
1.3.8 Monitor Phase
39
1.3.9 Guidelines for DevOps
40
1.4 History: The Evolution of DevOps
41
1.5 Myths and Misconceptions about DevOps
41
1.6 Who Needs DevOps?
43
1.7 DevOps Culture
45
1.8 Challenges in Implementing DevOps
47
1.8.1 Tools and Services
48
1.8.2 Culture Shift
49
1.8.3 Lack of Vision and Support from Top Management
50
1.8.4 Too Much Focus on Technologies
52
1.9 Summary
53
2 DevOps Tools
55
2.1 Code and Version Control Tools
55
2.1.1 Git
56
2.1.2 GitHub
59
2.2 Build Tools
60
2.2.1 Maven
61
2.2.2 Chef
63
2.2.3 Jenkins
64
2.3 Test Automation Tools
67
2.3.1 Selenium
68
2.3.2 JUnit
71
2.3.3 SonarQube
73
2.3.4 Jenkins
75
2.4 Deployment Tools
76
2.4.1 Docker
77
2.4.2 Kubernetes
83
2.4.3 Jenkins
85
2.4.4 GitLab
85
2.4.5 Chef
87
2.5 Monitoring Tools
88
2.5.1 Dynatrace
88
2.5.2 Grafana
89
2.5.3 Splunk
91
2.6 SAP’s DevOps Portfolio
92
2.6.1 DevOps Tools Offered in SAP S/4HANA
92
2.6.2 DevOps Tools Offered in SAP Business Technology Platform
94
2.7 Summary
96
3 DevOps for On-Premise SAP Systems
97
3.1 Introduction to DevOps in SAP S/4HANA
97
3.1.1 DevOps Features in SAP S/4HANA
98
3.1.2 Evolution of Change and Transport System
100
3.2 abapGit
104
3.2.1 Introduction
104
3.2.2 Installation
105
3.2.3 Configuration
109
3.2.4 Implementation of a Sample Project
115
3.2.5 Development Guidelines and Best Practices
116
3.3 Change and Transport System
121
3.3.1 Introduction
121
3.3.2 Configuration
125
3.3.3 Implementation of a Sample Project
130
3.4 Enhanced Change and Transport System
130
3.4.1 Introduction
131
3.4.2 Configuration
131
3.4.3 Implementation of a Sample Project
133
3.4.4 Integration with SAP Solution Manager
134
3.5 Central Change and Transport System
134
3.5.1 Introduction
134
3.5.2 Configuration
136
3.5.3 Implementation of a Sample Project
137
3.5.4 Integration with SAP Solution Manager
139
3.6 Continuous Integration for ABAP On-Premise with Git-Enabled CTS
139
3.6.1 Introduction
139
3.6.2 Configuration
140
3.6.3 Setup and Implementation
141
3.6.4 GitHub Repository Creation
141
3.6.5 Authentication in gCTS
141
3.6.6 Integration with ABAP Workbench
142
3.6.7 Integration with Change Request Management
142
3.7 SAP HANA Transport for ABAP
143
3.8 Continuous Testing in ABAP
145
3.8.1 Introduction
145
3.8.2 Unit Testing with GitHub Actions
149
3.8.3 SAP Solution Manager Test Suite and Focused Build for Testing
151
3.9 ABAP Continuous Integration and Delivery Pipeline
153
3.9.1 SAP Continuous Integration and Delivery
153
3.9.2 SAP Solution Manager
154
3.9.3 Project “Piper”
154
3.9.4 ABAP Development Tools for Eclipse
158
3.9.5 Third-Party Tools
158
3.10 End-to-End DevOps Scenario for SAP S/4HANA
158
3.10.1 Planning Phase
159
3.10.2 Develop, Build, and Test Phases
160
3.10.3 Release and Deploy Phases
161
3.10.4 Operate and Monitor Phases
161
3.11 Summary
162
4 DevOps with SAP Business Technology Platform
163
4.1 SAP BTP DevOps Portfolio
163
4.2 Services for the Planning Phase
166
4.2.1 SAP BTP Landscape Setup
167
4.2.2 Best Practices and Guidelines for Planning Phase
169
4.2.3 Continuous Integration and Delivery in SAP BTP
170
4.2.4 Configure and Run a CI/CD Pipeline for an SAP Fiori Project
175
4.2.5 Configure and Run a CI/CD Pipeline for an SAP Cloud Application Programming Model Project
189
4.2.6 Configure and Run a CI/CD Pipeline Using Project “Piper”
193
4.2.7 Choosing the Right CI/CD Solution from SAP
195
4.3 Services for the Develop, Build, and Test Phases
196
4.3.1 SAP BTP Development Environment and Programming Models
197
4.3.2 SAP Business Application Studio
198
4.3.3 SAP Cloud Application Programming Model
204
4.3.4 Multitarget Application
206
4.3.5 SAP Cloud SDK
209
4.4 Services for the Release and Deploy Phases
210
4.4.1 Continuous Delivery
210
4.4.2 SAP Cloud Transport Management
211
4.5 Services for the Operate and Monitor Phases
217
4.5.1 SAP Alert Notification Service for SAP BTP
218
4.5.2 SAP Automation Pilot
219
4.6 An End-to-End DevOps Scenario for Cloud Landscapes with SAP BTP
221
4.6.1 Planning Phase
221
4.6.2 Develop, Build, and Test Phases
223
4.6.3 Release and Deploy Phases
224
4.6.4 Operate and Monitor Phases
224
4.7 Summary
224
5 DevOps for SAP BTP, ABAP Environment
225
5.1 Introduction to SAP BTP, ABAP Environment
226
5.1.1 What Is SAP BTP, ABAP Environment?
226
5.1.2 Evolution of ABAP
228
5.1.3 Need for ABAP Environment in SAP BTP
229
5.1.4 Benefits of ABAP Environment in SAP BTP
230
5.2 Continuous Integration and Continuous Delivery Tools in SAP BTP, ABAP Environment
230
5.2.1 Git Code Management
231
5.2.2 APIs
232
5.2.3 ABAP Environment Pipeline
232
5.2.4 Jenkins and Project “Piper”
237
5.3 Developing Applications with SAP Business Application Studio
243
5.3.1 ABAP RESTful Application Programming Model
243
5.3.2 ABAP Development Tools for ABAP Environment
246
5.3.3 SAP Business Application Studio
247
5.4 SAP Cloud ALM for Test Management
253
5.4.1 Product Overview
253
5.4.2 Test Management Feature of SAP Cloud ALM
254
5.5 SAP Cloud Transport Management for SAP BTP, ABAP Environment
261
5.5.1 Configuration for Transport Export
261
5.5.2 Configuration for Transport Import
263
5.6 Summary
263
6 DevOps for Hybrid SAP Systems
265
6.1 Introduction to Hybrid Change Management
265
6.1.1 Intelligent Enterprise with SAP
266
6.1.2 Hybrid SAP Systems
267
6.1.3 Hybrid Change Management
270
6.2 Available Tools and Their Purposes
272
6.2.1 Continuous Integration and Delivery
273
6.2.2 Project “Piper”
275
6.2.3 SAP Cloud Transport Management
277
6.2.4 Enhanced Change and Transport System
278
6.2.5 Application Lifecycle Management
278
6.3 Tool Integration with Change Management in Hybrid Scenarios
284
6.3.1 SAP Cloud Transport Management with CTS+ and SAP Solution Manager
284
6.3.2 SAP Cloud ALM with External Incident Systems
290
6.4 Continuous Development
292
6.4.1 Development
293
6.4.2 Test Management
293
6.4.3 Release Management
295
6.5 Operation Monitoring with SAP Solution Manager
296
6.5.1 Integration Monitoring
296
6.5.2 Job Management
297
6.5.3 Exception Management
298
6.5.4 Data Consistency Management
299
6.5.5 Business Process Monitoring
300
6.5.6 User Experience Monitoring
302
6.6 DevOps for SAP Data Intelligence
302
6.6.1 Solution Overview
303
6.6.2 Continuous Integration and Deployment
303
6.6.3 Internal Transportation
307
6.6.4 Monitoring
308
6.7 An End-to-End DevOps Scenario for a Hybrid Landscape
308
6.7.1 Planning Phase
309
6.7.2 Develop, Build, and Test Phases
309
6.7.3 Release and Deploy Phases
310
6.7.4 Operate and Monitor Phases
310
6.8 Summary
311
7 Best Practices
313
7.1 Continuous Integration and Continuous Delivery
313
7.1.1 Continuous Integration
314
7.1.2 Continuous Delivery
319
7.2 Microservices
324
7.3 Infrastructure as Code
326
7.4 Monitoring and Logging
327
7.5 Communication and Collaboration
328
7.6 Fail Fast
329
7.7 Summary
330
8 Security
333
8.1 Common Security Tools and Concepts
333
8.2 Secure Code Analytics
335
8.2.1 Manual Secure Code Analytic Techniques
336
8.2.2 ABAP-Related Scans
339
8.2.3 Java-Related Scans
344
8.2.4 SAP Fiori-Related Scans
353
8.3 Automated Security Testing
360
8.4 Security Vulnerability Monitoring
361
8.4.1 Vulnerability Scanning
362
8.4.2 Continuous Monitoring
363
8.4.3 Best Practices
364
8.5 Implementation
365
8.6 Summary
366
9 Outlook
367
9.1 Emerging DevOps Technologies
367
9.1.1 SAP Build
368
9.1.2 Code Inspector
369
9.1.3 SAP Focused Run
369
9.1.4 Cloud Native Technologies
369
9.2 DevOps for SAP BTP, Kyma Runtime
371
9.3 Future Directions of DevOps in SAP
372
9.3.1 Artificial Intelligence for IT Operations
372
9.3.2 No Operations
372
9.3.3 GitOps
373
9.3.4 DevSecOps
373
9.3.5 Low-Code/No-Code
374
9.3.6 Role of Cloud Adoption in DevOps
374
9.4 The First Steps in Your DevOps Journey
374
9.5 How to Stay Up to Date
376
9.6 Summary
378
The Authors
379
Index
381