FotolEdhar - Fotolia

F

Microservices testen: Auf diese Punkte sollten Sie achten

Microservices liegen im Trend, so dass Entwickler auf dem neuesten Stand bei der Technologie sein und mögliche Herausforderungen kennen müssen.

Mein Unternehmen wird in Zukunft Microservices einsetzen. Was sind die wichtigsten Dinge, die man bezüglich Tests und Qualität wissen muss?

Mein erster Rat: keine Panik. Ja, Microservices sind ein großer Trend. Der Einsatz neuer Technologien ist ein Weg, wie man neue Anwendungen entwickeln kann. Manchmal sind neue Ideen aber auf alte Ideen zurückzuführen. Man sollte dabei vor allem eines beachten: bleiben Sie ruhig und testen Sie die Anwendung.

Die strategische Verwendung von Micrososervices läuft auf die Schaffung von Schnittstellen hinaus, typischerweise APIs, um Geschäftsprozesse zu verbinden. Das Verpacken von Services, wie zum Beispiel Mitglieder oder Reklamationen erstellen, Rechnungen bezahlen oder Suchanfragen, macht es möglich, Anwendungen zu entwickeln, indem API-Aufrufe mit einer Benutzeroberfläche zusammengefügt werden.

Das ist nicht wirklich neu, doch der Schwerpunkt bei Microservices ist ein anderer. Ziel des Microservices-Konzepts ist das Refactoring dieser Services in kleinere, zusammenhängende Teile, so dass es leichter ist, APIs zu laden und mit ihnen zu interagieren. Das Ziel von Microservices ist es, Module zu haben, die bestimmte Entitäten oder Aufgaben über spezifische, gut definierte APIs (zum Beispiel REST) bearbeiten.

Microservices sollen auf diese Weise eine einfachere Wiederverwendung und ein einfacheres Refactoring mit weniger Code ermöglichen. Am Ende hat jedes Unternehmen, welches die Technologie verwendet, eine große Anzahl von Microservices, wobei jeder für eine spezifische Aufgabe entwickelt wurde.

Stellen Sie sich zum Beispiel ein Programm wie Google Maps vor, das mit einem Login-Service interagiert, der die Authentifizierung und den Abruf von Benutzereinstellungen für die Nutzung der Karten übernimmt. Darin könnte etwa ein Verzeichnis von Unternehmen mit GPS-Koordinaten, Name, Adresse und Telefonnummer gespeichert sein.

Stellen Sie sich nun vor, dass der Login-Service eine höhere Auslastung als die restlichen Funktionen hat. In diesem Fall sollte die Auslastung des Login-Services auf verschiedene Server verteilt werden, so dass die Last ausgewogen und geografisch verteilt bearbeitet wird. Dies sollte isoliert von Verfügbarkeits- und Ausfallzeitproblemen geschehen.

Microservices testen

Was sollte man beachten, wenn man Microservices auf ihre Qualität testen möchte? Als erstes sollte man sich die APIs genauer anschauen. Ist es REST? Verwendet sie IoT-Datenbanken, Message Queuing Telemetry Transport (MQTT) oder andere Protokolle und Standards? Durch die Identifizierung der verwendeten Schnittstellenart können Sie erfahren, wie Sie Anfragen so erstellen können, um mit den zugrunde liegenden Microservices zu kommunizieren. Anschließend sollten Sie sich Tools wie Ready! API, cURL, HTTPie, Postman oder Fiddler anschauen, die Ihnen einen Blick auf die Requests erlauben, um mit ihnen zu interagieren.

Natürlich ist es wahrscheinlich, dass das Management nicht die Antworten auf diese Fragen kennt. Sie schauen sich lediglich die Microservices an. Damit erhalten Sie eine fantastische Gelegenheit. Sie sollten die Technologie genauer studieren, eigene Ideen entwickeln und diese vorschlagen. Sie sollten testen, wie Dinge funktionieren und diese voranbringen. Im schlimmsten Fall führt das dazu, dass andere Mitarbeiter Entscheidungen treffen. Doch es ist wahrscheinlicher, dass Sie die Entscheindung treffen.

Als nächstes sollten Sie herausfinden, wie der Service bereitgestellt wird. Erfordert er einen Zugriffsschlüssel? Benötigt er eine bestimmte Art von Authentifizierung, zum Beispiel HTTP Auth oder oAuth? Verarbeitet er die Autorisierung beziehungsweise den Zugriff, basierend auf Nutzerrollen oder anderen Typen? Anschließend könnten Sie genauer betrachten, wie der Service Datentypen für bestimmte Aufrufe handhabt. Lassen sich die Daten mit POST- oder PATCH-Aufruf ändern? Wie geht der Service mit ungültigen Zeichen um, und drosselt er Requests, wenn es zu einer unerwart hohen Belastung kommt?

An diesem Punkt sollten Sie Ihr Augenmerk auch auf einige andere Punkte legen, zum Beispiel auf die Client-Anwendung: Behandeln die Clients API-Fehler ordnungsgemäß? Sie sollten sich außerdem die Verträge für die Microservices anschauen und genau betrachten, wenn eine Ausgabe gemacht wird, und ob diese konsistent, intuitiv und zuverlässig ist.

Fazit

Am Anfang sollten Sie sich über die verwendeten Microservices ein Bild verschaffen und Tools betrachten, die Ihnen helfen, Tests und Ergebnisse zu vergleichen. Anschließend sollte man Details evaluieren, wie die Services implementiert sind und ob sich diese mit ähnlichen Services vergleichen lassen.

Schließlich sollte man untersuchen, wie API und Client auf außergewöhnliche Bedingungen reagieren oder was passiert, wenn Nutzer den Service in einer Art verwenden, für den er nicht entwickelt wurde. Was passiert, wenn der Service abstürzt und wie reagiert die Anwendung darauf?

Es gibt eine Reihe von Punkten zu beachten, doch je mehr Sie über das Testen der Microservices lernen, desto besser verstehen Sie die Services.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im Juli 2016 aktualisiert

Erfahren Sie mehr über SOA

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close