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
  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
  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
  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
  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.
  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
  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
  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
  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
  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
  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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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]