SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
DevOps
Mehr Geschwindigkeit auf der Schiene
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
2
DevOps?
https://xkcd.com/2261/Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
3
http://modernagile.org
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
Unsere Mission als Plattform
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
Innovationsgeschwindigkeit erhöhen
API Ökosystem betreiben
Wissensaufbau für Developer im
Bereich Cloud/K8S
4
5
Unser Team: BusinessHub doPlatform
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
6
DB API Strategie
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
Greenfield – Yay!
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 7
Oops!
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 8
You build it, you run it, you are responsible
Lilienthal, Carola. Langlebige Software-Architekturen: Technische Schulden analysieren, begrenzen und abbauen.
dpunkt. verlag, 2019.
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 9
Jeder muss alles können!
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 10
Polyglotte Softwareentwicklung
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 11
ToolzooCarsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 12
13
Beispiel für Team-Tool-Entscheidung
-> Diagramme
PlantUML
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
14
Beispiel für Team-Tool-Entscheidung
-> Diagramme
ü Speichern aller Diagramme als .drawio.png in Git
Repositories
ü Quelldatei=Zielformat
ü Zugriff für jeden auf jedem Endgerät
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
15
Beispiel für Einzel-Tool-Entscheidungen
-> Code Dev Tools
q Keine Projektdateien in Git
q .editorconfig (https://editorconfig.org/)
q Projekt muss ohne IDE ausführbar sein
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
Geschwindigkeit erhöhen
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 16
Beispiel einer zentralen Pipeline
healthPath: '/actuator/health'
displayName: 'Spring Boot Template’
srcType: Maven
testing:
acceptance:
command: 'node /opt/app/src/runner application/xml `pwd`/test-reports/test-results.xml'
image: services/bh-images/newman-sidecar-image:latest
environment:
COLLECTION_FILE: src/test/resources/SpringBoot-AcceptanceTest.postman_collection.json
apis:
- name: ${APPLICATION_NAME}
uris: /${NAMESPACE_NAME}/${APPLICATION_NAME}
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
Zentrale Pipeline skaliert nicht!
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 18
19
pipeship bringt:
Workflow
Danke an Thomas Kappatsch & Nicolas Byl für diese FolienCarsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
Beispiel einer dezentralen Pipeline
---
include:
- https://.../rgbs-generic-stage-dev-local/release/0.71.0-20201029160137-b802e13-pipeship-pipeline.yaml
- https://.../business-hub-generic-prod-local/bizhub-pipeline/2.0.26-20201116165355-f538ec3-bizhub-
pipeline.yml
variables:
APPLICATION_URL_SUFFIX_TEST: ".berlin.dbcs.db.de"
APPLICATION_URL_SUFFIX_PROD: ".berlin.dbcs.db.de"
MAVEN_SETTINGS_PATH: "./pipeship/.m2/settings.xml"
# Run Postman/newman acceptance tests
automatic_test_run:
tags:
- test
variables:
STAGE: at
image:
name: postman/newman:4.5-alpine
entrypoint: [""]
script:
- 'newman run --insecure --env-var
"baseUrl=${GATEWAY_URL}/${CI_PROJECT_NAME}/${STAGE}/${CI_COMMIT_REF_NAME}/spring-boot-
template/v1" src/test/resources/SpringBoot-AcceptanceTest.postman_collection.json'
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
Complex Off-The-Shelf Software (COTSS)
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 21
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 22
23
Einführung von COTSS
v Tätigkeiten dauern seit ca. 27 Monaten an
v Bisher kein produktiver Nutzen
v Qualitätsprobleme
v Microservicearchitektur die durch komplizierte Automatisierung gemanaged wird
v DB hat den Hersteller dazu “überredet” OpenShift zu unterstützen
v Mehrfach Probleme entdeckt, die nur in OpenShift auftreten, da der Hersteller
den Support zwar zugesichert hat, aber nicht von Anfang an geplant hatte
v Abbruch der Installation auf OpenShift à Entscheidung für AWS EKS
v Viele “Monsterstories”, da das Zerteilen der technischen Integrationsaufgaben in
kleinere Stories häufig nicht sinnvoll möglich war. -> Wochenlange Laufzeit.
v Fehler die nicht nachvollziehbar waren, nur bei uns auftraten, und meistens nur in
Produktion.
v Ohne Konfigurationsänderungen unsererseits
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
Strategien für COTSS
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 24
Permanentes Testen
execute continious tests
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
Automatisierung von Workarounds
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 26
Architekturdokumentation
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
28
Tool Tips
Artillery – Simple Loadtesting
Diagrams.net – Versionierbare Diagramme für jeden (formerly known as draw.io)
Mocha, Chai, Sinon – Unser Javascript UnitTestStack
Spock – Java Tests mit Groovy
renovatebot – Automatische Dependency Updates per MergeRequest
Zalando API Guidelines – Beispiel für API Guidelines als Startpunkt
docToolchain – docs as code als fertige Toolchain
Postman/Newman – REST-Client: exploratives und automatisiertes Testen
excote – npm package für permanentes Testen (github.com/dbsystel/excote)
k9s – Kubernetes CLI-UI
mob – Simple CLI für remote mob programming
Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
www.dbsystel.de
Kontakt
Carsten.C.Hoffmann@deutschebahn.com
@Morl99
Carsten Hoffmann
Architekturschaffendes DevOps-Teammitglied
DB Systel GmbH

Más contenido relacionado

La actualidad más candente

Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Kubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererKubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererQAware GmbH
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsQAware GmbH
 
Making the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICMaking the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICQAware GmbH
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesQAware GmbH
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!Tobias Schneck
 
IPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenIPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenRalf Eggert
 
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018Puppet
 
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsDevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsStephan Kaps
 
Das Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsDas Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsChristian Erhardt
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenContinuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenNicholas Dille
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?Aarno Aukia
 

La actualidad más candente (20)

Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Kubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererKubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container Orchestrierer
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos Engineerings
 
Making the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICMaking the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUIC
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
 
IPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenIPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
IPC 2017 - Legacy-Anwendungen mit Expressive modernisieren
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
 
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsDevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
 
Das Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsDas Kung Fu des Code Reviews
Das Kung Fu des Code Reviews
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenContinuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Aqiptech broschüre 2016
Aqiptech broschüre 2016Aqiptech broschüre 2016
Aqiptech broschüre 2016
 
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
 

Similar a DevOps - Mehr Geschwindigkeit auf der Schiene

Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatMarkus Goldbeck
 
DevOps im Konzern: Autonomie vs Betriebssicherheit
DevOps im Konzern: Autonomie vs BetriebssicherheitDevOps im Konzern: Autonomie vs Betriebssicherheit
DevOps im Konzern: Autonomie vs BetriebssicherheitJohannes Dienst
 
Config as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as CodeConfig as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as CodeDevOps Meetup Bern
 
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)Johannes Dienst
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019Markus Speth
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernbergcusy GmbH
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOpsAarno Aukia
 
Migration von Applikationen in die Cloud
Migration von Applikationen in die CloudMigration von Applikationen in die Cloud
Migration von Applikationen in die CloudAarno Aukia
 
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...DevDay Dresden
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023Johannes Kleinlercher
 
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-TeamsDev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-TeamsDevDay Dresden
 
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldInfrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldDaniel Steiger
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
CCD2014 - Vortrag NetworkedAssets und Kabel Deutschland
CCD2014 - Vortrag NetworkedAssets und Kabel DeutschlandCCD2014 - Vortrag NetworkedAssets und Kabel Deutschland
CCD2014 - Vortrag NetworkedAssets und Kabel DeutschlandCommunardo GmbH
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core ApplicationsRobin Sedlaczek
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...Marc Müller
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 

Similar a DevOps - Mehr Geschwindigkeit auf der Schiene (20)

Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with Behat
 
DevOps im Konzern: Autonomie vs Betriebssicherheit
DevOps im Konzern: Autonomie vs BetriebssicherheitDevOps im Konzern: Autonomie vs Betriebssicherheit
DevOps im Konzern: Autonomie vs Betriebssicherheit
 
Config as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as CodeConfig as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as Code
 
Linuxtag holgerkoch openqrm_2013
Linuxtag holgerkoch openqrm_2013Linuxtag holgerkoch openqrm_2013
Linuxtag holgerkoch openqrm_2013
 
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernberg
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOps
 
Migration von Applikationen in die Cloud
Migration von Applikationen in die CloudMigration von Applikationen in die Cloud
Migration von Applikationen in die Cloud
 
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
 
DevOps - ab auf die Reise
DevOps - ab auf die ReiseDevOps - ab auf die Reise
DevOps - ab auf die Reise
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023
 
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-TeamsDev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
 
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldInfrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
CCD2014 - Vortrag NetworkedAssets und Kabel Deutschland
CCD2014 - Vortrag NetworkedAssets und Kabel DeutschlandCCD2014 - Vortrag NetworkedAssets und Kabel Deutschland
CCD2014 - Vortrag NetworkedAssets und Kabel Deutschland
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
DevOps jenseits der Tools
DevOps jenseits der ToolsDevOps jenseits der Tools
DevOps jenseits der Tools
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 

DevOps - Mehr Geschwindigkeit auf der Schiene

  • 1. DevOps Mehr Geschwindigkeit auf der Schiene Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 3. 3 http://modernagile.org Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 4. Unsere Mission als Plattform Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB Innovationsgeschwindigkeit erhöhen API Ökosystem betreiben Wissensaufbau für Developer im Bereich Cloud/K8S 4
  • 5. 5 Unser Team: BusinessHub doPlatform Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 6. 6 DB API Strategie Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 7. Greenfield – Yay! Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 7
  • 8. Oops! Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 8
  • 9. You build it, you run it, you are responsible Lilienthal, Carola. Langlebige Software-Architekturen: Technische Schulden analysieren, begrenzen und abbauen. dpunkt. verlag, 2019. Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 9
  • 10. Jeder muss alles können! Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 10
  • 11. Polyglotte Softwareentwicklung Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 11
  • 12. ToolzooCarsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 12
  • 13. 13 Beispiel für Team-Tool-Entscheidung -> Diagramme PlantUML Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 14. 14 Beispiel für Team-Tool-Entscheidung -> Diagramme ü Speichern aller Diagramme als .drawio.png in Git Repositories ü Quelldatei=Zielformat ü Zugriff für jeden auf jedem Endgerät Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 15. 15 Beispiel für Einzel-Tool-Entscheidungen -> Code Dev Tools q Keine Projektdateien in Git q .editorconfig (https://editorconfig.org/) q Projekt muss ohne IDE ausführbar sein Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 16. Geschwindigkeit erhöhen Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 16
  • 17. Beispiel einer zentralen Pipeline healthPath: '/actuator/health' displayName: 'Spring Boot Template’ srcType: Maven testing: acceptance: command: 'node /opt/app/src/runner application/xml `pwd`/test-reports/test-results.xml' image: services/bh-images/newman-sidecar-image:latest environment: COLLECTION_FILE: src/test/resources/SpringBoot-AcceptanceTest.postman_collection.json apis: - name: ${APPLICATION_NAME} uris: /${NAMESPACE_NAME}/${APPLICATION_NAME} Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 18. Zentrale Pipeline skaliert nicht! Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 18
  • 19. 19 pipeship bringt: Workflow Danke an Thomas Kappatsch & Nicolas Byl für diese FolienCarsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 20. Beispiel einer dezentralen Pipeline --- include: - https://.../rgbs-generic-stage-dev-local/release/0.71.0-20201029160137-b802e13-pipeship-pipeline.yaml - https://.../business-hub-generic-prod-local/bizhub-pipeline/2.0.26-20201116165355-f538ec3-bizhub- pipeline.yml variables: APPLICATION_URL_SUFFIX_TEST: ".berlin.dbcs.db.de" APPLICATION_URL_SUFFIX_PROD: ".berlin.dbcs.db.de" MAVEN_SETTINGS_PATH: "./pipeship/.m2/settings.xml" # Run Postman/newman acceptance tests automatic_test_run: tags: - test variables: STAGE: at image: name: postman/newman:4.5-alpine entrypoint: [""] script: - 'newman run --insecure --env-var "baseUrl=${GATEWAY_URL}/${CI_PROJECT_NAME}/${STAGE}/${CI_COMMIT_REF_NAME}/spring-boot- template/v1" src/test/resources/SpringBoot-AcceptanceTest.postman_collection.json' Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 21. Complex Off-The-Shelf Software (COTSS) Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 21
  • 22. Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 22
  • 23. 23 Einführung von COTSS v Tätigkeiten dauern seit ca. 27 Monaten an v Bisher kein produktiver Nutzen v Qualitätsprobleme v Microservicearchitektur die durch komplizierte Automatisierung gemanaged wird v DB hat den Hersteller dazu “überredet” OpenShift zu unterstützen v Mehrfach Probleme entdeckt, die nur in OpenShift auftreten, da der Hersteller den Support zwar zugesichert hat, aber nicht von Anfang an geplant hatte v Abbruch der Installation auf OpenShift à Entscheidung für AWS EKS v Viele “Monsterstories”, da das Zerteilen der technischen Integrationsaufgaben in kleinere Stories häufig nicht sinnvoll möglich war. -> Wochenlange Laufzeit. v Fehler die nicht nachvollziehbar waren, nur bei uns auftraten, und meistens nur in Produktion. v Ohne Konfigurationsänderungen unsererseits Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 24. Strategien für COTSS Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 24
  • 25. Permanentes Testen execute continious tests Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 26. Automatisierung von Workarounds Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB 26
  • 27. Architekturdokumentation Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB
  • 28. 28 Tool Tips Artillery – Simple Loadtesting Diagrams.net – Versionierbare Diagramme für jeden (formerly known as draw.io) Mocha, Chai, Sinon – Unser Javascript UnitTestStack Spock – Java Tests mit Groovy renovatebot – Automatische Dependency Updates per MergeRequest Zalando API Guidelines – Beispiel für API Guidelines als Startpunkt docToolchain – docs as code als fertige Toolchain Postman/Newman – REST-Client: exploratives und automatisiertes Testen excote – npm package für permanentes Testen (github.com/dbsystel/excote) k9s – Kubernetes CLI-UI mob – Simple CLI für remote mob programming Carsten Hoffmann | @Morl99 @DBSystel @DevOps_DB