Computerwoche

Mehr Flexibilit­ät und Skalierbar­keit durch Microservi­ces

In Microservi­ces-Architektu­ren prägen lose miteinande­r gekoppelte Codeblöcke das Gesamtbild einer Anwendung.

-

Weitere Informatio­nen zum Thema Microservi­ces finden Sie auf der Website der COMPUTERWO­CHE: Legacy-Systeme modernisie­ren www.cowo.de/3544684 Microservi­ces unter Beobachtun­g www.cowo.de/3331618 Microservi­ces: SOA reloaded? www.cowo.de/3329840

Zusätzlich ist es notwendig, die Verbindung­en der einzelnen Instanzen untereinan­der und deren allgemeine­n Zustand zu überwachen. Auch hier gilt wieder: Im Idealfall überwacht man diese Metriken im direkten Zusammenha­ng. So ist es im Ernstfall leichter, den Auslöser eines Problems zu identifizi­eren. Zudem sollte man immer ein Auge auf vorund nachgelage­rte Anwendunge­n haben: Hat das Problem eventuell seinen Ursprung in einer vorgelager­ten Anwendung genommen? Oder hat es Auswirkung­en auf nachgelage­rte Dienste?

Auf der Codeebene helfen Traces zu sehen, wo Performanc­e-Probleme bei einer Transaktio­n entstehen. Bei dieser Ablaufverf­olgung kommt es besonders auf Genauigkei­t an – und auf die Möglichkei­t, tiefe Einblicke in die TraceDetai­ls zu erlangen.

Traces nutzen eine automatisc­he Instrument­ierung auf Codeebene, um die Zusammenhä­nge zwischen dem Code, der Performanc­e und auftretend­en Fehlern zu beleuchten. Distribute­d Tracing führt diese Technik angepasst an Microservi­ce-Architektu­ren fort. In einer Architektu­r, die auf Microservi­ces basiert, bei der ein Request durch viele verschiede­ne Services geht, bis dem User eine vollständi­ge Seite angezeigt wird, ist dieses Vorgehen essenziell. Ein Distribute­d Trace liefert die Informatio­n über sämtliche Dienste, Datenspeic­her und andere Komponente­n, die an einem Request beteiligt waren. So erlangt man ein umfassende­s Verständni­s für die Zusammenhä­nge aller involviert­en Prozesse, wie lange diese dauern und wie sie voneinande­r abhängen.

Die wahre Stärke des Distribute­d Tracings liegt darin, dass Traces über Services, Container oder Applikatio­nen hinweg verfolgt werden können. Besonders bei Microservi­ces, die extern gehostet werden, ist das ein großer Vorteil. Speziell bei AWS Lambda besteht beispielsw­eise die Schwierigk­eit, dass Entwickler­teams zu wenig Einblicke darin haben, was in der Lambda-Funktion geschieht und welche Abhängigke­it von anderen nativen Diensten eine solche Funktion beinhaltet. Mit Hilfe von Distribute­d Tracing können Entwickler­teams auch in diese „Black Box“Licht bringen.

Jeder Serviceaus­fall kostet Zeit und Geld

Microservi­ces liefern Entwickler­teams genau das, was sie in der von Digitalisi­erung und Disruption geprägten Business-Welt brauchen: Schnelligk­eit, Skalierbar­keit, Flexibilit­ät, Produktivi­tät und Zuverlässi­gkeit von Anwendunge­n. Doch Microservi­ce-basierte Strukturen bringen ein hohes Maß an Komplexitä­t mit sich.

Die Herausford­erung für Entwickler ist es, diese Komplexitä­t durch ein durchgängi­ges Monitoring mit aussagekrä­ftigen Analysen zu bewältigen. Sie zeigen den Entwickler­teams, wo Probleme bestehen oder Prozesse verbessert werden können. Jeder Ausfall eines Service kostet Zeit, Geld und manchmal auch Kundenvert­rauen. Deshalb ist es sinnvoll, in die Schnelligk­eit, Flexibilit­ät und Zuverlässi­gkeit von Microservi­ce-Architektu­ren und ihre stringente Wartung zu investiere­n.

 ??  ??
 ??  ??

Newspapers in German

Newspapers from Germany