Cut the elephant into slices
AXEL LUDWIG (SVA) & DIRK BÖNNING (GLS)
01
DATA IN MOTION – FRANKFURT 2022
AGENDA
17.10.2022 2
SVA & GLS
02 Use-Case ShipIT
03 Alte Welt
04 Aktuelle Welt
05 Probleme
06 Vision – Neue Welt
Personal & Finanzen
3
17.10.2022
SVA & GLS
SVA System Vertrieb Alexander GmbH
ÜBER UNS
17.10.2022 4
1997
gegründet
4.200+
Kunden
Lokationen
26
Wiesbaden
GLS Group
ÜBER UNS
17.10.2022 5
GLS subsidiaries
GLS partners
In fiscal year 2021/22
GLS Group achieved a
total revenue of 5
billion Euros.
In fiscal year 2021/22
GLS Group transported
870 million parcels.
More than 250,000
customers trust GLS.
Through own
subsidiaries and partners
GLS Group covers more
than 40 countries.
GLS Group operates
about 120 national and
regional hubs as well
as over 1,600 depots
and agencies.
Over 37,000 delivery
vans and more than
4,500 long distance
trucks are on the road
for GLS.
Over 22,000
employees work every
day for GLS to ensure a
smooth parcel shipment.
In more than 33,000
Parcel Shops parcels
can be sent and
received.
Personal & Finanzen
6
17.10.2022
Use-Case ShipIT
GLS
Site
USE CASE SHIPIT
17.10.2022 7
Customer
Site
Customer
software
ERP - LocalBackend
Local
Backend
Webservices
Local
Backend
Frontend
Stand-alone Multi Frontends
Local
Backend
Fronten
d
Fronten
d
Fronten
d
GLS ShipIT Data Hub
GLS Core
ERP - WebBackend
Customer
software
Central
WebBackend
X
Central
WebBackend
2
Central
WebBackend
1
ShipIT löst zwei in
die Jahre
gekommene
Kundensysteme ab
ShipIT bedient
Mittelstand bis
Großkunden.
ShipIT muss „alle“
Kundenszenarien
abdecken
Performanz !
Durchsatz !
Latenz !
Personal & Finanzen
8
17.10.2022
Alte Welt
ALTE WELT
17.10.2022 9
GLS
Core
Client
Datahub
Integrations
Plattform
Batch Betrieb
DB Replicator
REST
REST
Integrinteationsplattf
orm
Hohe Latenzen
durch Batch Betrieb
Datahub
Monolith -> Lange deployment
Zyklen, eingeschränkte
Skalierung
DB Replicator
Fremdsoftware = Black Box und
partiell überfordert > 1.000
Installationen
Probleme:
Personal & Finanzen
10
17.10.2022
Aktuelle Welt
Anforderungen:
• Datenbankreplizierung mittels CDC + Kafka
• Cloudbasierte Lösung
• Skalierbarkeit
• REST- und Kafka Consumer-Schnittstelle
• Upgrade alter Clients ohne Neuinstallation
• Vorbereitung zukünftiger Splittung des Monolithen
(„Cut the elephant into slices“)
Aktuelle Welt
17.10.2022 11
Quelle: https://medium.com/@zrehan286/approaching-a-problem-f6d6138e70d1
AKTUELLE WELT
17.10.2022 12
GLS
Core
Client
Datahub
Integrations
Plattform
Batch Betrieb
DB Replicator
REST
REST
REST
Avro
KStreams-
Aktuelle Welt
17.10.2022 13
Authorizer
ShipIT Client
Synchronizer
Consumer-
Applications
KStreams-
App
GLS
Core
Datahub
(RDS)
Personal & Finanzen
14
17.10.2022
Probleme
• Deduplizieren / Pseudo-Updates filtern
• Keys
• Foreign Keys
• Primary Keys ≠ Kafka-Keys
• Partitionierung
• Retention Policy
• Stammdaten vs. Transaktionsdaten
• Bad Data
• Notfallplan „epoch raise“
• Betrieb
• Handling vieler Applikationen
• Epoch raise fehleranfällig
🡺 Automatisierung: Terraform, Ansible, Kubernetes
Probleme
17.10.2022 15
Personal & Finanzen
16
17.10.2022
Vision – Neue Welt
NEUE WELT
17.10.2022 17
GLS
Core
Client
Datahub
Integrations
Plattform
Batch Betrieb
DB Replicator
REST
REST
REST
Avro
REST
17.10.2022 18
GLS
Core
Client
Batch Betrieb
DB Replicator
REST
REST
Avro
Nummernkreis
NEUE WELT
REST
17.10.2022 19
GLS
Core
Client
Batch Betrieb
DB Replicator
REST
REST
Avro
Nummernkreis
NEUE WELT
Sendungsverfolgung
REST
17.10.2022 20
GLS
Core
Client
Batch Betrieb
DB Replicator
REST
Avro
Nummernkreis
NEUE WELT
Sendungsverfolgung
DataReceiver
REST
REST
17.10.2022 21
GLS
Core
Client
Batch Betrieb
DB Replicator
REST
REST
Avro
Nummernkreis
Sendungsverfolgung
DataReceiver
Lobster EDI
NEUE WELT
REST
17.10.2022 22
GLS
Core
Client
Batch Betrieb
DB Replicator
REST
REST
Avro
Nummernkreis
Sendungsverfolgung
DataReceiver
Lobster EDI
NEUE WELT
17.10.2022 23
GLS
Core
Client
Batch Betrieb
DB Replicator
REST
REST
Avro
Nummernkreis
Sendungsverfolgung
DataReceiver
Lobster EDI
NEUE WELT
TIPP: MACHE DIE SCHEIBEN NICHT ZU GROSS
17.10.2022 24
BESUCHT UNS AM STAND DER SVA
THE END

Cut the elephant into slices using stream-processing