25/07/2024

MACH Architecture in Aktion: Aufbau einer Composable Storefront

Autor: Kristijan Crnac

In unserer heutigen sich rasant entwickelnden digitalen Landschaft müssen sich Unternehmen schnell anpassen, um nicht abgehängt zu werden. Die jüngsten Marktveränderungen fordern ein noch höheres Maß an Flexibilität und Innovation – ein Bereich, in dem die MACH Architecture glänzt. Dieser moderne Ansatz ermöglicht es Unternehmen, flexible, skalierbare und widerstandsfähige Systeme zu entwickeln, die direkt auf sich verändernde Kundenanforderungen und technologische Fortschritte reagieren können. Unsere neueste MACH PoC-Website ist ein gutes Beispiel für diesen Trend sowie für die Leistungsfähigkeit und das Potenzial einer zusammensetzbaren Architektur zur Schaffung dynamischer, zukunftssicherer digitaler Erlebnisse.

Doch was genau ist MACH?

MACH Architecture ist ein moderner Ansatz für Composable Digital Experience Platforms (cDXP), der für Microservices, API-first, cloudnativ und Headless CMS steht.

Mit MACH können Unternehmen unabhängige Services entwickeln, bereitstellen und verwalten, die über APIs kommunizieren, komplett in der Cloud abgewickelt werden und Frontend und Backend entkoppeln. Diese flexible, skalierbare und modulare Architektur ermöglicht es Unternehmen, agil und flexibel zu bleiben, sich kontinuierlich weiterzuentwickeln und die besten verfügbaren Tools zu nutzen – für eine kundenorientierte und zukunftssichere Ausrichtung.

Was steckt hinter dem MACH Proof of Concept?

Die MACH Architecture bietet völlig neue Möglichkeiten für eine agile Produktentwicklung mit beispielloser Flexibilität, Modularität und einfachen Funktionen zur Erstellung von kundenorientierten Erfahrungen. Zwar geht es hier um eine komplexe Integration, die spezielle Fähigkeiten und Fachkenntnisse erfordert, aber richtig eingesetzt, bietet sie Unternehmen gleich mehrere überzeugende Vorteile:

Skalierbarkeit: Sie ermöglicht eine nahtlose Skalierung der einzelnen Komponenten zur Bewältigung von gesteigerten Anforderungen bei erhöhtem Unternehmenswachstum. So können Ressourcen effizient genutzt und Kosten optimiert werden.

Flexibilität und Anpassbarkeit: Die MACH Architecture ist hochanpassungsfähig und ermöglicht es Unternehmen, direkt auf Veränderungen zu reagieren und erstklassige Lösungen zu integrieren, um spezifischen Anforderungen gerecht zu werden.

Zukunftssichere Technologien: Durch den modularen Aufbau können neue Komponenten je nach Bedarf hinzugefügt werden, sodass das System über Jahre hinweg auf dem neuesten Stand und relevant bleibt.

Schnellere Time-to-Market: Durch das Unterteilen der Anwendungen in unabhängige Services ermöglicht MACH eine schnellere Entwicklung, Bereitstellung und Aktualisierung von Funktionen und verkürzt so die Zeit bis zur Markteinführung erheblich.

Geringere Kosten: Durch die Cloudlösung und ein Pay-as-you-go-Modell minimiert MACH den Bedarf an kostspieligen Vorab- und laufenden Investitionen in Hardware, Software und Infrastruktur.

Die Hauptziele für den Proof of Concept (PoC):

  • Präsentation einer Web-E-Commerce-Anwendung auf Grundlage der MACH Architecture
  • Wissensaneignung zur MACH Architecture, zu Tools und Produkten
  • Automatisierung der Infrastruktur und Bereitstellung von containerisierten Services auf Azure Kubernetes Service (AKS)
  • Entwicklung von Services mit verschiedenen Technologien wie .NET, Java und Node.js
  • Verwenden von kostenlosen und Open-Source-Tools und -Produkten
  • Präsentation der Lösungen unserer Technologiepartner Contentful und Commercetools

Überblick über die MACH Architecture

MACH stützt sich auf mehrere cloudbasierte Produkte, darunter:

  • Contentful: ein Headless CMS zur Speicherung von Inhaltsdaten; verfügbar im Frontend über Apollo GraphQL
  • Commercetools: eine anpassbare E-Commerce-Plattform für die Verwaltung von Produktkatalogen, Warenkörben, Checkout-Prozessen und anderen E-Commerce-Funktionalitäten
  • Auth0: Authentifizierung, Autorisierung und Benutzerverwaltung
  • Algolia: ein Suchanbieter, der eine schnelle Suche und die Filterung von Produktdaten aus Commercetools und Inhaltsdaten aus Contentful ermöglicht

Alle Services sind containerisiert und werden als Pods in AKS ausgeführt. Unsere Architektur umfasst:

  • System-Monitoring-Services (z. B. Loki, Prometheus, Grafana)
  • einen benutzerdefinierten Microservice Layer, der mit mehreren Programmiersprachen erstellt wurde (z. B. Notification, Apollo GraphQL, User, Payment, Invoice)
  • einen Frontend-Service, der auf Next.js aufbaut

Wir nutzen die Open-Source-Version von Kong als unser Gateway, um Services bereitzustellen, auf die Benutzer*innen, Administrator*innen oder andere Systeme zugreifen können. Das Gateway steigert zudem die Sicherheit durch Authentifizierung, JWT-Validierung, Load Balancing, Caching und mehr.

Die Bereitstellung von Services, einschließlich der Erstellung des Kubernetes Clusters in Azure, wird mit Terraform (Infrastructure as Code) automatisiert. Terraform kann dabei die gesamte Infrastruktur von Grund auf erstellen und alle Services in nur 15–20 Minuten bereitstellen. Die Stilllegung aller Ressourcen aus der Azure-Cloud nimmt sogar noch weniger Zeit in Anspruch – ein ideales Tool also für den POC und Demoprojekte.

Warum wir uns für Kubernetes entschieden haben? Wir wollten eine cloudagnostische Lösung schaffen, die bei jedem Cloud-Anbieter eingesetzt werden kann, egal ob Azure, GCP oder AWS. Bei Unternehmensprojekten kann diese Architektur jedoch variieren:

  • Frontend-Bereitstellung in Vercel oder Azure Container Apps anstelle von AKS
  • Verwendung von verwalteten, skalierbaren und hochverfügbaren Cloud-Services wie Azure App Gateway anstelle von Kong Gateway

 

Vielfältige Möglichkeiten: die anpassbare Storefront

Bevor Kund*innen mit dem kommerziellen Teil unserer Website interagieren können, muss ein neues Benutzerprofil über die von Auth0 bereitgestellten Standardformulare angelegt werden. Auth0 unterstützt auch die Benutzerverwaltung, Webhooks und benutzerdefinierte Abläufe. So können wir Auth0 mit anderen Drittanbietersystemen wie Commercetools oder unseren benutzerdefinierten Microservices verbinden.

Für die Suche nach Produkten, die von Algolia mithilfe von Node.js-Bibliotheken und REST API abgerufen werden, können Kund*innen entweder das Suchfeld oder die Filterkomponente nutzen. Algolia unterstützt die direkte Integration mit Commercetools und Contentful, sodass wir leicht festlegen können, welche Daten indiziert werden.

Commerce-Funktionen wie die Verwaltung von Warenkörben, der Checkout-Prozess und die Auftragserstellung werden über Commercetools mithilfe von GraphQL-Abfragen und -Mutationen abgewickelt. Das Next.js-Frontend verwendet GraphQL-Mutationen und Server-Aktionen, um Warenkörbe zu erstellen, Produkte hinzuzufügen oder zu entfernen, Mengenangaben zu ändern, Versanddetails anzuwenden und Aufträge in Commercetools zu erstellen. Nach erfolgreicher Bestellung wird eine PDF-Rechnung durch den Rechnungs-Microservice generiert und an den Benachrichtigungsdienst gesendet, der die Rechnung per E-Mail an den*die Kund*in weiterleitet – dafür sorgt im Hintergrund der Microservice Layer.

Die Lösung nutzt das Kong-Gateway für einen optimierten Zugriff und die Überprüfung aller im Cluster laufenden Services. Mit diesem Tool können wir also die erforderlichen Konfigurationen im laufenden Betrieb vornehmen – für eine optimale Leistung und Flexibilität. Eingehende Analysen von Ressourcen und Protokollen führen wir mit robusten Monitoring-Services durch, die auf Grafana basieren. Dieses leistungsstarke Tool bietet umfassende Einblicke und hilft uns, den Systemzustand und die Leistung gleichmäßig aufrechtzuerhalten.

Der Aufbau eines MACH PoC ist keine leichte Aufgabe, denn es gilt, zahlreiche technische Herausforderungen zu bewältigen. Von der Integration unterschiedlicher Technologien bis hin zur nahtlosen Kommunikation zwischen den Microservices erfordert der Prozess eine sorgfältige Planung und Umsetzung. Mit dem richtigen Fachwissen, wertvollen Einblicken und einer entsprechenden Anleitung zahlt sich der Aufwand jedoch aus.

 

Das Ergebnis: unerreichte Anpassungsfähigkeit

Die MACH Architecture bietet den Kund*innen eine unvergleichliche Flexibilität, um die besten Tools für ihre individuellen Geschäftsanforderungen auszuwählen. Mit dem modularen Design können sie Komponenten einfach hinzufügen, ersetzen oder entfernen – und der Tech-Stack wird sich problemlos mit dem Unternehmen weiterentwickeln. Diese Anpassungsfähigkeit garantiert nicht nur eine optimale Performance, sondern macht das Unternehmen auch zukunftssicher für neue Trends und Technologien.

Wenn du die Vorteile der MACH Architecture für dein Unternehmen nutzen willst, unterstützen wir dich gern bei deiner digitalen Transformation, sodass du das Potenzial deiner Technologieinvestitionen ausschöpfen kannst.

Ermittle deinen Reifegrad für deinen erfolgreichen Wandel. Unser MACH Maturity Assessment dauert nur 5 Minuten und erstellt ein individuelles Whitepaper für dich – basierend auf deinem Reife-Score.

Kontakt

Bereit für die Power von MACH?

Kontaktiere unsere Experten!

Yannick Zimmer
Business Development Manager, IBM iX Düsseldorf
Kristijan Crnac
Technical architect | Expert lead

Das könnte dich auch interessieren