SAP, DevOps && Cx

SAP InsideTrack Timisoara, April 2018
Prerequisites, current state and a look into the foreseeable future

#sitTSR

About me

  • Technical Guidance Unit @ msg systems
  • organizer and speaker at #itconsapcj, now at it's 6th edition.   www.itconferencesap.com
  • Interests & Background:
    • #CloudNative, #CloudFoundry
    • #ABAP, #BOPF, #S4HANA

https://people.sap.com/victor.ionescu

@ivictor88 ( <-- look here for slides )

ionescuv.github.io

Why DevOps?

(A Developer Perspective)

How far into your project lifecycle are developers involved?

https://raygun.com/blog/software-testing/

The Result

Endless Documentation that is:

  • Always Incomplete

  • Never up-to-date

The Result

The Go-Live

a.k.a. High stress-levels, Weekend work & Emergency Conference Calls

An Alternative: Some Guiding Principles

Everybody is responsible for the delivery

  • i.e. RUNNING software, in PRODUCTION
  • not some KB of source code saved on a disk

Build quality in

  • Test-Driven-Development
  • Automated feature tests

Automate everything

Reliable software delivery

  • Practice the delivery

"If it hurts do it more often"

  • Automate the recovery
  • Infrastructure
  • Configuration
  • Tests
  • Delivery Pipelines

Scenario 1: Continuous Delivery on the SAP Cloud Platform

What it looks like

  • Develop locally
  • Push to SCM
  • Every change produces a releasable software version

git

CI/CD Pipeline

v.1.1.0

read that again:

Every change produces a releasable software version

"Trust is built in drops and lost in buckets"

DevOps principles..

..in practice

  • no silos
  • shared responsibility

Test Pyramid in Practice

  • unit tests
  • integration tests
  • contract tests
  • e2e tests

The Anatomy of a CD Pipeline 

Scenario 2:

A look into the S/4 world

Constraints in a classical ABAP environment..

  • No "offline" (or local) development
  • heavyweight systems
  • Constraints of the software delivery process (transports)

Dev

Prod

Transport Route

local IDE

Netweaver

Netweaver

Test

Netweaver

local IDE

local IDE

Unstable dev. environment, ill-suited for automated test execution (except unit test)

rigid software delivery

no rollback

snowflake environments

Stage?

on-the-fly environment creation not feasible

But newer solutions bring other opportunities

..and momentum is slowly rising..

One potential approach, many open questions...

Dev

Test

git

pull

static code check

unit tests / int. tests

deploy to staging

release

Staging

ABAP container

Transport Route

Netweaver

Netweaver

(or ABAP container?)

(or not?)

triggered by?

CI/CD Pipeline

local IDE

Full-stack support

Dev

Test

git

Staging

Netweaver

Netweaver

CI/CD Pipeline

local IDE

local IDE

(UI5)

ABAP & UI5 resources

end-to-end tests on the UI

Hybrid Scenarios

Given..

  • S/4HANA On Premise
  • Side-by-Side Extensions on SAP Cloud Platform

Netweaver

S/4HANA OnPremise

SAP Cloud Platform

Side-by-Side

Extensions

.. How is Cx still achievable?

CTS+ and MTAs

  1. OnPrem - Cloud "binding"
  2. MTAs attached to TRs
  3. CTS+ handles deployment

Netweaver

S/4HANA OnPremise

SAP Cloud Platform

Side-by-Side

Extensions

Transport:

  • ABAP
  • UI5
  • MTAs
> ctsattach -a MTA -f archive.mtar -sid DEV

Prod

Clustered transports

Test

Test

Prod

Dev

Dev

Netweaver

Netweaver

Netweaver

SCP sub-account

SCP sub-account

SCP sub-account

DEV cluster

TEST cluster

PROD cluster

cCTS

Further reading: open SAP Course

"Cloud Native Operations"

ABAP

MTA

Conclusion

  1. Internalize the Principles

2. Apply them to your context

3. Find the right tools to enable you

Further Reading

Made with Slides.com