SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Mario-Leander Reimer, QAware GmbH
mario-leander.reimer@qaware.de
Migration von BMW Aftersales
Systemen auf eine Cloud Plattform
DigiTalk
München, 19. Oktober 2017
Die Verwirklichung der Strategie Number ONE > NEXT
führt zu einer Transformation hin zu einer Tech Company.
„DieWertschöpfungverschiebt
sichvonder Hardwarein
RichtungSoftwareund
Services.“
HaraldKrüger, 16.03.2016
BMWGroupBilanzpressekonferenz
Today
Products
Mobility&Services
Software&Services(Tech)
Tomorrow
Digitalcustomer experience, connected and automated driving and digitalized business processes leadto atransformation of
the BMWGrouptowards software and services (Tech).
Products
Mobility&Services
Effect on:
• Customer Experience
• Shareholder/Analysts
• Stakeholder /Partner
• Employees /Attractiveness
2
3
Lassen sich Bestandssysteme mit vertretbarem
Aufwand in Richtung Cloud entwickeln?
Containerization
12-Factor App Principles
Microservices
Cloud-native Apps
Monolithic Deployment
Traditional Infrastructure
A <<System / Plattform>>
IO Business Applications (BDR)
A <<Ext. System>>
Saferpay
A <<System>>
SMTP.MUC
A <<System>>
SOFAK
Berechtigter Dritter (PKW),
Berechtigter Dritter (Motorrad)
A <<System>>
P-CODE (BDR)
A <<Subsystem>>
Tuner APP (BDR)
A <<Subsystem>>
VIN Decoder (BDR)
A <<System>>
ITSM SUITE
OSMC User Security Context
A <<System>>
Integrierte Web-Applikation
B2I Security Context
B2I Security Context
A <<System>>
OSMC (BDR)
H <<System>>
Fahrzeug
H <<System>>
Fahrzeuginterface (PTT)
I <<System>>
LAAS
A <<System>>
AOS (BDR)
A <<Subsystem>>
AOS-TS (BDR)
B2I Security Context
A <<System>>
B2I-UA (BDR)
A <<Ext. System>>
BZAFS
A <<System>>
Group Directory
A <<System>>
APRIL (BDR)
A <<System>>
Integr. Client-Appl.
OSS Tech Security Context
(OSS Client Zertifikat)
A <<System>>
externes System
B2I-UB DB
AOS-TS DB
OSMC DB
AOS DB
P-CODE DB
B2I Security Context
I <<Execution Unit>>
OpenShift CNAP
A <<System>>
Billing Service
A <<System>>
Payment Service
A <<System>>
Process Service
A <<Ext. System>>
ASBC
A <<Ext. System>>
SAP (EAI/TBB)
4
Hyperscale, Antifragilität und Continuous Delivery sind
wesentliche Treiber für die Evolution unserer Systeme.
Systemverbund
Berechtigte Dritte (BDR)
Stand R1711
Fakten schaffen. Wir brauchen eine belastbar Aufwands-
und Ressourcenprognose.
5
Fragenkatalog
Welche Komplexität hat das System?
Welche Musterlösung verwendet das System?
Welche Technologien werden verwendet?
….
Software-Analyse
Statische Analyse mit Windup
Architektur Analyse mit S101
Proof of Concepts
Migration von APRIL
Migration der B2I-UA
QAware Know How
Erfahrung aus anderen Migrationen
Kontenrahmen
Eingespieltes Team
Wichtige Design Prinzipien Cloud-nativer Applikationen
dienen als Leitplanken für benötigte Umbauten.
6
Design for Distribution: Containers; microservices; API getriebene Entwicklung.
Design for Performance: Responsive; Concurrent; Ressourcen effizient.
Design for Automation: Automatisierung von Dev & Ops Tasks.
Design for Resiliency: Fehlertolerant und selbstheilend.
Design for Elasticity: Skaliert dynamisch und reagiert auf Stimuli.
Design for Delivery: Kurze Roundtrips und automatisierte Provisionierung.
Design for Diagnosability: Cluster-weite Logs, Metriken und Traces.
7
Ein gestuftes Vorgehen macht die Migration planbar, die
technologische Risiken werden leichter beherrschbar.
Loosely coupled microservices.
Scales dynamically based on load.
Level 3: Cloud Native
Fault tolerant and resilient design.
Metrics and monitoring built-in.
Level 2: Cloud Resilient
Adheres to the 12-factor app principles.
Cloud friendly app server runtime.
Level 1: Cloud Friendly
Executed as self-contained image.
Runs on virtualized HW and file system.
Level 0: Cloud Ready
https://www.opendatacenteralliance.org/docs/architecting_cloud_aware_applications.pdf
Software
Industrialisierung
Software Industrialisierung ist eine Schlüsselanforderung
für erfolgreiches DevOps und Continuous Delivery.
9
Hoher Automatisierungsgrad von arbeits-
intensiven und wiederkehrenden Tasks
Bessere Software-Qualität durch eine
abgestimmte Tool-Chain
Mehr Produktivität und Zufriedenheit der
Entwickler-Teams
Bessere Kosten-Effizienz und
Wettbewerbsfähigkeit
Nutzung der Agile Delivery Tool Chain (ATC)
Migration aller BDR Repositories von SVN nach
Git mit voller Historie innerhalb 1 Woche
Anpassung und Migration aller Jenkins Build-Jobs
auf neue Build Infrastruktur
More improvements to come …
Durch die Evolution der Build Toolchain werden schnelle
Roundtrips und effiziente Feature Entwicklung möglich.
10
Drastisch reduzierte Build-Zeiten für mehr
Produktivität und Qualität
Migration von Bestandsprojekten mit Augenmaß
https://gradle.org/gradle-vs-maven-performance/
Unsere Continuous Integration & Deployment Pipeline.
11
Einfaches Nachrüsten von Metriken, Health Endpoints,
und Resilienz durch Verwendung von OSS Bibliotheken.
12
<dependencies>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>${metrics.version}</version>
</dependency>
</dependencies>
Verwendung von Dropwizard Metrics für
Metriken und Health Endpoints
Einfache Integration in ML GFv4 Anwendungen
Definition von Custom Health Checks möglich
Verwendung als Liveness und Readiness Probes
Verwendung von Netflix Hystrix für den
resilienten Aufruf von Fremdsystemen
Einfache Integration in ML GFv4 Anwendungen
Circuit Breaker und Bulk Heading
Integriert sich nahtlos mit Dropwizard Metrics
<dependencies>
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-core</artifactId>
<version>${hystrix.version}</version>
</dependency>
</dependencies>
Industrialisierte Migration aller Deployment Artefakte für
eine schnelle und einheitliche Containerisierung.
13
BMW Staging Tool
XML Files
kompose
OpenShift Deployment
YAML Files
Dockerfile +
docker-compose.yml
go2cnap
Local Development Cloud DeploymentTraditional Deployment
Microservices
15
„Decomposing the Monolith“ am Beispiel von APRIL.
Base Runtime (Mule ESB 3.7)
Monitoring
Finance
Adapter
Logging
Cert
Adapter
Vehicle
Adapter
Commercial
Adapter
Security
APRIL Runtime
Tracing
…
Portal
Adapter
B2I
Adapter
Session
Adapter
Log
Adapter
Score
Adapter
Legacy
Adapter
Togglz
FASTA
Adapter
Alle fachlichen Komponenten und
Schnittstellen in einer riesigen,
gemeinsamen Deployment Einheit
Querschnittskomponenten
16
Dev Components Ops Components?:1
System
Subsystems
Components
Services
Guter Ausgangspunkt
DecompositionTrade-Offs
Microservices
Nanoservices
Macroservices
Monolith
+ Flexiblere Skalierung möglich
+ Runtime Isolation (Crash, Slow-Down, …)
+ Unabhängige Releases, Deployments,Teams
+ Bessere Ressourcennutzung
− Verteilungsschulden: Latenz
− Steigende Infrastruktur Komplexität
− SteigendeTroubleshooting Komplexität
− Steigende Integration-Komplexität
17
„Decomposing the Monolith“ am Beispiel von APRIL.
Base Runtime (Mule ESB 3.7)
Monitoring
B2I
Adapter
Logging
User
Adapter
Portal
Adapter
Integration
Adapter
Security
APRIL AOS Deployment
Tracing
… Base Runtime (Mule ESB 3.7)
Monitoring Logging
Commercial
Adapter
Security
APRIL Commercial
Deployment
Tracing
Base Runtime (Mule ESB 3.7)
Monitoring Logging
Vehicle
Adapter
Security
APRIL Vehicle
Deployment
Tracing
Base Runtime (Mule ESB 3.7)
Monitoring Logging
Finance
Adapter
Security
APRIL Finance
Deployment
Tracing
Base Runtime (Mule ESB 3.7)
Monitoring
Score
Adapter
Logging
FASTA
Adapter
Cert
Adapter
OSS Legacy
Adapter
Security
APRIL Client Deployment
Tracing
…
Ein Deployment pro
System-Context
Transform: ein Teil der Bestandsfunktionalität wird extrahiert
und in ein neues, modernes System eingebaut.
Coexist: beide Systeme koexistieren für eine Zeit. Aufrufe
der alten Funktionalität werden umgeleitet.
Eliminate: alte Funktionalität wird aus dem Bestandssystem
entfernt sobald diese nicht mehr genutzt wird.
Eignet sich besonders für Web - oder API-Monolithen.
Problematisch bei Non-RESTful URL Strukturen.
Schnittweise Evolution und Cloud-nativer Neubau mit
dem Strangler Pattern.
18https://martinfowler.com/bliki/StranglerApplication.html
QAware GmbH München
Aschauer Straße 32
81549 München
Tel.: +49 (0) 89 23 23 15 – 0
Fax: +49 (0) 89 23 23 15 – 129 github.com/qaware
linkedin.com/qaware slideshare.net/qaware
twitter.com/qaware xing.com/qaware
youtube.com/qawaregmbh

Weitere ähnliche Inhalte

Was ist angesagt?

Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue Schwarz
QAware GmbH
 
Technologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von CitrixTechnologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von Citrix
Digicomp Academy AG
 
120613 conference v mware v-forum-juergen urbanski-final-de
120613 conference v mware v-forum-juergen urbanski-final-de120613 conference v mware v-forum-juergen urbanski-final-de
120613 conference v mware v-forum-juergen urbanski-final-de
Michael Pauly
 

Was ist angesagt? (20)

Cloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und LoesungenCloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und Loesungen
 
Ist Ihr Unternehmen reif für Microservices?
Ist Ihr Unternehmen reif für Microservices?Ist Ihr Unternehmen reif für Microservices?
Ist Ihr Unternehmen reif für Microservices?
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu Microservices
 
Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue Schwarz
 
Agiles Arbeiten - Mythen, Trends und Best Practices
Agiles Arbeiten  - Mythen, Trends und Best PracticesAgiles Arbeiten  - Mythen, Trends und Best Practices
Agiles Arbeiten - Mythen, Trends und Best Practices
 
Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice Architekturen
 
Technologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von CitrixTechnologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von Citrix
 
Cloud Konzepte und Strategien
Cloud Konzepte und StrategienCloud Konzepte und Strategien
Cloud Konzepte und Strategien
 
120613 conference v mware v-forum-juergen urbanski-final-de
120613 conference v mware v-forum-juergen urbanski-final-de120613 conference v mware v-forum-juergen urbanski-final-de
120613 conference v mware v-forum-juergen urbanski-final-de
 
Verteidigung - "Migration zu Kubernetes: Anforderungen, Umsetzung und Auswert...
Verteidigung - "Migration zu Kubernetes: Anforderungen, Umsetzung und Auswert...Verteidigung - "Migration zu Kubernetes: Anforderungen, Umsetzung und Auswert...
Verteidigung - "Migration zu Kubernetes: Anforderungen, Umsetzung und Auswert...
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
BATbern41 Microservices@Enterprise
BATbern41 Microservices@EnterpriseBATbern41 Microservices@Enterprise
BATbern41 Microservices@Enterprise
 
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
 
Webinar – IoT-Connectivity mit SAP und Multicloud
Webinar – IoT-Connectivity mit SAP und MulticloudWebinar – IoT-Connectivity mit SAP und Multicloud
Webinar – IoT-Connectivity mit SAP und Multicloud
 
Hinter die Marketing-Kulissen geschaut - Was bedeutet der Cloud-Trend für die...
Hinter die Marketing-Kulissen geschaut - Was bedeutet der Cloud-Trend für die...Hinter die Marketing-Kulissen geschaut - Was bedeutet der Cloud-Trend für die...
Hinter die Marketing-Kulissen geschaut - Was bedeutet der Cloud-Trend für die...
 
Cloud-Native ohne Vendor Lock-in mit Kubernetes
Cloud-Native ohne Vendor Lock-in mit KubernetesCloud-Native ohne Vendor Lock-in mit Kubernetes
Cloud-Native ohne Vendor Lock-in mit Kubernetes
 
BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...
BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...
BAT40 Mobiliar Koller Mösching AI@Mobiliar Wie AI-Services in der Mobiliar ge...
 
Die Cloud als Grundlage für die IT von Morgen
Die Cloud als Grundlage für die IT von MorgenDie Cloud als Grundlage für die IT von Morgen
Die Cloud als Grundlage für die IT von Morgen
 
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
 
Azure WorkshopPart1 Intro
Azure WorkshopPart1   IntroAzure WorkshopPart1   Intro
Azure WorkshopPart1 Intro
 

Ähnlich wie Migration von Aftersales Systemen auf eine Cloud Plattform

Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
Christian Baranowski
 

Ähnlich wie Migration von Aftersales Systemen auf eine Cloud Plattform (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...
 
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.
 
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.
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
PLM Open Hours - Cloud PLM und PLM Trends
PLM Open Hours - Cloud PLM und PLM TrendsPLM Open Hours - Cloud PLM und PLM Trends
PLM Open Hours - Cloud PLM und PLM Trends
 
CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVs
 
Innovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenInnovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzen
 
Cloud Ready? Migration von Anwendungen in die Cloud
Cloud Ready? Migration von Anwendungen in die CloudCloud Ready? Migration von Anwendungen in die Cloud
Cloud Ready? Migration von Anwendungen in die Cloud
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1
 
Cloud computing wenamix
Cloud computing wenamixCloud computing wenamix
Cloud computing wenamix
 
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdfDACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
Mobiles und flexibles Arbeiten mit der CANCOM AHP Private Cloud
Mobiles und flexibles Arbeiten mit der CANCOM AHP Private CloudMobiles und flexibles Arbeiten mit der CANCOM AHP Private Cloud
Mobiles und flexibles Arbeiten mit der CANCOM AHP Private Cloud
 
Wie sich SaaS und PaaS in Unternehmen durchsetzen wird
Wie sich SaaS und PaaS in Unternehmen durchsetzen wirdWie sich SaaS und PaaS in Unternehmen durchsetzen wird
Wie sich SaaS und PaaS in Unternehmen durchsetzen wird
 
Oracle Cloud
Oracle CloudOracle Cloud
Oracle Cloud
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
 
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
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
 
ForgeRock Webinar - Was ist Identity Relationship Management?
ForgeRock Webinar - Was ist Identity Relationship Management?ForgeRock Webinar - Was ist Identity Relationship Management?
ForgeRock Webinar - Was ist Identity Relationship Management?
 

Mehr von QAware GmbH

"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
QAware GmbH
 

Mehr von QAware GmbH (20)

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 

Migration von Aftersales Systemen auf eine Cloud Plattform

  • 1. Mario-Leander Reimer, QAware GmbH mario-leander.reimer@qaware.de Migration von BMW Aftersales Systemen auf eine Cloud Plattform DigiTalk München, 19. Oktober 2017
  • 2. Die Verwirklichung der Strategie Number ONE > NEXT führt zu einer Transformation hin zu einer Tech Company. „DieWertschöpfungverschiebt sichvonder Hardwarein RichtungSoftwareund Services.“ HaraldKrüger, 16.03.2016 BMWGroupBilanzpressekonferenz Today Products Mobility&Services Software&Services(Tech) Tomorrow Digitalcustomer experience, connected and automated driving and digitalized business processes leadto atransformation of the BMWGrouptowards software and services (Tech). Products Mobility&Services Effect on: • Customer Experience • Shareholder/Analysts • Stakeholder /Partner • Employees /Attractiveness 2
  • 3. 3 Lassen sich Bestandssysteme mit vertretbarem Aufwand in Richtung Cloud entwickeln? Containerization 12-Factor App Principles Microservices Cloud-native Apps Monolithic Deployment Traditional Infrastructure
  • 4. A <<System / Plattform>> IO Business Applications (BDR) A <<Ext. System>> Saferpay A <<System>> SMTP.MUC A <<System>> SOFAK Berechtigter Dritter (PKW), Berechtigter Dritter (Motorrad) A <<System>> P-CODE (BDR) A <<Subsystem>> Tuner APP (BDR) A <<Subsystem>> VIN Decoder (BDR) A <<System>> ITSM SUITE OSMC User Security Context A <<System>> Integrierte Web-Applikation B2I Security Context B2I Security Context A <<System>> OSMC (BDR) H <<System>> Fahrzeug H <<System>> Fahrzeuginterface (PTT) I <<System>> LAAS A <<System>> AOS (BDR) A <<Subsystem>> AOS-TS (BDR) B2I Security Context A <<System>> B2I-UA (BDR) A <<Ext. System>> BZAFS A <<System>> Group Directory A <<System>> APRIL (BDR) A <<System>> Integr. Client-Appl. OSS Tech Security Context (OSS Client Zertifikat) A <<System>> externes System B2I-UB DB AOS-TS DB OSMC DB AOS DB P-CODE DB B2I Security Context I <<Execution Unit>> OpenShift CNAP A <<System>> Billing Service A <<System>> Payment Service A <<System>> Process Service A <<Ext. System>> ASBC A <<Ext. System>> SAP (EAI/TBB) 4 Hyperscale, Antifragilität und Continuous Delivery sind wesentliche Treiber für die Evolution unserer Systeme. Systemverbund Berechtigte Dritte (BDR) Stand R1711
  • 5. Fakten schaffen. Wir brauchen eine belastbar Aufwands- und Ressourcenprognose. 5 Fragenkatalog Welche Komplexität hat das System? Welche Musterlösung verwendet das System? Welche Technologien werden verwendet? …. Software-Analyse Statische Analyse mit Windup Architektur Analyse mit S101 Proof of Concepts Migration von APRIL Migration der B2I-UA QAware Know How Erfahrung aus anderen Migrationen Kontenrahmen Eingespieltes Team
  • 6. Wichtige Design Prinzipien Cloud-nativer Applikationen dienen als Leitplanken für benötigte Umbauten. 6 Design for Distribution: Containers; microservices; API getriebene Entwicklung. Design for Performance: Responsive; Concurrent; Ressourcen effizient. Design for Automation: Automatisierung von Dev & Ops Tasks. Design for Resiliency: Fehlertolerant und selbstheilend. Design for Elasticity: Skaliert dynamisch und reagiert auf Stimuli. Design for Delivery: Kurze Roundtrips und automatisierte Provisionierung. Design for Diagnosability: Cluster-weite Logs, Metriken und Traces.
  • 7. 7 Ein gestuftes Vorgehen macht die Migration planbar, die technologische Risiken werden leichter beherrschbar. Loosely coupled microservices. Scales dynamically based on load. Level 3: Cloud Native Fault tolerant and resilient design. Metrics and monitoring built-in. Level 2: Cloud Resilient Adheres to the 12-factor app principles. Cloud friendly app server runtime. Level 1: Cloud Friendly Executed as self-contained image. Runs on virtualized HW and file system. Level 0: Cloud Ready https://www.opendatacenteralliance.org/docs/architecting_cloud_aware_applications.pdf
  • 9. Software Industrialisierung ist eine Schlüsselanforderung für erfolgreiches DevOps und Continuous Delivery. 9 Hoher Automatisierungsgrad von arbeits- intensiven und wiederkehrenden Tasks Bessere Software-Qualität durch eine abgestimmte Tool-Chain Mehr Produktivität und Zufriedenheit der Entwickler-Teams Bessere Kosten-Effizienz und Wettbewerbsfähigkeit
  • 10. Nutzung der Agile Delivery Tool Chain (ATC) Migration aller BDR Repositories von SVN nach Git mit voller Historie innerhalb 1 Woche Anpassung und Migration aller Jenkins Build-Jobs auf neue Build Infrastruktur More improvements to come … Durch die Evolution der Build Toolchain werden schnelle Roundtrips und effiziente Feature Entwicklung möglich. 10 Drastisch reduzierte Build-Zeiten für mehr Produktivität und Qualität Migration von Bestandsprojekten mit Augenmaß https://gradle.org/gradle-vs-maven-performance/
  • 11. Unsere Continuous Integration & Deployment Pipeline. 11
  • 12. Einfaches Nachrüsten von Metriken, Health Endpoints, und Resilienz durch Verwendung von OSS Bibliotheken. 12 <dependencies> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${metrics.version}</version> </dependency> </dependencies> Verwendung von Dropwizard Metrics für Metriken und Health Endpoints Einfache Integration in ML GFv4 Anwendungen Definition von Custom Health Checks möglich Verwendung als Liveness und Readiness Probes Verwendung von Netflix Hystrix für den resilienten Aufruf von Fremdsystemen Einfache Integration in ML GFv4 Anwendungen Circuit Breaker und Bulk Heading Integriert sich nahtlos mit Dropwizard Metrics <dependencies> <dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hystrix-core</artifactId> <version>${hystrix.version}</version> </dependency> </dependencies>
  • 13. Industrialisierte Migration aller Deployment Artefakte für eine schnelle und einheitliche Containerisierung. 13 BMW Staging Tool XML Files kompose OpenShift Deployment YAML Files Dockerfile + docker-compose.yml go2cnap Local Development Cloud DeploymentTraditional Deployment
  • 15. 15 „Decomposing the Monolith“ am Beispiel von APRIL. Base Runtime (Mule ESB 3.7) Monitoring Finance Adapter Logging Cert Adapter Vehicle Adapter Commercial Adapter Security APRIL Runtime Tracing … Portal Adapter B2I Adapter Session Adapter Log Adapter Score Adapter Legacy Adapter Togglz FASTA Adapter Alle fachlichen Komponenten und Schnittstellen in einer riesigen, gemeinsamen Deployment Einheit Querschnittskomponenten
  • 16. 16 Dev Components Ops Components?:1 System Subsystems Components Services Guter Ausgangspunkt DecompositionTrade-Offs Microservices Nanoservices Macroservices Monolith + Flexiblere Skalierung möglich + Runtime Isolation (Crash, Slow-Down, …) + Unabhängige Releases, Deployments,Teams + Bessere Ressourcennutzung − Verteilungsschulden: Latenz − Steigende Infrastruktur Komplexität − SteigendeTroubleshooting Komplexität − Steigende Integration-Komplexität
  • 17. 17 „Decomposing the Monolith“ am Beispiel von APRIL. Base Runtime (Mule ESB 3.7) Monitoring B2I Adapter Logging User Adapter Portal Adapter Integration Adapter Security APRIL AOS Deployment Tracing … Base Runtime (Mule ESB 3.7) Monitoring Logging Commercial Adapter Security APRIL Commercial Deployment Tracing Base Runtime (Mule ESB 3.7) Monitoring Logging Vehicle Adapter Security APRIL Vehicle Deployment Tracing Base Runtime (Mule ESB 3.7) Monitoring Logging Finance Adapter Security APRIL Finance Deployment Tracing Base Runtime (Mule ESB 3.7) Monitoring Score Adapter Logging FASTA Adapter Cert Adapter OSS Legacy Adapter Security APRIL Client Deployment Tracing … Ein Deployment pro System-Context
  • 18. Transform: ein Teil der Bestandsfunktionalität wird extrahiert und in ein neues, modernes System eingebaut. Coexist: beide Systeme koexistieren für eine Zeit. Aufrufe der alten Funktionalität werden umgeleitet. Eliminate: alte Funktionalität wird aus dem Bestandssystem entfernt sobald diese nicht mehr genutzt wird. Eignet sich besonders für Web - oder API-Monolithen. Problematisch bei Non-RESTful URL Strukturen. Schnittweise Evolution und Cloud-nativer Neubau mit dem Strangler Pattern. 18https://martinfowler.com/bliki/StranglerApplication.html
  • 19. QAware GmbH München Aschauer Straße 32 81549 München Tel.: +49 (0) 89 23 23 15 – 0 Fax: +49 (0) 89 23 23 15 – 129 github.com/qaware linkedin.com/qaware slideshare.net/qaware twitter.com/qaware xing.com/qaware youtube.com/qawaregmbh