Leistungseinschränkungen einer monolithischen Anwendung

Abgeschlossen

Es gibt viele Gründe dafür, die Architektur eines Systems zu verändern. Operative Agilität, Kosten, Skalierbarkeit und Leistung sind nur einige der Faktoren, die bei der Bestimmung der Architektur eines Systems eine Rolle spielen. In unserem Beispiel sehen wir uns genauer an, wie wichtig die Leistung für das Drohnenlieferungssystem ist.

Mit dem Wachstum des Drohnenlieferungsgeschäfts von Fabrikam steigt die Systemauslastung gleichzeitig an. Die aktuelle Architektur ist der Auslastung nicht gewachsen. Fabrikam möchte bei der Skalierung der Anwendung eine bessere Flexibilität bieten, die in der aktuellen monolithischen Architektur nicht verfügbar ist. Das Verbessern der Skalierbarkeit der Anwendung ist einer der Hauptgründe, weshalb Fabrikam die Anwendung in eine Microservicesarchitektur verschieben möchte.

Skalieren eines Monolithen im Vergleich zu Microservices

Einer der Hauptvorteile einer Microservicesarchitektur ist die Erhöhung der Skalierungsfunktionen. Da die Dienste getrennt sind, ist es einfacher, jeden Dienst einzeln zu skalieren, wenn die Auslastung zunimmt.

Wir erkennen diesen Unterschied in den Funktionen im Drohnenlieferungssystem. In einer monolithischen Architektur sind alle Dienste in einer einzelnen Instanz der Anwendung enthalten. Sie stellen Kunden eine API-Schnittstelle zum Übermitteln und Verwalten von Lieferanforderungen bereit. Wenn Kundenanforderungen zunehmen, wächst die Belastung des Systems. Dem System müssen mehr Ressourcen zugewiesen werden, um eine Beeinträchtigung des Endbenutzers zu vermeiden.

In einer monolithischen Architektur erfordert das einzelne Skalieren dieses Diensts auch die Skalierung der Ressourcen für die anderen Dienste, da sie in jeder Anwendungsinstanz enthalten sind. Dieses Arrangement ist ineffizient, da die Last für die anderen Dienste minimal sein könnte, sodass keine zusätzliche Ressourcenverwendung erforderlich ist.

Da jeder Dienst getrennt ist, können wir in einer Microservicesarchitektur die API unabhängig von den anderen Diensten skalieren. Mit diesem Arrangement wird die Effizienz gesteigert, da wir nicht die Ressourcen unnötiger Dienste nutzen müssen.

Herausforderungen bei der monolithischen Architektur der Drohnenlieferungsanwendung

Der Paketdienst wurde als wichtiger Teil des Unternehmens identifiziert und war ursprünglich Teil der monolithischen Anwendung. Da Kunden dieses Angebot oft in Anspruch nehmen, wirkt sich die erhöhte Auslastung negativ auf die Leistung aus. Fabrikam möchte dies mithilfe eines dedizierten Entwicklungsteams beheben, das die vollständige Kontrolle über diesen Teil des Unternehmens hat. Das Team plant diesen Dienst zu entwickeln und Iterationen durchzuführen und ist allein verantwortlich für alle Aspekte des Paketdiensts.

Da der Paketdienst zur monolithischen Architektur gehört, kann das Team nicht autonom vorgehen. Es muss sich auf freigegebene Daten und Datenstrukturen verlassen. Es kann auch nicht so schnell wie nötig iterieren. Aufgrund der Probleme hinsichtlich Leistung und Skalierbarkeit empfiehlt sich bei diesem Dienst die Verwendung eines Microservice.

Werfen wir einen Blick darauf, wie Fabrikam die Anwendung analysieren und zerlegen kann, um die Vorteile einer Microservicearchitektur zu nutzen.