Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Wie eine Schildkröte uns hilft, Ketten zu sprengen

Wie eine Schildkröte uns hilft, Ketten zu sprengen

Wie eine Schildkröte uns hilft, Ketten zu sprengen
Microservices ermöglichen es uns, Geschäftsfähigkeiten getrennt voneinander zu entwickeln. Aber wie behalten wir den Überblick, wenn unterschiedliche Domänen miteinander kommunizieren und erkennen die Auswirkungen auf unsere Geschäftsprozesse? Wie vermeiden wir Aufrufketten und erreichen, dass Informationen für Millionen von Sendungen in kürzester Zeit dort sind, wo sie gebraucht werden? Als Antwort auf diese Fragen wollen wir, bei Hermes, Event Driven Architecture als unternehmensweites Prinzip etablieren.
Wir zeigen, wie wir unseren Architektur-Ansatz, mit Hilfe unserer Open-Source Software „Galapagos“, in die Entwicklungsteams gebracht haben. Hierbei erfassen wir automatisiert die neu entstehenden Schnittstellen in unserem EAM-Tool und stellen, über weitere Integrationen, den Bezug zu genutzten Cloud-Ressourcen und Prozessen her.

Dr. Marcel Morisse Enterprise Architect
As an Enterprise Architect, Marcel strives for a stronger Business IT Alignment at Hermes Germany. Among his responsibilities falls the integration of manifold IT management tools and beyond to accomplish a holistic enterprise architecture as well as the administration of process management and enterprise management tools, methods and frameworks. Due to his research background in computer science he is also involved in innovation projects finding new disruptive technologies.

Gunnar Kiesel Teamlead Architecture & Information Security
Gunnar Kiesel has been part of Hermes Germany for more than 10 years as a software developer, software- and enterprise architect and, as of 2017, as teamlead of the Architecture & Information Security team. Before joining Hermes, he worked as a consulting developer and architect for several years. With this background, his focus today lies on agile architecture and architecture processes.

Hermes Germany GmbH

November 24, 2021
Tweet

More Decks by Hermes Germany GmbH

Other Decks in Technology

Transcript

  1. 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

    View full-size slide

  2. 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

    View full-size slide

  3. 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

    View full-size slide

  4. 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

    View full-size slide

  5. 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.

    View full-size slide

  6. 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

    View full-size slide

  7. 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

    View full-size slide

  8. 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

    View full-size slide

  9. 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

    View full-size slide

  10. 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

    View full-size slide

  11. 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

    View full-size slide

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

    View full-size slide

  13. 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

    View full-size slide

  14. 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

    View full-size slide

  15. 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

    View full-size slide

  16. 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

    View full-size slide

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

    View full-size slide

  18. 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

    View full-size slide

  19. 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

    View full-size slide

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

    View full-size slide

  21. 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

    View full-size slide

  22. 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

    View full-size slide

  23. 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]

    View full-size slide