Das Potenzial von Microservices: Mehr Flexibilität & Kontrolle für Ihre Systemarchitektur
Microservices fördern ein agiles Projektvorgehen. Damit lassen sich Systeme so planen, dass einzelne Prozesse nicht von einer großen Applikation, sondern von vielen kleinen ausgeführt werden. Diese sind jeweils nur für einen Kontext verantwortlich, ergänzen sich aber untereinander.
Anwendungen können so von einzelnen Teams agil entwickelt, betrieben und individuell zusammengesetzt werden.
Mit Microservices bringen Sie die Composable Commerce-Prinzipien in Ihrem Unternehmen weiter voran.
Microservices helfen Ihnen, komplexe Anwendungen aufzulösen und die Entwicklung Ihrer Software und Services flexibel und skalierbar voranzutreiben.
Ob Microservices für Sie geeignet sind, richtet sich u.a.:
- nach der Komplexität Ihrer Unternehmensabläufe.
- danach, ob Sie auf verschiedenen Märkten interagieren.
- nach Ihrer bisherigen Systemarchitektur.
- nach Ihren Unternehmenszielen und Bedürfnissen.
Kurzer Sneak-Peek zum Thema Microservices gewünscht?
Kontaktieren Sie uns gern. In einem unverbindlichen Online-Beratungsgespräch (ca. 30 Minuten) blicken wir gemeinsam auf die Herausforderungen Ihrer aktuellen Systemarchitektur und prüfen, ob Microservices für Sie infrage kommen.
Microservices unter der Lupe: Für wen ist das geeignet?
Es gibt verschiedene Ansätze für mögliche Systemarchitekturen. Um Teile dieser Architekturen flexibel, skalierbar und agil zu gestalten, lösen Unternehmen monolithische Systeme in kleinere, eigenständige Applikationen, die sog. Microservices, auf. Beide Vorgehen haben Vor- und Nachteile.
Die Wahl ist abhängig von Ihren konkreten Anforderungen, Bedürfnissen und Zielen. Wir haben für Sie beide Ansätze gegenübergestellt und die wesentlichen Aspekte herausgearbeitet.
Flexibilität & Unabhängigkeit durch Microservices
Microservices sind Teil der MACH-Architektur Mehrere kleine und unabhängige Anwendungen erfüllen spezifische Funktionen und sind über APIs miteinander verbunden. Dabei können bspw. die besten Lösungen ausgewählt und mittels Microservices kombiniert werden, um optimale Ergebnisse zu erzielen (Best-of-Breed).
Microservices als Systemarchitektur ist für Sie geeignet, wenn Sie:
- einzelne Services als Module betreiben und diese skalieren und deployen möchten
- zahlreiche Systeme nutzen (z.B. PIM, MDM, CRM, CMS, Shop-System) und diese miteinander verbinden müssen
- hohen Traffic oder Anfrage-Peaks erwarten und unabhängig von einem Gesamt-System sein möchten (Aufteilung der Funktionalitäten in unabhängige Einheiten)
- parallele Teamarbeit ermöglichen möchten
- schnell auf geänderte Geschäftsanforderungen oder neue Nutzeranforderungen reagieren möchten
- weniger Overhead in der Funktionalität bevorzugen
Sie sind auf der Suche nach einem Microservice-Expertenteam? Wir haben in diesem Bereich verschiedene Unternehmen betreut und freuen uns darauf, auch für Sie da zu sein.
Einfachheit & konfigurierbare Business-Logiken mit Monolithen
All-in-one-Systeme wie Salesforce, SAP, Adobe oder IBM sind im Wesentlichen für die Zusammenarbeit der erforderlichen Teillösungen der jeweiligen Anbieter vorbereitet (Best-of-Suite). Verschiedene Funktionen sind hier innerhalb einer Plattform abgebildet, mit dem Ziel eine Vielzahl von Geschäftsfunktionen zu unterstützen.
Dieser Ansatz ist für Sie geeignet, wenn Sie
- keine strikte Trennung einzelner Funktionalitäten für Ihr System benötigen
- mit weniger als drei Systemen arbeiten
- einen einfachen Deployment-Prozess bevorzugen
- auf bereits integriertes Monitoring und integrierte Fehlerverfolgung setzen
- selbst kein starkes Entwicklerteam vorhalten
- planen, die Funktionalitäten der Suite vollumfänglich auszuschöpfen
Als Digitalagentur haben wir zahlreiche Projekte mit monolithischer Systemarchitektur umgesetzt.
Schematisches Beispiel einer möglichen Systemarchitektur mit Microservices
Die Systemarchitektur unterteilt sich in die Ebenen Present, Process und Persist.
In Present erfolgt die Darstellung der Daten. Die Informationen, das können bspw. Produktdaten und -Bilder sein, werden auf der vom User gewählten Benutzeroberfläche, das kann z.B. das Frontend eines CMS sein, angezeigt.
Die Ausführung der Geschäftslogik bzw. Prozesse, die die Daten verarbeiten, findet in der Process-Ebene statt. Hier sind die Microservices angesiedelt.
In der Ebene Persist werden die Daten, die von Microservices verarbeitet werden, gespeichert und verwaltet. Das sind z.B. ERP-, CRM- oder PIM-Systeme.
Ein Beispiel für den Einsatz von Microservices könnten, wie im Bild oben skizziert, so aussehen:
- Ein User interagiert mit dem Present Layer und ruft eine Produktdetailseite auf.
- Diese Present Layer ist über APIs mit den Microservices aus dem Process Layer verbunden und bezieht aus allen angebundenen Systemen die Daten (Persist Layer).
- Dadurch werden dem User auf der Benutzeroberfläche bzw. der Produktdetailseite die aktuellen Daten ausgespielt. Das sind z.B. Preise aus dem ERP-System und Produktdaten aus dem PIM-System.
- Sind aufgrund einer Kampagne überdurchschnittlich viele User auf einer Produktdetailseite zu erwarten, so kann der Microservices automatisiert skalieren, um auf diese Anfrage-Peaks vorbereitet zu sein.
Beispiele erfolgreich umgesetzter Microservices-Projekte
Unsere Leistungen im Bereich Microservices
Vor der Umsetzung
Vor der Umsetzung der Microservice-Architektur unterstützen wir Sie:
- mit Best Practices und unserem Know-how aus bisherigen Projekten
- bei der Analyse Ihrer Anforderungen und Ziele mit anschließender Beratung und Systemauswahl
- bei der Konzeption Ihrer gewünschten Systemarchitektur
- bei der Prüfung auf Parallelisierbarkeit und Entkopplung der bisherigen Architektur
- bei der Aufschlüsselung der Infrastruktur-Kosten
- mit unserer Expertise in den Bereichen MACH-Architektur, Composable Commerce, Best-of-Breed-Ansatz und Event-driven Architectures
Während der Umsetzung
Unsere Leistungen während des Prozesses umfassen:
- IT-Infrastruktur & damit zusammenhängenden Hosting
- bei der Umsetzung Ihres Corporate Design
- Beratung zu DevOps, Customer Engagement Framework, agilem Projektvorgehen
- Beratung zu allen aufkommenden Fragen wie z.B. Security- oder Dokumentationsthemen
- gemeinsame Prüfung und Sicherstellung der Performance
- gemeinsames Go-Live
- Ausfallsicherheit, Verfügbarkeit & Fehlertoleranz der Microservices (uptime)
- Monitoring (Logging, Metriken, Tracing)
Nach der Umsetzung
Auch nach der Umsetzung sind wir an Ihrer Seite:
- Hypercare & Stabilisierung des Systems
- Betreuung & Beratung zu Weiterentwicklungen und möglichen Erweiterungen
- Maintenance & Updates, Anpassung von Skalierungsparametern und Optimierung
- Support bei aufkommenden Fragen
- professionelle & kompetente Schulungen Ihrer Mitarbeitenden durch unser Expertenteam
Ihre Systemarchitektur in den richtigen Händen: Warum dotSource der richtige Partner ist
- umfangreiche und langjährige Projekterfahrung & Expertise im B2B- und B2C-Bereich bei Cloud- und System-Migrationen, Event-driven Architectures sowie Greenfield- und Brownfield-Ansätzen
- Beratung, Umsetzung und Support – alles aus einer Hand
- schneller Projekt-Start mit unserem Microservice-Accelerator Programm CEF (Customer Engagement Framework)
- konkrete Ansprechpartner aus unserem Cloud-Services-Team
- Expertise bei der Implemtierung einer MACH-Architektur
FAQ – Häufig gestellte Fragen zu Microservices
Wie funktionieren Microservices?
Microservice ist ein agiles Vorgehen für System- bzw. Softwarearchitekturen. Dienste werden dabei vereinzelt und sind somit kleiner und unabhängiger als ein monolithischer Aufbau.
Die Services sind dabei über APIs miteinander verbunden und kommunizieren über Schnittstellen. Jeder Service ist – durch die Unabhängigkeit – einzeln skalierbar, kann weiterentwickelt, ausgetauscht, getestet und bereitgestellt werden.
Wann sollten Microservices eingesetzt werden?
Die Entscheidung für oder auch gegen eine Systemarchitektur ist sehr individuell und von verschiedenen Faktoren abhängig. Zum Beispiel sollten folgende Aspekte berücksichtigt werden:
- Auf wie vielen Märkten ist Ihr Unternehmen aktiv?
- Welche Systemarchitektur setzen Sie bisher ein?
- Können Sie auf ein starkes Entwickler-Team zurückgreifen?
- Welche Unternehmensziele haben Sie sich gesetzt?
- Welche Anforderungen an eine Systemarchitektur haben Sie und welchen Bedürfnissen muss diese gerecht werden?
Microservices eignen sich für Unternehmen mit komplexen Anwendungen und Unternehmensabläufen sowie einer hohen Anzahl an vorhandenen Systemen. Der Ansatz bietet einen hohen Grad an Skalierbarkeit, Flexibilität und Agilität.
Welche Technologien nutzen wir im Microservice-Umfeld?
Bei System- und Framework-Auswahl folgen wir einem technologie-agnostischen Ansatz. Unser Anspruch ist es, Sie unabhängig von einem konkreten Anbieter, System oder Vorgehen zu beraten. Ihre Wünsche, Anforderungen und Bedarfe stehen im Mittelpunkt.
Im Bereich Microservices greifen wir auf umfangreiches internes Know-how zurück. Insbesondere können wir Sie mit Best-Practices in der AWS (Amazon Web Services) und Azure mit Kubernetes und managed Container-Services unterstützen.
Ich möchte auf eine Microservice-basierte Architektur umsteigen. Was ist zu beachten?
Der Umstieg bzw. die Implementierung von Microservices ist ein komplexer Prozess und bedarf einer guten Planung. Besonders relevant sind zwei Strategien: die grundlegende Neuentwicklung parallel zum bestehenden System sowie die schrittweise Ablösung des Altsystems.
Unserer Erfahrung nach eignet sich ein schrittweises Vorgehen. Je nachdem, wie viel Erfahrung Ihr Unternehmen mit Microservices hat, empfiehlt es sich beim Umstieg auf Experten zurückzugreifen. Gern steht Ihnen unser Expertenteam zur Seite.
Vorbereitung
- Zeitpunkt planen und SMART-Ziele definieren
- Identifizierung von Komponenten mit hoher Kohäsion und geringer Kopplung
- für Phased Migrations: bestehende Funktionalität muss mit API-First Prinzipien abgebildet sein
- Daten sondieren und mappen
Umsetzung
- Aufbau einer schlanken CI/CD-Strecke, um schnelle Testbarkeit und Produktiv-Deployments zu ermöglichen
- Aufbau eines ausführlichen Monitorings, um die detaillierte Messbarkeit von Geschäftsprozessen zu verbessern
- Datenaustausch, Testen und Live gehen
Weiterentwicklung
- Wartung
- neue Features / AB-Testing
- Skalierung
Was ist die MACH-Architektur?
Die MACH-Architektur basiert auf der Verbindung von Microservices (M) über Application-Programming-Interfaces (API) in einer Cloud-basierten Umgebung (C), ohne ein prädefiniertes Frontend (Headless). Durch den Best-of-Breed-Ansatz können individuelle Softwarekomponenten ausgewählt werden, um den Anforderungen des Shops am besten gerecht zu werden. Services können leicht ausgetauscht oder erweitert werden, um schneller auf Marktbewegungen zu reagieren.
dotCEF und die Vorteile von Microservices
Im gemeinsamen Webinar von acquisa und dotSource haben wir die monolithische sowie MACH-Architekturen betrachtet. Unsere beiden Experten erläutern, welche Vorteile das Customer Engagement Framework (CEF) bietet. Zudem stellen Sie Ihnen den entwickelten Accelerator vor, der die häufigsten Use-Cases abbildet.
Mit dotCEF nutzen Sie die Vorteile von Microservices und profitieren von einer verkürzten Time-to-Market.