Inquiry icon START A CONVERSATION

Share your requirements and we'll get back to you with how we can help.

Please accept the terms to proceed.

Vielen Dank fur Ihre Anfrage.
Wir melden uns in Kürze bei Ihnen.

AUFBAU VON ANWENDUNGEN MIT MICROSERVICE-ARCHITEKTUR

Die Microservice-Architektur (MSA) hat an Popularität gewonnen, da sie ein wesentlicher Faktor für die Agilität ist. Vorreiter wie Netflix und Amazon und viele andere große Webanwendungen sind aus Gründen der schnelleren Skalierbarkeit und der kontinuierlichen Innovation von monolithischen Einheiten zu Microservices übergegangen.

Gegenwärtig setzen mittelständische und sogar kleinere Unternehmen diesen modularen, serviceorientierten Ansatz ein, um die Entwicklungszeit erheblich zu verkürzen und schneller auf den Markt zu kommen.

Die rasante Digitalisierung und das verteilte Cloud Computing begünstigen zwar die Microservice-Architektur, sie muss aber nicht in jedem Fall der Standardansatz sein. Der Schlüssel liegt darin, den Bedarf zu erkennen, ohne blindlings einer Modeerscheinung zu folgen, und hier beweisen die QBurst-Architekten ihr Geschick.

Was ist eine Microservice-Architektur?

Microservice-Architektur bezieht sich auf einen Software-Design-Stil, bei dem verschiedene Komponenten als isolierte Dienste erstellt und gewartet werden. Jeder Microservice ist als kleiner Dienst für eine einzelne Geschäftsfunktion gedacht und wird einzeln bereitgestellt, ohne den Rest des Systems zu beeinträchtigen.

Traditionell wurden Anwendungen als eine einzige, zusammenhängende Einheit entwickelt, in der alle Funktionalitäten miteinander verwoben waren. Solche Software wird in der Regel auf einem einzigen Rechner eingesetzt und kann nur vertikal skaliert werden. Da dies nicht praktikabel war, wurden die logischen Einheiten innerhalb des monolithischen Systems in physische Schichten wie die Benutzeroberfläche, die Serverlogik oder den Webservice und die Datenbank für die Speicherung unterteilt (Schichtenarchitektur).

Schließlich wurde die serviceorientierte Architektur (SOA), bei der die Webservice-Schicht vertikal in verschiedene Dienste und die DB-Schicht in entsprechende Speicherlösungen aufgeteilt wird, zu einem praktikablen Konzept für eine einfache Skalierung. Die Microservice-Architektur kann als fortschrittliche Weiterentwicklung der SOA betrachtet werden.

Nachfolgend ist eine Beispielanwendung für einen Einzelhändler mit Microservice-Architektur dargestellt. Jeder Dienst ist für eine einzelne Geschäftsfunktion zuständig. Gleichzeitig kommunizieren die Microservices miteinander, um die benötigten Informationen zu erhalten.

Example of microservice architecture in E-commerce application

Beispiel für eine Microservice-Architektur in einer eCommerce-Anwendung

Mögliche Gründe für Microservices

Ob groß oder klein, Unternehmen müssen ständig die wachsenden Anforderungen und Erwartungen ihrer Kunden erfüllen, um relevant zu bleiben. Während die herkömmliche Art der Softwareentwicklung und -bereitstellung oft nicht mithalten kann, bietet der Microservices-Ansatz bestimmte Vorteile, die es Unternehmen ermöglichen, flexibel und wettbewerbsfähig zu bleiben.

Flexibilität beim Technologieeinsatz

MSA ermöglicht die harmonische Koexistenz entkoppelter, in verschiedenen Sprachen geschriebener Dienste. So haben Sie die Freiheit, für jede Geschäftsfunktion den am besten geeigneten Technologie-Stack zu wählen.

Autonome Teams

Global verteilte Teams können produktiver arbeiten, wenn die Lösung in kleinere, voneinander unabhängige Fragmente zerlegt wird.

Kontinuierliche Bereitstellung

Da verschiedene Teams an unterschiedlichen Komponenten arbeiten, wird die Entwicklung beschleunigt und die Flexibilität des Unternehmens erhöht. Sie können neue Komponenten hinzufügen, bereitstellen und diese unabhängig voneinander skalieren.

Einfachere Wartung

Sie können so Fehler isolieren und einen Microservice modifizieren, ohne das gesamte System zu beeinträchtigen. Dies erleichtert die Wartung der Anwendungen im Vergleich zu komplexen monolithischen Systemen.

Den Monolithen durch Microservices ersetzen

Bei der Anwendung unseres Kunden handelte es sich um ein Rapid-Prototyping-Tool für Produktdesign und -entwicklung. Die Anwendung war ein Monolith mit eng gekoppeltem Client und Server, sodass die Komponenten nicht separat entwickelt oder skaliert werden konnten. Das QBurst-Team wurde gebeten, den Technologie-Stack zu bewerten, dessen Mängel zu verstehen und eine neue Lösung vorzuschlagen.

Neben erheblichen Leistungseinschränkungen ergab unsere technische Bewertung ernsthafte Bedenken hinsichtlich der Quellcode-Wartung, der Codequalität und der allgemeinen Skalierbarkeit der Anwendung. Wir schlugen vor, das System als N-Tier-Anwendung mit Schichten in einem Microservices-Modell umzugestalten, bei dem jedes Modul unabhängig und lose mit anderen gekoppelt ist. Die hybride Microservice-Architektur sollte eine einzige, gemeinsam genutzte Datenbank anstelle eines Datenbank-pro-Service-Modells verwenden.

Wir schlugen eine vollständige Automatisierung des Lebenszyklus der neuen Anwendung vor. Die Erstellung und Bereitstellung der Microservices sollte mit Jenkins automatisiert werden. Mit der Einführung von IaC (Infrastructure as Code) konnten auch die Bereitstellung, Überwachung und Verwaltung der Infrastruktur automatisiert werden. Die Dockerisierung der Anwendung würde dazu beitragen, die Ressourcennutzung zu verringern und schnelle Bereitstellungen zu ermöglichen, während Orchestrierungstools die Verwaltung des Lebenszyklus von Containern vereinfachen würden. Abschließend wurde eine kontinuierliche Infrastrukturüberwachung und Protokollverwaltung mit dem ELK-Stack vorgeschlagen.

{'en-in': 'https://www.qburst.com/en-in/', 'en-jp': 'https://www.qburst.com/en-jp/', 'ja-jp': 'https://www.qburst.com/ja-jp/', 'en-au': 'https://www.qburst.com/en-au/', 'en-uk': 'https://www.qburst.com/en-uk/', 'en-ca': 'https://www.qburst.com/en-ca/', 'en-sg': 'https://www.qburst.com/en-sg/', 'en-ae': 'https://www.qburst.com/en-ae/', 'en-us': 'https://www.qburst.com/en-us/', 'en-za': 'https://www.qburst.com/en-za/', 'en-de': 'https://www.qburst.com/en-de/', 'de-de': 'https://www.qburst.com/de-de/', 'x-default': 'https://www.qburst.com/'}