PUBLIC
OPP103 – An Introduction To DevOps
2PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Speakers 2018
SAP TechEd Las Vegas
October 2–5, 2018
Dhimant Patel
SAP TechEd Barcelona
October 23–25, 2018
Thorsten Duda
SAP TechEd Bangalore
November 28–30, 2018
Gansehbhatta Poojar
3PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Take the session survey.
We want to hear from you!
Be sure to complete the session evaluation
on the SAP TechEd mobile app.
Download the app from
iPhone App Store or Google Play.
4PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP.
Except for your obligation to protect confidential information, this presentation is not subject to your license agreement or any other service
or subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or any related
document, or to develop or release any functionality mentioned therein.
This presentation, or any related document and SAP's strategy and possible future developments, products and or platforms directions and
functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information in this
presentation is not a commitment, promise or legal obligation to deliver any material, code or functionality. This presentation is provided
without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a
particular purpose, or non-infringement. This presentation is for informational purposes and may not be incorporated into a contract. SAP
assumes no responsibility for errors or omissions in this presentation, except if such damages were caused by SAP’s intentional or gross
negligence.
All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from
expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates,
and they should not be relied upon in making purchasing decisions.
Disclaimer
5PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
What is it about
 What slows us down ?
A transition journey
 Foundation, Process, Accelerator for Continuous Delivery
Our Learning
 Key Aspects
Our Best Practices
Questions & Answers
Agenda
What is it about
7PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
What is it about
Never
change a running
System
Change
as often as
Possible
8PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
What is it about
Never
change a running
System
Change
as often as
Possible
Continuous Delivery
… is the ability to get changes of all types - including new features,
configuration changes, bug fixes and experiments - into production,
or into the hands of users, safely and quickly in a sustainable way.
9PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
What slows down?
Never
change a running
System
Change
as often as
Possible
unclear
requirements
features that don’t meet
business needs
lack of transparency
who is doing what
fear to break something
manual processes
complex release
dependencies
lack of modern
development
skills
inefficient testing
silos and inconsistent
solutions
late fixing
and reworks
A Transition Journey
11PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
It is not just a technical Transformation
improve
experience
Continuous
Delivery
Process
for Continuous Delivery
Process to get changes into
Production – fast – safely -
sustainable
Accelerator
for Continuous Delivery
improve
experience
DevOps
Close cross function
collaboration
to gain speed
Foundation
for Continuous Delivery
Skills and methods to do
the right things
and things right
improve
experience
Agile
12PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Measure
the
Success
time to market
from idea to availability
shipped defects
number of fixes required
work-life balance
of your Workforce
customer feedback
&satisfaction
Step 1: Bring in the Business Perspective
Possible Success Indicators
High Risk
Change
time
$
Low Risk
Change
time
$
13PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Building the Foundation for Continuous Delivery
improve
experience
Continuous
Delivery
Process
for Continuous Delivery
Process to get changes into
Production – fast – safely -
sustainable
Accelerator
for Continuous Delivery
improve
experience
DevOps
Close cross function
collaboration
to gain speed
Foundation
for Continuous Delivery
Skills and methods to do
the right things
and things right
improve
experience
Agile
14PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Scrum, Kanban, … – what really counts at the end of the day
Short
cycle
Product
Backlog
Team
Backlog
Working Product
Version
Iterate in small cycles!
Adjust the plan by listening to the experts.
15PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
What is Agile Software Engineering?
Unit
Testing
Test
Isolation
Test
Driven
Development
Clean
Code
Refactoring
Continuous
Integration
Pair
Programming
Exploratory
Testing
Acceptance
Test Driven
Development
Team
Work
Backlog
Estimation
Agile
Planning
Automated
UI Testing
Scrum/
Kanban
16PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration
SCM
CI
Server
17PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration: Basic Flow
1) The developer writes code
2) The developer pushes the code
changes into a central source code
management system
3) The central source code
management system triggers the
CI server
4) The CI server runs the automated
build and tests
5) The CI server sends feedback back
to the developer
SCM
CI Server
Developer
18PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration Principles
Continuous
Integration
Keep
everything
under version
control
Commit early
and often
Run unit tests
in the Build
Fix errors
immediately
Build each
change
Keep the Build
fast
Test in a clone
of the
production
environment
Automate the
Build
Sources:
http://www.sap.com/developer/tutorials/ci-best-
practices-ci-cd.html
http://www.martinfowler.com/articles/continuousIn
tegration.html
19PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
• Define a Main line
(master branch)
• Use feature branches
Continuous Integration Principles
Continuous
Integration
Keep
everything
under version
control
Commit early
and often
Run unit tests
in the Build
Fix errors
immediately
Build each
change
Keep the Build
fast
Test in a clone
of the
production
environment
Automate the
Build
20PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration Principles
Continuous
Integration
Keep
everything
under version
control
Commit early
and often
Run unit tests
in the Build
Fix errors
immediately
Build each
change
Keep the Build
fast
Test in a clone
of the
production
environment
Automate the
Build
• Avoid “it runs on my
machine” mentality.
• Make the build
reproducible.
• Centralize it.
21PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration Principles
Continuous
Integration
Keep
everything
under version
control
Commit early
and often
Run unit tests
in the Build
Fix errors
immediately
Build each
change
Keep the Build
fast
Test in a clone
of the
production
environment
Automate the
Build
• Identify regressions as
early as possible.
• Test as much as possible,
as few as necessary.
• Balance build speed and
test coverage.
22PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration Principles
Continuous
Integration
Keep
everything
under version
control
Commit early
and often
Run unit tests
in the Build
Fix errors
immediately
Build each
change
Keep the Build
fast
Test in a clone
of the
production
environment
Automate the
Build
• Integrate in small steps.
• Do not accumulate
changes and attempt bulk
merges into the main line.
23PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration Principles
Continuous
Integration
Keep
everything
under version
control
Commit early
and often
Run unit tests
in the Build
Fix errors
immediately
Build each
change
Keep the Build
fast
Test in a clone
of the
production
environment
Automate the
Build
• Keep the main line clean.
• Build and automatically
test each change that
flows into it.
• Implement CI and voter
builds resp. builds on
feature branches.
24PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration Principles
Continuous
Integration
Keep
everything
under version
control
Commit early
and often
Run unit tests
in the Build
Fix errors
immediately
Build each
change
Keep the Build
fast
Test in a clone
of the
production
environment
Automate the
Build
• Keep your main line clean.
• Do not accumulate errors.
25PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration Principles
Continuous
Integration
Keep
everything
under version
control
Commit early
and often
Run unit tests
in the Build
Fix errors
immediately
Build each
change
Keep the Build
fast
Test in a clone
of the
production
environment
Automate the
Build
• Push a change, get a cup
of coffee and then observe
the build result.
• < 10 -15 mins.
• Balance between time and
scenario test coverage.
26PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Integration Principles
Continuous
Integration
Keep
everything
under version
control
Commit early
and often
Run unit tests
in the Build
Fix errors
immediately
Build each
change
Keep the Build
fast
Test in a clone
of the
production
environment
Automate the
Build
• Use the infrastructure-as-
code approach to set up
your landscape in a
reproducible way.
27PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Building the Foundation for Continuous Delivery
improve
experience
Agile
Process
for Continuous Delivery
Process to get changes into
Production – fast – safely -
sustainable
Accelerator
for Continuous Delivery
improve
experience
DevOps
Close cross function
collaboration
to gain speed
Foundation
for Continuous Delivery
Skills and methods to do
the right things
and things right
improve
experience
Continuous
Delivery
28PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
From Continuous Integration to Continuous Delivery
Software
Engineer
ProductionHolistic End-2-End Delivery Process
Potentially shippable
Product increments any time
29PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Why Continuous Integration might no be enough
Software
Engineer
Production
?
Where to execute long
running tests?
Typical example: security scans,
scenario testing, …
?
Where to run semi-automated
acceptance tests?
Specification Check, Documentation testing,
…
? Handover to
other teams?
?
Controlled Deployment into
Production
Deploy any change automatically might
not be possible…
30PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Delivery Pipeline Stages – Setup Proposal
Software
Engineer
Production
Commit
Stage
Acceptance
Test Stage(s)
automated
Acceptance
StageAcceptance
Test Stage(s)
manual
is working technically
is working
functionally
is usable
is live!
Build
UnitTest
Component
Tests
Deploy
Regression
Tests
Security Scans
Code Checks
Load Test
….
Exploratory
Testing
Usability
Testing
Documentation
Testing
Scenario
Testing
Compliance
Checks
Final Go
Decision
Deployment
to production
31PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
What to use?
Software
Engineer
Production
Commit
Stage
Acceptance
Test Stage(s)
automated
Acceptance
StageAcceptance
Test Stage(s)
manual
32PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Building the Foundation for Continuous Delivery
improve
experience
Agile
Process
for Continuous Delivery
Process to get changes into
Production – fast – safely -
sustainable
Accelerator
for Continuous Delivery
improve
experience
DevOps
Close cross function
collaboration
to gain speed
Foundation
for Continuous Delivery
Skills and methods to do
the right things
and things right
improve
experience
Continuous
Delivery
33PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
DEV OPS
What is the Problem?
DevOps: A culture where people,
regardless of title or background,
work together to imagine,
develop, deploy and operate a
system.
http://kenmugrage.com/post/my-new-definition-of-devops/
- Ken Mugrage, ThoughtWorks
34PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
“It need to change it fast.”
DEV
“I own the application.”
OPS
“I own the application runtime”
“I need to keep it stable”
Problem 1: Conflicting Goals?
Production
Conflicting Goal in the
Organization
35PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
“On my PC it’s working.”
DEV
“I own the application.”
OPS
“I own the application runtime”
“I can’t get it running without
you!”
Problem 2: Tight Coupling between Application and Runtime?
Production
Throw over the wall behavior
36PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Some Practices to fix it
DEV OPS
Collaborative Culture
assure close cooperation
between teams, roles, levels
respect for each other
Same Values
common goals
common values
common incentives
common success
Same Responsibility
life-site first for everyone
joint application
tracking/monitoring
Same Practices
agile operation
automation
infrastructure as code
Our Learning
38PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Our Learning – Key Aspects
Design to motivate frequent submit of small changes
Design for Speed
One code-line only
100% automated
should not run longer than 5 - 10min
Low entry barrier
fosters collaboration
State of the art tools
Lightweight
Allow to plugin team specific process
steps
Extensible
Team Specific Views, Thresholds, …
Customizable
Simple to get status of “my” change
Alarming in case of problems
Transparency
Team committed to
stop the line in case of problems
continuously improve to become better
and faster
Team Commitment
39PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Our Learning – Key Aspects
Build once
principle
no more build after
commit stage
Transparency along the entire lifecycle
dashboards along the entire process
Engineer can access info at any time on click:
Where is my change? How does it work? How is it used?
Test Environment similar
to Production
Make test-environments similar
to production as fast as possible
core lifecycle processes like
“deploy” always identical
Acceptance Tests as
Contracts
close collaboration with
stakeholders on acceptance
criteria
Stop the line
principle
Don’t push into a
broken system
fixing over features
Automate the
Release Step
reliable, repeatable
procedure
Our Best Practices
41PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Offerings for Continuous Delivery
Full Flexibility
Custom CI Landscape
Standard Offering
No Infrastructure needed,
Works out-of-the box
Jenkins Pipelines Continuous Delivery
Services
CI Best Practice Guide
OPP833
42PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
CI Best Practice Guide
See Continuous Integration (CI) Best Practices with SAP
How to implement Continuous Integration
for SAP specific development projects?
Contents:
 Agile practices and process basics
 Tooling: Jenkins CI, Git/Gerrit, Nexus
 SAP specific implementation examples
43PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
CI Best Practice Guide
See Continuous Integration (CI) Best Practices with SAP
Works for you if:
• You already have a working CI
infrastructure, maybe with custom CI tooling
• You want to run the CI process in your IT
landscape
44PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
CI Best Practice Guide
See Continuous Integration (CI) Best Practices with SAP
Technologies covered:
• Java Web on SAP Cloud Platform (Neo)
• Fiori/SAPUI5 on SAP Cloud Platform (Neo)
or ABAP Gateway
• Extended Application Services (XS) classic
or advanced model
• Mobile Applications
45PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
CI Best Practice Guide
See Continuous Integration (CI) Best Practices with SAP
What comes next:
• Integration with Solution Manager
46PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Jenkins Pipelines: Project “Piper”
Ready-to-use Pipelines for SAP Development Processes
https://github.com/SAP/jenkins-library/
https://github.com/SAP/jenkins-pipelines
 Fast and simple setup on Jenkins 2
 Based on best practices of SAP development teams
47PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Jenkins Pipelines: Project “Piper”
Ready-to-use Pipelines for SAP Development Processes
https://github.com/SAP/jenkins-library/
https://github.com/SAP/jenkins-pipelines
 Fiori for Cloud Platform available
 Solution Manager Integration
 Cloud Foundry deployment
 …and many more
CNA370
48PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Jenkins Pipelines: Project “Piper”
Ready-to-use Pipelines for SAP Development Processes
https://github.com/SAP/jenkins-library/
https://github.com/SAP/jenkins-pipelines
Works for you if:
 You already have a Jenkins 2 installation in your
IT infrastructure or plan to set it up.
 You want to consume SAP standard pipelines but
need the freedom to customize them.
49PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Jenkins Pipelines
Ready-to-use Pipelines for SAP Development Processes
https://github.com/SAP/jenkins-library/
https://github.com/SAP/jenkins-pipelines
What comes next:
 SAPUI5/Fiori on ABAP Frontend Server
50PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Delivery: On-Premise CI infrastructure
Jenkins Pipelines
CI Best Practices
B ring your ow n inf rast ruct ure
 Reuse existing CI/CD tools/know-how in your company
 Customization and flexibility: full control
 On the other hand: Efforts to set up, configuration and
operating the tools and processes on customer infrastructure
51PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Continuous Delivery: On-Premise CI infrastructure
Jenkins Pipelines
CI Best Practices
B ring your ow n inf rast ruct ure
 Reuse existing CI/CD tools/know-how in your company
 Customization and flexibility: full control
 On the other hand: Efforts to set up, configuration and
operating the tools and processes on customer infrastructure
High Flexibility
52PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
• An off-the-shelf pipeline (build, test , deploy
to cloud) for customers with little experience
in CI/CD or small teams
• No effort to set up CI/CD infrastructure
• Minimal effort to set up the pipeline. Pipeline
orchestration on button click.
• Strictly standardized: limited customization
options
SAP Cloud Platform Continuous Delivery
Plug & Play CD Cloud Service
Restricted Beta
OPP833
53PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Scope
• Fiori/SAPUI5
• SAP Cloud Platform hosted Git
SAP Cloud Platform Continuous Delivery
Plug & Play CD Cloud Service
Restricted Beta
OPP833
Questions & Answers
55PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Access replays of:
 Keynotes
 SAP TechEd live interviews
 Selected lecture sessions
http://sapteched.com/online
Continue your SAP TechEd discussion after
the event within SAP Community:
 Read and reply to blog posts
 Ask your questions
 Join conversations
sap.com/community
See all SAP TechEd blog posts
SAP TechEd online / SAP Community
56PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Further information
Related SAP TechEd content journeys
PLA3-How to Build Cloud Native Apps with SAP Cloud Platform….
Related SAP TechEd sessions
OPP833 – Road Map for SAP Offerings for Continuous Integration and Delivery
CNA370 – Change Request Management Meets Continuous Delivery in Hybrid Scenarios
CNA223 – Managing your delivery pipeline on SAP Cloud Platform
Public SAP Web sites
SAP Community: www.sap.com/community
SAP products: www.sap.com/products
SAP training and certification opportunities
www.sap.com/education
57PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Thanks for attending this session.
Please complete your session
evaluation for OPP103
Christoph Szymanski
Product Owner
Christoph.Szymanski@sap.com
Martin Pospischil
Product Owner
Martin.Pospischil@sap.com
Feedback Contact for further topic inquiries
58PUBLIC© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ
1 What is a technical key aspect for DevOps
Automation (correct)
 Motivation
 Segregation
 Aggregation
2 What is an important paradigm for Continuous
Delivery independent of your agile implementation
Iterate in small cycles (correct)
 Iterate in big cycles
 Iterate the backlog
 Iterate the plan
3 For DevOps where should the transition go to
?
From “Never change a running system” to
“Change as often as possible” (correct)
 From “Change as often as possible” to “Never
change a running system”
 From “Never change your manager” to “Change
your manager as often as possible”
 From “New York, Rio, Tokyo” to “Las Vegas,
Barcelona, Bangalore”
4 <question text>
<correct answer> (correct)
 <false answer>
 <false answer>
 <false answer>
Lectures only: Questions for TechEd Journey Badge “exam” pool* /
openSAP course SAP TechEd 2018 Recap**

SAP TechEd 2018 OPP103 – An Introduction to DevOps

  • 1.
    PUBLIC OPP103 – AnIntroduction To DevOps
  • 2.
    2PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Speakers 2018 SAP TechEd Las Vegas October 2–5, 2018 Dhimant Patel SAP TechEd Barcelona October 23–25, 2018 Thorsten Duda SAP TechEd Bangalore November 28–30, 2018 Gansehbhatta Poojar
  • 3.
    3PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Take the session survey. We want to hear from you! Be sure to complete the session evaluation on the SAP TechEd mobile app. Download the app from iPhone App Store or Google Play.
  • 4.
    4PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP. Except for your obligation to protect confidential information, this presentation is not subject to your license agreement or any other service or subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or any related document, or to develop or release any functionality mentioned therein. This presentation, or any related document and SAP's strategy and possible future developments, products and or platforms directions and functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information in this presentation is not a commitment, promise or legal obligation to deliver any material, code or functionality. This presentation is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. This presentation is for informational purposes and may not be incorporated into a contract. SAP assumes no responsibility for errors or omissions in this presentation, except if such damages were caused by SAP’s intentional or gross negligence. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions. Disclaimer
  • 5.
    5PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ What is it about  What slows us down ? A transition journey  Foundation, Process, Accelerator for Continuous Delivery Our Learning  Key Aspects Our Best Practices Questions & Answers Agenda
  • 6.
  • 7.
    7PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ What is it about Never change a running System Change as often as Possible
  • 8.
    8PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ What is it about Never change a running System Change as often as Possible Continuous Delivery … is the ability to get changes of all types - including new features, configuration changes, bug fixes and experiments - into production, or into the hands of users, safely and quickly in a sustainable way.
  • 9.
    9PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ What slows down? Never change a running System Change as often as Possible unclear requirements features that don’t meet business needs lack of transparency who is doing what fear to break something manual processes complex release dependencies lack of modern development skills inefficient testing silos and inconsistent solutions late fixing and reworks
  • 10.
  • 11.
    11PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ It is not just a technical Transformation improve experience Continuous Delivery Process for Continuous Delivery Process to get changes into Production – fast – safely - sustainable Accelerator for Continuous Delivery improve experience DevOps Close cross function collaboration to gain speed Foundation for Continuous Delivery Skills and methods to do the right things and things right improve experience Agile
  • 12.
    12PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Measure the Success time to market from idea to availability shipped defects number of fixes required work-life balance of your Workforce customer feedback &satisfaction Step 1: Bring in the Business Perspective Possible Success Indicators High Risk Change time $ Low Risk Change time $
  • 13.
    13PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Building the Foundation for Continuous Delivery improve experience Continuous Delivery Process for Continuous Delivery Process to get changes into Production – fast – safely - sustainable Accelerator for Continuous Delivery improve experience DevOps Close cross function collaboration to gain speed Foundation for Continuous Delivery Skills and methods to do the right things and things right improve experience Agile
  • 14.
    14PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Scrum, Kanban, … – what really counts at the end of the day Short cycle Product Backlog Team Backlog Working Product Version Iterate in small cycles! Adjust the plan by listening to the experts.
  • 15.
    15PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ What is Agile Software Engineering? Unit Testing Test Isolation Test Driven Development Clean Code Refactoring Continuous Integration Pair Programming Exploratory Testing Acceptance Test Driven Development Team Work Backlog Estimation Agile Planning Automated UI Testing Scrum/ Kanban
  • 16.
    16PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration SCM CI Server
  • 17.
    17PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration: Basic Flow 1) The developer writes code 2) The developer pushes the code changes into a central source code management system 3) The central source code management system triggers the CI server 4) The CI server runs the automated build and tests 5) The CI server sends feedback back to the developer SCM CI Server Developer
  • 18.
    18PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration Principles Continuous Integration Keep everything under version control Commit early and often Run unit tests in the Build Fix errors immediately Build each change Keep the Build fast Test in a clone of the production environment Automate the Build Sources: http://www.sap.com/developer/tutorials/ci-best- practices-ci-cd.html http://www.martinfowler.com/articles/continuousIn tegration.html
  • 19.
    19PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ • Define a Main line (master branch) • Use feature branches Continuous Integration Principles Continuous Integration Keep everything under version control Commit early and often Run unit tests in the Build Fix errors immediately Build each change Keep the Build fast Test in a clone of the production environment Automate the Build
  • 20.
    20PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration Principles Continuous Integration Keep everything under version control Commit early and often Run unit tests in the Build Fix errors immediately Build each change Keep the Build fast Test in a clone of the production environment Automate the Build • Avoid “it runs on my machine” mentality. • Make the build reproducible. • Centralize it.
  • 21.
    21PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration Principles Continuous Integration Keep everything under version control Commit early and often Run unit tests in the Build Fix errors immediately Build each change Keep the Build fast Test in a clone of the production environment Automate the Build • Identify regressions as early as possible. • Test as much as possible, as few as necessary. • Balance build speed and test coverage.
  • 22.
    22PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration Principles Continuous Integration Keep everything under version control Commit early and often Run unit tests in the Build Fix errors immediately Build each change Keep the Build fast Test in a clone of the production environment Automate the Build • Integrate in small steps. • Do not accumulate changes and attempt bulk merges into the main line.
  • 23.
    23PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration Principles Continuous Integration Keep everything under version control Commit early and often Run unit tests in the Build Fix errors immediately Build each change Keep the Build fast Test in a clone of the production environment Automate the Build • Keep the main line clean. • Build and automatically test each change that flows into it. • Implement CI and voter builds resp. builds on feature branches.
  • 24.
    24PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration Principles Continuous Integration Keep everything under version control Commit early and often Run unit tests in the Build Fix errors immediately Build each change Keep the Build fast Test in a clone of the production environment Automate the Build • Keep your main line clean. • Do not accumulate errors.
  • 25.
    25PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration Principles Continuous Integration Keep everything under version control Commit early and often Run unit tests in the Build Fix errors immediately Build each change Keep the Build fast Test in a clone of the production environment Automate the Build • Push a change, get a cup of coffee and then observe the build result. • < 10 -15 mins. • Balance between time and scenario test coverage.
  • 26.
    26PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Integration Principles Continuous Integration Keep everything under version control Commit early and often Run unit tests in the Build Fix errors immediately Build each change Keep the Build fast Test in a clone of the production environment Automate the Build • Use the infrastructure-as- code approach to set up your landscape in a reproducible way.
  • 27.
    27PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Building the Foundation for Continuous Delivery improve experience Agile Process for Continuous Delivery Process to get changes into Production – fast – safely - sustainable Accelerator for Continuous Delivery improve experience DevOps Close cross function collaboration to gain speed Foundation for Continuous Delivery Skills and methods to do the right things and things right improve experience Continuous Delivery
  • 28.
    28PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ From Continuous Integration to Continuous Delivery Software Engineer ProductionHolistic End-2-End Delivery Process Potentially shippable Product increments any time
  • 29.
    29PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Why Continuous Integration might no be enough Software Engineer Production ? Where to execute long running tests? Typical example: security scans, scenario testing, … ? Where to run semi-automated acceptance tests? Specification Check, Documentation testing, … ? Handover to other teams? ? Controlled Deployment into Production Deploy any change automatically might not be possible…
  • 30.
    30PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Delivery Pipeline Stages – Setup Proposal Software Engineer Production Commit Stage Acceptance Test Stage(s) automated Acceptance StageAcceptance Test Stage(s) manual is working technically is working functionally is usable is live! Build UnitTest Component Tests Deploy Regression Tests Security Scans Code Checks Load Test …. Exploratory Testing Usability Testing Documentation Testing Scenario Testing Compliance Checks Final Go Decision Deployment to production
  • 31.
    31PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ What to use? Software Engineer Production Commit Stage Acceptance Test Stage(s) automated Acceptance StageAcceptance Test Stage(s) manual
  • 32.
    32PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Building the Foundation for Continuous Delivery improve experience Agile Process for Continuous Delivery Process to get changes into Production – fast – safely - sustainable Accelerator for Continuous Delivery improve experience DevOps Close cross function collaboration to gain speed Foundation for Continuous Delivery Skills and methods to do the right things and things right improve experience Continuous Delivery
  • 33.
    33PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ DEV OPS What is the Problem? DevOps: A culture where people, regardless of title or background, work together to imagine, develop, deploy and operate a system. http://kenmugrage.com/post/my-new-definition-of-devops/ - Ken Mugrage, ThoughtWorks
  • 34.
    34PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ “It need to change it fast.” DEV “I own the application.” OPS “I own the application runtime” “I need to keep it stable” Problem 1: Conflicting Goals? Production Conflicting Goal in the Organization
  • 35.
    35PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ “On my PC it’s working.” DEV “I own the application.” OPS “I own the application runtime” “I can’t get it running without you!” Problem 2: Tight Coupling between Application and Runtime? Production Throw over the wall behavior
  • 36.
    36PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Some Practices to fix it DEV OPS Collaborative Culture assure close cooperation between teams, roles, levels respect for each other Same Values common goals common values common incentives common success Same Responsibility life-site first for everyone joint application tracking/monitoring Same Practices agile operation automation infrastructure as code
  • 37.
  • 38.
    38PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Our Learning – Key Aspects Design to motivate frequent submit of small changes Design for Speed One code-line only 100% automated should not run longer than 5 - 10min Low entry barrier fosters collaboration State of the art tools Lightweight Allow to plugin team specific process steps Extensible Team Specific Views, Thresholds, … Customizable Simple to get status of “my” change Alarming in case of problems Transparency Team committed to stop the line in case of problems continuously improve to become better and faster Team Commitment
  • 39.
    39PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Our Learning – Key Aspects Build once principle no more build after commit stage Transparency along the entire lifecycle dashboards along the entire process Engineer can access info at any time on click: Where is my change? How does it work? How is it used? Test Environment similar to Production Make test-environments similar to production as fast as possible core lifecycle processes like “deploy” always identical Acceptance Tests as Contracts close collaboration with stakeholders on acceptance criteria Stop the line principle Don’t push into a broken system fixing over features Automate the Release Step reliable, repeatable procedure
  • 40.
  • 41.
    41PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Offerings for Continuous Delivery Full Flexibility Custom CI Landscape Standard Offering No Infrastructure needed, Works out-of-the box Jenkins Pipelines Continuous Delivery Services CI Best Practice Guide OPP833
  • 42.
    42PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ CI Best Practice Guide See Continuous Integration (CI) Best Practices with SAP How to implement Continuous Integration for SAP specific development projects? Contents:  Agile practices and process basics  Tooling: Jenkins CI, Git/Gerrit, Nexus  SAP specific implementation examples
  • 43.
    43PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ CI Best Practice Guide See Continuous Integration (CI) Best Practices with SAP Works for you if: • You already have a working CI infrastructure, maybe with custom CI tooling • You want to run the CI process in your IT landscape
  • 44.
    44PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ CI Best Practice Guide See Continuous Integration (CI) Best Practices with SAP Technologies covered: • Java Web on SAP Cloud Platform (Neo) • Fiori/SAPUI5 on SAP Cloud Platform (Neo) or ABAP Gateway • Extended Application Services (XS) classic or advanced model • Mobile Applications
  • 45.
    45PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ CI Best Practice Guide See Continuous Integration (CI) Best Practices with SAP What comes next: • Integration with Solution Manager
  • 46.
    46PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Jenkins Pipelines: Project “Piper” Ready-to-use Pipelines for SAP Development Processes https://github.com/SAP/jenkins-library/ https://github.com/SAP/jenkins-pipelines  Fast and simple setup on Jenkins 2  Based on best practices of SAP development teams
  • 47.
    47PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Jenkins Pipelines: Project “Piper” Ready-to-use Pipelines for SAP Development Processes https://github.com/SAP/jenkins-library/ https://github.com/SAP/jenkins-pipelines  Fiori for Cloud Platform available  Solution Manager Integration  Cloud Foundry deployment  …and many more CNA370
  • 48.
    48PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Jenkins Pipelines: Project “Piper” Ready-to-use Pipelines for SAP Development Processes https://github.com/SAP/jenkins-library/ https://github.com/SAP/jenkins-pipelines Works for you if:  You already have a Jenkins 2 installation in your IT infrastructure or plan to set it up.  You want to consume SAP standard pipelines but need the freedom to customize them.
  • 49.
    49PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Jenkins Pipelines Ready-to-use Pipelines for SAP Development Processes https://github.com/SAP/jenkins-library/ https://github.com/SAP/jenkins-pipelines What comes next:  SAPUI5/Fiori on ABAP Frontend Server
  • 50.
    50PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Delivery: On-Premise CI infrastructure Jenkins Pipelines CI Best Practices B ring your ow n inf rast ruct ure  Reuse existing CI/CD tools/know-how in your company  Customization and flexibility: full control  On the other hand: Efforts to set up, configuration and operating the tools and processes on customer infrastructure
  • 51.
    51PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Continuous Delivery: On-Premise CI infrastructure Jenkins Pipelines CI Best Practices B ring your ow n inf rast ruct ure  Reuse existing CI/CD tools/know-how in your company  Customization and flexibility: full control  On the other hand: Efforts to set up, configuration and operating the tools and processes on customer infrastructure High Flexibility
  • 52.
    52PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ • An off-the-shelf pipeline (build, test , deploy to cloud) for customers with little experience in CI/CD or small teams • No effort to set up CI/CD infrastructure • Minimal effort to set up the pipeline. Pipeline orchestration on button click. • Strictly standardized: limited customization options SAP Cloud Platform Continuous Delivery Plug & Play CD Cloud Service Restricted Beta OPP833
  • 53.
    53PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Scope • Fiori/SAPUI5 • SAP Cloud Platform hosted Git SAP Cloud Platform Continuous Delivery Plug & Play CD Cloud Service Restricted Beta OPP833
  • 54.
  • 55.
    55PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Access replays of:  Keynotes  SAP TechEd live interviews  Selected lecture sessions http://sapteched.com/online Continue your SAP TechEd discussion after the event within SAP Community:  Read and reply to blog posts  Ask your questions  Join conversations sap.com/community See all SAP TechEd blog posts SAP TechEd online / SAP Community
  • 56.
    56PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Further information Related SAP TechEd content journeys PLA3-How to Build Cloud Native Apps with SAP Cloud Platform…. Related SAP TechEd sessions OPP833 – Road Map for SAP Offerings for Continuous Integration and Delivery CNA370 – Change Request Management Meets Continuous Delivery in Hybrid Scenarios CNA223 – Managing your delivery pipeline on SAP Cloud Platform Public SAP Web sites SAP Community: www.sap.com/community SAP products: www.sap.com/products SAP training and certification opportunities www.sap.com/education
  • 57.
    57PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ Thanks for attending this session. Please complete your session evaluation for OPP103 Christoph Szymanski Product Owner Christoph.Szymanski@sap.com Martin Pospischil Product Owner Martin.Pospischil@sap.com Feedback Contact for further topic inquiries
  • 58.
    58PUBLIC© 2018 SAPSE or an SAP affiliate company. All rights reserved. ǀ 1 What is a technical key aspect for DevOps Automation (correct)  Motivation  Segregation  Aggregation 2 What is an important paradigm for Continuous Delivery independent of your agile implementation Iterate in small cycles (correct)  Iterate in big cycles  Iterate the backlog  Iterate the plan 3 For DevOps where should the transition go to ? From “Never change a running system” to “Change as often as possible” (correct)  From “Change as often as possible” to “Never change a running system”  From “Never change your manager” to “Change your manager as often as possible”  From “New York, Rio, Tokyo” to “Las Vegas, Barcelona, Bangalore” 4 <question text> <correct answer> (correct)  <false answer>  <false answer>  <false answer> Lectures only: Questions for TechEd Journey Badge “exam” pool* / openSAP course SAP TechEd 2018 Recap**