This is a presentation I gave to SAP Internally to discuss how their customers see DevOps and what challenges they have when trying to migrate to a DevOps operating model
5. How do we introduce DevOps to our SAP teams and help them get started?
DevOps in SAP is hard
4
6. How do we introduce DevOps to our SAP teams and help them get started?
DevOps in any ecosystem is hard
4
7. How do we introduce DevOps to our SAP teams and help them get started? 7
DevOpsTeamsStructures
Different organizations need different team structures for effective Dev and Ops collaboration
2
There is so little separation between Dev and
Ops that all people are highly focused on a
shared purpose so much so there is no distinct
or visible Operations team.
Fully Shared Ops
Responsibilities1
Smooth collaboration between Dev teams and
Ops teams, specializing where needed, sharing
where needed.
Dev and Ops Collaboration
3
Designed to bring Dev and Ops closer
together, ideally towards a Type 1 (Dev
and Ops Collaboration), and eventually
make itself obsolete.
DevOps Team as an Integration Project
An Ops team within Dev acts as a source
of expertise about operational features,
metrics, monitoring, server provisioning,
etc., and does most of the
communication with the Operations
team.
DevOps Embedded in Dev4
8. 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
8
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
9. How do we introduce DevOps to our SAP teams and help them get started?
WhyisDevOpssohardinSAPlandscapes
9
• 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
10. How do we introduce DevOps to our SAP teams and help them get started?
WhyisDevOpsACTUALLYsohardinSAPlandscapes
10
MultipleVendors
NetWeaverCertified Keepingfixing
solvedproblems
SAPis‘special’
14. Whatdoesbadculturelooklike
14
Blame
Allowing toxic blame culture
and not taking responsibility
NoEmpathy
Using tools to replace people
and culture
Valuemismatch
Are the values of all parties
aligned
ToxicPeople
5 Good interactions to clear a
single negative one
15. What does bad culture cost
15
25%Quit
25% of the peoplewhohave been
subject to toxic practices quit
47%WorkedLess
47% of people worked less time,
not in a good way
38%Qualitydecrease
38% had measurable decreases in the
quality oftheir work
Brilliant Jerks or Vendors
Thesepeoplepoisonteams-period
Just in case rules
Doestheruleactuallyserveanypurposeordoestheruleexisttocompensateforpoorperformance
Lack of accountability
Thecustomerownsthesystem,theyareresponsiblefortheactionswithinit
16. 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
16
Failure
Change attitude to failure
MTTR not MTBF
Collaboration Community
18. How do we introduce DevOps to our SAP teams and help them get started?
Continuous Integration and Delivery in SAP is hard
18
19. How do we introduce DevOps to our SAP teams and help them get started? 19
Continuous Integration and Delivery in ABAP is hard
20. How do we introduce DevOps to our SAP teams and help them get started?
CI/CDproperties
20
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
21. How do we introduce DevOps to our SAP teams and help them get started?
CI/CD in ABAP
21
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
22. 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
22
24. How do we introduce DevOps to our SAP teams and help them get started?
WhySAPdoesn’tautomatemuch
24
TheSAPecosystemspentit’stimeandmoneyonpeopletorunprocesseswhentherestofthetechnologyworldautomatedthem.
Automationdoesnotmeanmakingpeopleredundant–itmeansgivingthemthetimetodohighervaluetasks
Job
Protection
Lack of trust ScalePoor tools
SAPToolsarenotbuiltfor
integrationinto
automationtools
Testingautomationin
compliantenvironments
Currentlylotsofpeople
doingmanualwork
Tryingtoboiltheocean
25. How do we introduce DevOps to our SAP teams and help them get started?
Whatactivitiescanweautomate
25
Automatingactivitiesisajourney,noteverytaskcanbeautomatedimmediatelyforanumberofreasons.
Serverbuilds
Changeprocessworkflow
Changemovement
Configurationmanagement
Unittests
Monitoring
Alerting
EnvironmentProvisioning
RegressionTestPacks
Low complexity Medium complexity High complexity
ChangeDeployment
27. How do we introduce DevOps to our SAP teams and help them get started?
Measurement
Thresholds
Information Use
Security/Compliance
27
Insight
Representation
Conclusion actions5Ws
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
28. How do we introduce DevOps to our SAP teams and help them get started?
SAP Solution Manager is awesome (mostly)
28
29. How do we introduce DevOps to our SAP teams and help them get started?
Interestingthingstobemeasuredandwhy
29
Thisisalistofinterestingmetricscapturedinsystems.
ChangeimplementationReturn
codes
Databasesize
Numberofexecutionsandusers
Configurationmanagement
Successfulnumberoftestruns
Highutilizationusers
ProgramErrors
Userexperiencemonitoring
Predictingtheloadofaprocess
Low complexity Medium complexity High complexity
Predictingpeakloadtimes
ChangesinObjectsandCodebase
30. How do we introduce DevOps to our SAP teams and help them get started?
HowcanyouhelpSAPCustomersontheirway
30
Crosstrainteams
Buildyourprocesses
right
Culture
Helpfindacommon
language