Slide 1

Slide 1 text

Wie eine Schildkröte uns hilft, Ketten zu sprengen Event Driven Architecture und Microservice-Transparenz in einer agilen Organisation. Gunnar Kiesel & Dr. Marcel Morisse Hermes Germany GmbH Hamburg, November 2021

Slide 2

Slide 2 text

Hermes 4 Bis zu 11.000 Zusteller liefern für Hermes aus. Bis zu 2,5 Mio. Zustellungen am Tag. Hermes ist in Deutschland der Marktführer im Großstücksegment und die Nr. 2 in der B2C-Paketzustellung. > 45.000 Annahmestellen in ganz Europa. 18.255 Mitarbeiter sind bei der Hermes Gruppe weltweit angestellt. Über 16.500 Hermes PaketShops in ganz Deutschland. 2,54 Milliarden EUR betrug der Gesamtumsatz der Hermes Gruppe im Geschäftsjahr 2020/21. Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 3

Slide 3 text

Hermes IT Wie eine Schildkröte uns hilft, Ketten zu sprengen 5 Dynamisch wie der Wellengang, zuverlässig wie der Fels. (Foto: H.G. Kiesel) Kernanforderungen an unsere IT: • schnelle Innovationszyklen • zuverlässige Leistung

Slide 4

Slide 4 text

Herausforderung 1: lange Aufrufketten Wie eine Schildkröte uns hilft, Ketten zu sprengen 6 Schnittstellenketten: • erschweren Veränderung • sind ein Resilienz-Risiko • verlängern Laufzeiten • erschweren die Nachvollziehbarkeit E-Commerce Auftraggeber Auftrags- Eingang Standort- System Scanner- Schnittstelle Scanner- Backend Scanner- App

Slide 5

Slide 5 text

Lösungsansatz: Transparenz erzeugen Wie eine Schildkröte uns hilft, Ketten zu sprengen 7 • Wie hängen die Prozesse und Applikationen zusammen? • Wo entstehen Informationen? Was ist das Quellsystem? • In welcher Umgebung laufen die Systeme? • Mit welcher Technologie arbeiten die Systeme? Hermes Germany Schnittstellenlandschaft. Jede Linie stellt eine Schnittstelle dar.

Slide 6

Slide 6 text

Herausforderung 2: Von Transparenz zur losen Kopplung Wie eine Schildkröte uns hilft, Ketten zu sprengen 8 • Echte Verbesserung erreichen wir nur, wenn wir die Ketten auflösen • Information müssen an der Quelle bezogen werden • Die Ausgestaltung von Prozessschritten muss in der Verantwortung der Handelnden liegen • Wir müssen eine lose Kopplung erreichen

Slide 7

Slide 7 text

Lösungsansatz: Event Driven Architecture 9 • Kommunikation auf Grundlage wichtiger Geschäftsereignisse • Ereignisse beschreiben, was passiert ist, nicht, was als nächstes passieren soll • Publish/Subscribe Pattern ermöglicht lose gekoppelte 1:n Schnittstellen • Standardisierte Nachrichtenformate Ankunft der Sendung prognostiziert Wunschzustellung gebucht Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 8

Slide 8 text

Herausforderung 3: Umsetzung in der agilen Organisation Wie eine Schildkröte uns hilft, Ketten zu sprengen 10 • DevOps-Teams haben Produktfokus • übergreifende Regeln lassen sich schwer durchsetzen • wenig Raum für technische Innovation, wenn sich dadurch kein direkter Produktvorteil ergibt • Quality-Gates würden Geschwindigkeit beeinträchtigen • Apache Kafka allein führt nicht zu einer Event Driven Architecture

Slide 9

Slide 9 text

Lösungsansatz: Galapagos Wie eine Schildkröte uns hilft, Ketten zu sprengen 11 Kafka Self-Service Software, die unseren Architekturansatz stützt und gleichzeitig einen Mehrwert für die DevOps-Teams liefert. • Event-Registry • automatisierte Schnittstellen- Dokumentation • Auditierte Rechtevergabe • DevOps werden zur EDA geführt • Keine Quality Gates • Unterstützung bei Konfiguration und Nutzung • Self-Service Zugang zu Kafka • Staging Unterstützung

Slide 10

Slide 10 text

12 Intern API Events Commands Master Data • (Fast) keine Einschränkungen oder Vorgaben • Nur innerhalb einer Anwendung, auch zwischen den Modulen einer Anwendung nutzbar • Normalerweise hauptsächlich technische Treiber • Dürfen auch dynamisch erzeugt und gelöscht werden • Der wichtigste Topic- Typ für Kommunikation zwischen Anwendungen • Enthält alle Events (genau) eines Business Event Typs • Immer fachlich! • Fachlicher oder technischer Treiber • Beispiel: „Sende folgende E-Mail“ • Sollte nur selten genutzt werden (invertiert „Event“- Logik) • Hauptsächlich für (fachliche) Stammdaten gedacht • Eigentlich ein Event- Topic für das Event „Stammdatum XY wurde geändert“ • Nicht benutzen, um Bewegungsdaten zu transportieren! • Müssen über Galapagos erzeugt und gelöscht werden Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 11

Slide 11 text

Galapagos under the hood – Regeleinhaltung leicht gemacht 13 • Application Topic Owner können für ihre Anwendung(en) Topics anlegen und abonnieren • „Katalog“ der API-Topics • JSON-Schema-Registry • Kompatibilitätsprüfung („Schema Evolution“) • Ausstellen von Client-Zertifikaten / API Keys • Vergabe von Rechten (ACLs) • Staging von Änderungen • Sicherstellen von Namenskonventionen • Entwicklerunterstützung (Kafka-Client- Konfiguration, Topic-Einstellungen…) • Freigabe-Workflow für „geschützte“ Topics • Nicht für den eigentlichen Kafka-Betrieb notwendig! Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 12

Slide 12 text

Live - Demo 14 Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 13

Slide 13 text

Validierung durch die „Realität“ 15 • Seit Ende 2019 produktiv bei Hermes im Einsatz • Positives Feedback von allen Teams, starker „Ansturm“ auf Kafka • Kontinuierliche Weiterentwicklung • Open Source seit Ende 2020 https://github.com/HermesGermany/galapagos Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 14

Slide 14 text

Automatische Generierung von Schnittstellen zur Analyse der losen Kopplung 16 Applikationen Schnittstellen und Relationen GraphQL DEV Kafka PROD Kafka Topics INTEGRATION Kafka Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 15

Slide 15 text

EDA – Schnittstellen automatisieren 17 Anlegen eines Topics für eine Applikation Bereitstellung des Topics auf Integration Abonniert von anderer Applikation Bereitstellung des Topics auf Production Markierung des Topics als veraltet Löschung des Topics Anlegen eines Interface FactSheets Setzen der Applikation als Provider Setzen des Lifecycle auf PhaseIn Setzen des Lifecycle auf Plan Setzen der Applikation als Consumer Setzen des Lifecycle auf Active Setzen des Lifecycle auf PhaseOut Setzen des Lifecycle auf EndOfLife Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 16

Slide 16 text

Den Erfolg der Event Driven Architecture messen 18 Analyse unserer Event Driven Architecture ➢ Identifikation von Mustern und Best Practices ➢ Vermeidung von Duplikaten ➢ Nutzung von Ereignisse ➢ Ermittlung von Prozessketten Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 17

Slide 17 text

Transparenz schaffen mit automatisierter Integration 19 Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 18

Slide 18 text

Technische Transparenz schaffen 20 Cloud Services Service Regions Service Environments Integration API Abrechnungsdaten Abrechnungsdaten Cloud Service Exporter Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 19

Slide 19 text

Technische Transparenz schaffen 21 Analyse unserer Cloud Native Applikationen ➢ Identifikation von Mustern und Best Practices ➢ Potential für Kostenreduktion ➢ Umsetzbarkeit zukünftiger Anforderungen ➢ Reduktion der technischen Komplexität Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 20

Slide 20 text

Fachliche Transparenz schaffen 22 Geschäftsprozesse Applikationen Standard Integration Hermes Prozesse Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 21

Slide 21 text

Fachliche Transparenz schaffen 23 Analyse unseres Business Supports ➢ Identifikation von Mustern und Best Practices ➢ Potential für Prozessoptimierungen und Applikationsschnitte ➢ Resilienz der Prozesse und Applikationen ➢ Reduktion der fachlichen Komplexität Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 22

Slide 22 text

Zusammenfassung • Über Datenintegration gelingt es uns Transparenz über die Anwendungslandschaft und die verbundene Fachlichkeit zu erzeugen. • Um von den erkannten Aufrufketten zu lose gekoppelten Strukturen zu ist für Event Driven Architecture der passende Lösungsansatz. • Unsere Software Galapagos bietet eine starke Unterstützung um unsere Lösungsansatz in einer agilen Organisation umzusetzen. 24 Wie eine Schildkröte uns hilft, Ketten zu sprengen

Slide 23

Slide 23 text

Contact 25 Dr. Marcel Morisse Enterprise Architect Hermes Germany GmbH Essener Strasse 89 22419 Hamburg T: +49 (0) 40 5375-7423 [email protected] Gunnar Kiesel Teamlead Architecture & Information Security Hermes Germany GmbH Essener Strasse 89 22419 Hamburg T: +49 (0) 40 5375-5771 [email protected]