Showing the challenges and opportunities within the SAP ecosystem for adopting DevOps practices. Discussing how ABAP, HANA, UI5, BObj, NW JAVA and SCP JAVA each have their own capabilities and challenges in adopting DevOps.
6. How do we introduce DevOps to our SAP teams and help them get started?
DevOps in SAP is hard
4
7. How do we introduce DevOps to our SAP teams and help them get started?
PillarsofDevOps
Every framework or organising structure has principles which define it – below are some of
the main principles of DevOps that I have found useful in the SAP Ecosystem
7
Culture
Automation
CI/CD Pipelines
Measurement
What is Culture
How does Culture enable DevOps
What do we mean by Automation
Won’t it cost us our jobs
What is CI/CD
Why is it so important
What do we measure
Why do we measure
8. How do we introduce DevOps to our SAP teams and help them get started?
WhyisDevOpssohardinSAPlandscapes
8
• ABAP
• Bobj
• HANA
• Java (NW)
• JavaScript
• Java (SAP CP)
MultipleUX/UI
Applicationarchitecture
Different application architectures
Devtoolset
No unified development tool set
MultipleTechnologies
• SAPGui
• Bex/AfO
• Webi
• HTML5
• Fiori
9. How do we introduce DevOps to our SAP teams and help them get started?
WhyisDevOpsACTUALLYsohardinSAPlandscapes
9
MultipleVendors
NetWeaverCertified Keepingfixing
solvedproblems
SAPis‘special’
11. How do we introduce DevOps to our SAP teams and help them get started?
What the SAP ecosystem needs to learn about Culture
Tools
Multi-Disciplinary
Top-down permission
Value Alignment
Common language Sharing
Empathy
11
Failure
Change attitude to failure
MTTR not MTBF
Collaboration Community
13. How do we introduce DevOps to our SAP teams and help them get started?
Continuous Integration and Delivery in SAP is hard
13
14. How do we introduce DevOps to our SAP teams and help them get started? 14
Continuous Integration and Delivery in ABAP is hard
15. How do we introduce DevOps to our SAP teams and help them get started?
CI/CDproperties
15
Property Good processes Poor Processes
Single Repository ABAP, UI5, NW Java, Java
Automated Builds ABAP, UI5, NW Java, Java
Automated Unit Tests UI5, NW Java, Java ABAP
Regular Merge to trunk UI5, NW Java, Java ABAP
Test in Production Clone UI5, Java NW Java, ABAP
Fast build and merge UI5, Java NW Java, ABAP
Automated deployment ABAP, UI5, NW Java, Java
Automated testing UI5, NW Java, Java ABAP
16. How do we introduce DevOps to our SAP teams and help them get started?
CI/CD in ABAP
16
Tools
Single Code line
Activation
Branch development
is expensive
Size of change unit
SAPGui technology
People don’t use the
tools
Generating test data is really hard
Testing is actually hard
Not baked into Dev process
Architecture Testing
17. How do we introduce DevOps to our SAP teams and help them get started?
Example Continuous Pipelines
Write
code
Write code
Unit test
Unit Test
Transport
to QAS
Transport
to QAS
Integration
Tests
Application
Acceptance
Tests
UAT Tests
Deploy to
PRD
Deploy to
PRD
Post
Deploy
Tests
Write code Unit Test
Transport
to QAS
Application
Acceptance
Tests
Deploy to
PRD
Post
Deploy
Tests
Manual
Step
Automated
Step
Automated Process
Manual Process
Non-Automated pipeline
Continuous Delivery pipeline
Continuous Deployment pipeline
17
18. How do we introduce DevOps to our SAP teams and help them get started?
Howtoimplement testautomation inaCI/CDpipeline
18
Test automation is a critical part of a Continuous pipeline, without it there is a limit
to the volume of changes you can push through the landscape
ABAPUnit or Solution Manager CBTA
SAP Cloud Platform – DevOps tools
UI5 – Web Testing Frameworks
.
20. How do we introduce DevOps to our SAP teams and help them get started?
WhySAPdoesn’tautomatemuch
20
TheSAPecosystemspentit’stimeandmoneyonpeopletorunprocesseswhentherestofthetechnologyworldautomatedthem.
Automationdoesnotmeanmakingpeopleredundant–itmeansgivingthemthetimetodohighervaluetasks
Job
Protection
Lack of trust ScalePoor tools
SAP Tools are not
built for integration
into automation tools
Testing automation in
compliant environments
Currently lots of people
doing manual work
Trying to boil the
ocean
21. How do we introduce DevOps to our SAP teams and help them get started?
Whatactivitiescanweautomate
21
Automatingactivitiesisajourney,noteverytaskcanbeautomatedimmediatelyforanumberofreasons.
Serverbuilds
Changeprocessworkflow
Changemovement
Configurationmanagement
Unittests
Monitoring
Alerting
EnvironmentProvisioning
RegressionTestPacks
Low complexity Medium complexity High complexity
ChangeDeployment
23. How do we introduce DevOps to our SAP teams and help them get started?
Measurement
• Thresholds
• Information Use
• Security/Compliance
23
• Insight
• Representation
• Conclusion actions• 5Ws
Plan & Prep
In order to improve you have to be able to quantify the past and the current state of a system. Recording
the characteristics, the operations and the performance of that system will enable you to have that ability to
show the changes brought by Continuous Improvement
RecommendEvaluate Analyze
24. How do we introduce DevOps to our SAP teams and help them get started?
SAP Solution Manager is awesome (mostly)
24
25. How do we introduce DevOps to our SAP teams and help them get started?
Interestingthingstobemeasuredandwhy
25
Thisisalistofinterestingmetricscapturedinsystems.
ChangeimplementationReturn
codes
Databasesize
Numberofexecutionsandusers
Configurationmanagement
Successfulnumberoftestruns
Highutilizationusers
ProgramErrors
Userexperiencemonitoring
Predictingtheloadofaprocess
Low complexity Medium complexity High complexity
Predictingpeakloadtimes
ChangesinObjectsandCodebase
26. How do we introduce DevOps to our SAP teams and help them get started?
HowcanyouhelptheSAPEcosystemonitsjourney
26
Crosstrainteams
Showthepossibilities Culture
Helpfindacommon
language