Komplexe Kommunikation von Mikrodiensten

Tipps zum Testen von Microservice-Architekturen

| Redakteur: Stephan Augsten

Die Kommunikation vieler kleiner Dienste, die zusammen eine große Funktionalität abbilden, bedeutet besondere Herausforderungen beim Testing.
Die Kommunikation vieler kleiner Dienste, die zusammen eine große Funktionalität abbilden, bedeutet besondere Herausforderungen beim Testing. (Bild: 3dman_eu - Pixabay.com / CC0)

In Microservice-Architekturen kommunizieren viele kleine Dienste mit dedizierten Aufgaben miteinander. Dieser Datenaustausch muss beim Testing besonders im Auge behalten werden. Das IT-Beratungs- und Softwareunternehmen Consol gibt einige Tipps.

In Microservice-Umgebungen werden größere Funktionalitäten durch die Komposition vieler kleiner Dienste realisiert, die Daten untereinander austauschen müssen. Das Handling, die Organisation und Validierung der Kommunikation bedarf einer durchdachten Architektur, unterstreicht Consol. Oft kommen verschiedene Kommunikationstechnologien wie HTTP REST, SOAP, JMS oder Apache Kafka zum Einsatz.

Je nach Bedarf werden diese Technologien gemischt. So ergeben sich zwar spezialisierte und optimierte Kommunikationswege, doch dies führt zu einer komplexen Vernetzung. So kann der Nachrichteneingang über HTTP REST, der Nachrichtenausgang aber über Kafka umgesetzt wird. Ein anderer Microservice müsste demnach die versendeten Nachrichten des ersten Dienstes über Kafka abholen, erläutert Consol.

Für das effiziente Testen in Microservices-Umgebungen müssen nach Einschätzung des IT-Dienstleisters zunächst mehrere Voraussetzungen erfüllt sein:

  • Die Schnittstellen zwischen den Services sollten klar definiert sein, denn nur so kann die Kommunikation zielgerichtet getestet werden.
  • Ein Microservice sollte zudem ohne Abhängigkeiten zu anderen Services starten können, um ein isoliertes Testen zu unterstützen, bei dem seine reibungslose Funktionsweise überprüft wird.
  • Nicht zuletzt sollten CI/CD-Pipelines zum Einsatz kommen, um das Testen der Services zu automatisieren; sind Tests nicht vernünftig automatisiert, verlängert sich die benötigte Zeit zum Testen sowie die Zeit bis zur Auslieferung im Allgemeinen – ganz abgesehen von der Fehleranfälligkeit manueller Tests.

Das Testing vieler kleiner, isolierter Softwarekomponenten unterscheidet sich stark von der klassischen Vorgehensweise bei monolithischer Software, erklärt Sven Hettwer, Senior Software Engineer mit Fokus auf Testautomatisierungs- und CI/CD-Lösungen bei Consol: „Daher muss erstens ein Umdenken bei den Entwicklern stattfinden und zweitens sind neue Technologien notwendig, die den veränderten Anforderungen gerecht werden.“

Um die Komplexität in den Griff zu bekommen, sind mehrere Maßnahmen erforderlich. Consol empfiehlt Folgendes:

  • Bereitstellung passender Infrastruktur zur automatisierten Ausführung von Tests unter Nutzung moderner CI/CD-Technologien.
  • Erstellung aussagekräftiger Testfälle: Eine Empfehlung lautet, sich an den Workflows der Software zu orientieren. Eine Ableitung von Testfällen aus Abnahmekriterien oder User Stories kann dabei sehr hilfreich sein.
  • Erreichung einer aussagekräftigen Testabdeckung mit Positiv- und Negativ-Szenarien. Dies bedeutet nicht, dass eine 100%-Testabdeckung bestehen muss, aber dass die Tests, die geschrieben werden, sinnvoll und vollständig gestaltet sind.
  • Testen einer kompletten Microservice-Landschaft aus Sicht des Endbenutzers. Consol verweist hier auf die eigene Lösung Sakuli, mit der sich eine Software von Ende zu Ende testen lässt.
  • Testen von Teilsystemen der Microservice-Landschaft, um das reibungslose Zusammenspiel in einem größeren, fachlich wertvollen Zusammenhang sicherzustellen. Auch in diesem Feld kann Consol mit der Open-Source-Lösung Citrus behilflich sein.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45606286 / Microservices)