Sascha Junkert
Festo AG & Co. KG
Last updated: 23.07.2018
DevOps in SAP ABAP Landscapes
Agenda
1. DevOps? Motivation & Definition
2. Development in ABAP & NonABAP Landscapes
3. Success Factors for DevOps
4. What‘s happing @ SAP?
5. Summary
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 2
• Started in July 2017 by Markus Theilen (EWE) and Sascha Junkert (Festo)
• What is DevOps? Why is it such a rarity in the abap community? How can we leverage
the existing methods and practices?
• Focus on knowledge exchange between SAP customers
• Collaboration with SAP product mgmt
• Seven meetings since August 2017 in Walldorf, Germany
• Around 25 active members
DSAG: DevOps Working Group
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 3
DevOps?
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 4
DevOps…
“Getting rid of Operations”
“Another buzzword for build and
deployment automation”
“A team that moderates
between Dev and Ops”
“Isn’t that just a
new word for ‘agile’?”
“It’s a mindset thing”
“Does DevOps manage
business or technology problems?”
“Does DevOps ‘solve’ ITIL?”
“Full-Stack DevOps Engineers”
“Infrastructure Automation –
CHEF, Puppet, Saltstack, …”
“Two-Pizza Teams”
DevOps Motivation: Business Agility
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 5
Image Source: julianstodd.wordpress.com
How can we accelerate the time to market of new features,
without compromising quality?
DevOps Motivation: #NoSilos
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 6
#SiloThinking
Development Operations
Change Stability
<code>
DevOps Motivation: Quality
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 7
Source: spotify.com
DevOps Motivation: Quality
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 8
Source: State of DevOps Report 2017
The Core Values Of DevOps (CAMS Framework)
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 9
DevOps
Culture
Automation
Infrastructure
Continuous
Integration &
Delivery
Test
ManagementMeasurement
Sharing
Continuous
Integration & Delivery
Infrastructure
Provisioning
Test Management
Source: http://devopsdictionary.com + http://itrevolution.com
“DevOps is a culture, movement or practice that emphasizes the collaboration and
communication of both software developers and other information-technology
professionals while automating the process of software delivery and infrastructure
changes. It aims at establishing a culture and environment where building, testing, and
releasing software, can happen rapidly, frequently, and more reliably.”
Wikipedia
DevOps Definition
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 10
Classic ABAP Development
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 11
DEV QAS PROD
SE80
Eclipse ADT
SE80
Sandbox
Project
DEV System
Source Code Repository
Build Environment
Artefact Repository
Runtime environment
↯ ↯
CTS CTS
Development in NonABAP Landscapes (e.g. SCP)
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 12
Source: sap.com
ABAP Development with abapGit (1)
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 13
DEV QAS PROD
Source: https://blogs.sap.com
Git Repository
Push
Change & Push
SE80
Eclipse ADT
SE80
CTS CTS
master
abapGit
• Code versioning and backup
Enabler for code reviews
• Enabler for experiments und rollbacks
• No replacement of CTS
• Open Source Projects: dotabap.org
ABAP Development with abapGit(2)
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 14
DEV QAS PROD
Source: https://blogs.sap.com
Git Rep.
Local DEV System
Local DEV System
Local DEV System
Pull Push Pull
Feature Branch 2
CTS CTS
Master
Local Dev Systems
• Parallel development and experiments
• abapGit as central source code repository
• Continuous integration required (syncing)
• Increased maintenance effort and costs (↯)
Continuous Integration
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 15
Source: https://martinfowler.com
5 Systems
with Release & Maintenance Track
5- vs 4-System Landscapes
4 Systems
with Feature Toggles
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 16
DEV1
QAS PRODDEV2
TEST
DEV PRODQASTEST
Success Factor: Feature Toggles
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 17
Open Source: https://github.com/BTCAG/Featuretoggle
Quelle: EWE AG / BTC AG
Success Factor: Test Management
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 18
Testing starts with
requirements
Business Process
Mgmt.
Automated
Regression testing
Success Factor: Change Mgmt.
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 19
#NoSilos Agile Mindset TDD / Shift Left OOP, UI5, S/4, …
RED
GREEN
REFACTOR ABAP
Success Factor: Shared Responsibility Dev/Ops
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 20
Quelle: EWE AG / BTC AG
What’s new @ SAP?
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 21
Focused Build 2.0 Jenkins for ABAP concept
Git @ SAP Cloud Platform
Feature 1
Feature 2
ABAP Feature Toggles
Feature 3
Feature 4
Summary
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 22
DevOps and targets need to be clearly defined
ABAP development must evolve (CI/CD)
Automated testing is a requirement for fast release cycles
(Organizational) change mgmt. is the critical success factor
1
2
3
4
DevOps for ABAP Capability Map
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 23
IDE (Eclipse
ADT, SE80)
Source Code
Repository
(abapGIT)
Continuous
Integration
Agile & TDD
Mindset
Static Code
Checks
(ATC,
Code Inspector)
Feature
Toggles
Development
Continuous
Delivery
Configuration
Management
System
Provisioning
(LaMa,
Container)
Capacity
Mgmt.
Dashboards
Dev / Build
Environment
Provisioning
Infrastructure
Automation
Change Impact
Analysis
(BPCA)
Performance &
Load Tests
Functional
Acceptance
Tests
Regression
Tests
Test Automation (CBTA, …)
Code Review &
Discussion
Quality
Development
KPIs
Application
KPIs
Monitoring
Infrastructure
&
System
Monitoring
(Automated)
Unit Tests
(abapUnit)
Transport
Management
Business
Process
Documentation
CultureandChangeMgmt.
ABAP Objects
Development
Guidelines
“Requirement
to Test”
Process
Infrastructure
KPIs
Thank you!
Questions?
©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 24
Contact:
sascha.junkert@festo.com
@SaschaJunkert

DSAG Tech Days 2018 - DevOps in SAP ABAP Landscapes

  • 1.
    Sascha Junkert Festo AG& Co. KG Last updated: 23.07.2018 DevOps in SAP ABAP Landscapes
  • 2.
    Agenda 1. DevOps? Motivation& Definition 2. Development in ABAP & NonABAP Landscapes 3. Success Factors for DevOps 4. What‘s happing @ SAP? 5. Summary ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 2
  • 3.
    • Started inJuly 2017 by Markus Theilen (EWE) and Sascha Junkert (Festo) • What is DevOps? Why is it such a rarity in the abap community? How can we leverage the existing methods and practices? • Focus on knowledge exchange between SAP customers • Collaboration with SAP product mgmt • Seven meetings since August 2017 in Walldorf, Germany • Around 25 active members DSAG: DevOps Working Group ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 3
  • 4.
    DevOps? ©DSAG / DeutschsprachigeSAP® Anwendergruppe e.V. 4 DevOps… “Getting rid of Operations” “Another buzzword for build and deployment automation” “A team that moderates between Dev and Ops” “Isn’t that just a new word for ‘agile’?” “It’s a mindset thing” “Does DevOps manage business or technology problems?” “Does DevOps ‘solve’ ITIL?” “Full-Stack DevOps Engineers” “Infrastructure Automation – CHEF, Puppet, Saltstack, …” “Two-Pizza Teams”
  • 5.
    DevOps Motivation: BusinessAgility ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 5 Image Source: julianstodd.wordpress.com How can we accelerate the time to market of new features, without compromising quality?
  • 6.
    DevOps Motivation: #NoSilos ©DSAG/ Deutschsprachige SAP® Anwendergruppe e.V. 6 #SiloThinking Development Operations Change Stability <code>
  • 7.
    DevOps Motivation: Quality ©DSAG/ Deutschsprachige SAP® Anwendergruppe e.V. 7 Source: spotify.com
  • 8.
    DevOps Motivation: Quality ©DSAG/ Deutschsprachige SAP® Anwendergruppe e.V. 8 Source: State of DevOps Report 2017
  • 9.
    The Core ValuesOf DevOps (CAMS Framework) ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 9 DevOps Culture Automation Infrastructure Continuous Integration & Delivery Test ManagementMeasurement Sharing Continuous Integration & Delivery Infrastructure Provisioning Test Management Source: http://devopsdictionary.com + http://itrevolution.com
  • 10.
    “DevOps is aculture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably.” Wikipedia DevOps Definition ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 10
  • 11.
    Classic ABAP Development ©DSAG/ Deutschsprachige SAP® Anwendergruppe e.V. 11 DEV QAS PROD SE80 Eclipse ADT SE80 Sandbox Project DEV System Source Code Repository Build Environment Artefact Repository Runtime environment ↯ ↯ CTS CTS
  • 12.
    Development in NonABAPLandscapes (e.g. SCP) ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 12 Source: sap.com
  • 13.
    ABAP Development withabapGit (1) ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 13 DEV QAS PROD Source: https://blogs.sap.com Git Repository Push Change & Push SE80 Eclipse ADT SE80 CTS CTS master abapGit • Code versioning and backup Enabler for code reviews • Enabler for experiments und rollbacks • No replacement of CTS • Open Source Projects: dotabap.org
  • 14.
    ABAP Development withabapGit(2) ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 14 DEV QAS PROD Source: https://blogs.sap.com Git Rep. Local DEV System Local DEV System Local DEV System Pull Push Pull Feature Branch 2 CTS CTS Master Local Dev Systems • Parallel development and experiments • abapGit as central source code repository • Continuous integration required (syncing) • Increased maintenance effort and costs (↯)
  • 15.
    Continuous Integration ©DSAG /Deutschsprachige SAP® Anwendergruppe e.V. 15 Source: https://martinfowler.com
  • 16.
    5 Systems with Release& Maintenance Track 5- vs 4-System Landscapes 4 Systems with Feature Toggles ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 16 DEV1 QAS PRODDEV2 TEST DEV PRODQASTEST
  • 17.
    Success Factor: FeatureToggles ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 17 Open Source: https://github.com/BTCAG/Featuretoggle Quelle: EWE AG / BTC AG
  • 18.
    Success Factor: TestManagement ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 18 Testing starts with requirements Business Process Mgmt. Automated Regression testing
  • 19.
    Success Factor: ChangeMgmt. ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 19 #NoSilos Agile Mindset TDD / Shift Left OOP, UI5, S/4, … RED GREEN REFACTOR ABAP
  • 20.
    Success Factor: SharedResponsibility Dev/Ops ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 20 Quelle: EWE AG / BTC AG
  • 21.
    What’s new @SAP? ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 21 Focused Build 2.0 Jenkins for ABAP concept Git @ SAP Cloud Platform Feature 1 Feature 2 ABAP Feature Toggles Feature 3 Feature 4
  • 22.
    Summary ©DSAG / DeutschsprachigeSAP® Anwendergruppe e.V. 22 DevOps and targets need to be clearly defined ABAP development must evolve (CI/CD) Automated testing is a requirement for fast release cycles (Organizational) change mgmt. is the critical success factor 1 2 3 4
  • 23.
    DevOps for ABAPCapability Map ©DSAG / Deutschsprachige SAP® Anwendergruppe e.V. 23 IDE (Eclipse ADT, SE80) Source Code Repository (abapGIT) Continuous Integration Agile & TDD Mindset Static Code Checks (ATC, Code Inspector) Feature Toggles Development Continuous Delivery Configuration Management System Provisioning (LaMa, Container) Capacity Mgmt. Dashboards Dev / Build Environment Provisioning Infrastructure Automation Change Impact Analysis (BPCA) Performance & Load Tests Functional Acceptance Tests Regression Tests Test Automation (CBTA, …) Code Review & Discussion Quality Development KPIs Application KPIs Monitoring Infrastructure & System Monitoring (Automated) Unit Tests (abapUnit) Transport Management Business Process Documentation CultureandChangeMgmt. ABAP Objects Development Guidelines “Requirement to Test” Process Infrastructure KPIs
  • 24.
    Thank you! Questions? ©DSAG /Deutschsprachige SAP® Anwendergruppe e.V. 24 Contact: sascha.junkert@festo.com @SaschaJunkert

Editor's Notes

  • #13 Maintain a Single Source Repository Automate the Build Make Your Build Self-Testing Everyone Commits To the Mainline Every Day Every commit (to baseline) should be built (Fix Broken Builds Immediately) Keep the Build Fast Test in a Clone of the Production Environment Make it Easy for Anyone to Get the Latest Executable Everyone can see what's happening Automate Deployment
  • #14 Eigene Grafik einfügen!
  • #15 Eigene Grafik einfügen!