Orbit IT-Forum: Auf dem Weg zum Arbeitsplatz der Zukunft
27.09.17 - 27.09.17
In Leverkusen

AUTOMATE IT 2017
28.09.17 - 28.09.17
In Darmstadt

it-sa 2017
10.10.17 - 12.10.17
In Nürnberg

3. Esslinger Forum: Das Internet der Dinge
17.10.17 - 17.10.17
In Esslingen

Transformation World
19.10.17 - 20.10.17
In Heidelberg

Karsten_FlottKarsten Flott, Sales Engineer bei AppDynamics, über die Herausforderungen und Vorteile einer Microservice Architektur beim Application Performance Management.

Warum Microservices und warum gerade jetzt?

Microservices sind derzeit einer der wichtigsten Trends in IT-Architekturen. Ein Grund dafür sind immer komplexere Anforderungen, die mit der Digitalen Transformation und dem Internet der Dinge (IoT) einhergehen. Besonders im Handel stellt dieses Phänomen eine große Herausforderung dar. Hier verschmelzen Online- und Offline-Handel ineinander. Zusätzlich steigt der Einsatz mobiler Anwendungen und Zugriffe, was eine nicht zu unterschätzende Auswirkung auf Prozesse und Auslastungen hat.

Welchen Anteil hat IoT an dieser Problematik

Wir gehen davon aus, dass in Zukunft immer mehr Daten, nicht nur von Konsumenten sondern auch von vernetzten Dingen anfallen werden. Unternehmen müssen diese neue Datenmenge sinnvoll managen, um mit ihrer Hilfe auch einen Wettbewerbsvorteil zu erzielen. Hier bieten sich Microservice- Architekturen an, da bei vernetzten Dingen minderkomplexe Tasks, wie die Überprüfung eines Sensors oder die Steuerung kleinerer Einheiten überwacht und gewartet werden müssen.

Was macht den Unterschied bei Zugriffen über verschieden Kanäle wie beispielsweise vom Smartphone oder PC aus?

Mobile Zugriffe lassen sich schlechter voraussehen und kalkulieren. Nicht zu vernachlässigen ist hier auch die deutlich geringere Frustrationstoleranz beim Konsumenten. Bei einer Transaktion am PC wird der Kunde eventuell längere Response-Zeiten akzeptieren, weil er parallel surfen oder andere Tätigkeiten erledigen kann. Schon eine geringfügig längere Response Time kann beim mobilen Kunden zur Einstellung der Transaktion führen oder im schlimmsten Fall gar den Verlust eines Kunden nach sich ziehen. Ein Beispiel: Wenn sich durch erhöhten Traffic die Performance eines Online-Händlers um nur eine Sekunde verschlechtert, bedeutet das sieben Prozent weniger Umsatz. Wenn sie also von einem Tagesumsatz von 100.000 US-Dollar ausgehen, sind das 2.500.000 US-Dollar Umsatzeinbuße im Jahr. Unternehmen müssen also Ihre Infrastruktur und Software-Architektur an die wachsende Nachfrage auf verschiedenen Kanälen anpassen.

Warum bietet sich hier eine Microservice-Architektur an?

Im Gegensatz zu SOA werden hier große, monolithische Applikationen in kleinere und damit leichter zu administrierende Komponenten aufgespaltet. Dadurch erhöht sich die Agilität der Struktur und eine bessere Anpassung auf individuelle Geschäftsanforderungen wird ermöglicht. Viele Unternehmen verwenden verschiedene Systeme um mobile und stationäre Transaktionen getrennt zu bearbeiten, trotzdem müssen plattformübergreifenden Prozesse reibungsfrei und performant laufen.

Welche konkreten Vorteile bieten Microservices?

Microservices sind untereinander unabhängig, das heißt, sie sind autonom skalierbar und können auch unabhängig voneinander entwickelt werden. Falls sich das anbietet, kann das sogar von verschiedenen Teams vorgenommen werden. Darüber hinaus sind Microservices klein, dadurch übersichtlich und können wenn nötig durch eine Neuimplementierung ersetzt werden. Außerdem hält sich der Wartungsaufwand in Grenzen und tritt ein Problem auf, reicht es den betroffenen Microservice zu warten, anstatt weite Teile des Systems lahmzulegen.

Welche Herausforderung bietet so eine Architektur?

Erhöhte Flexibilität und einfachere Bedienbarkeit bringen auch neue Anforderungen mit sich: Überwachung und Reparatur von Anwendungen in Microservice-Architekturen sind weitaus komplexer und schwieriger, da zur Ausführung der kleineren Komponenten deutlich mehr Anwendungsserver-Instanzen und damit Ressourcen benötigt werden. Um die dafür erforderliche höhere Anzahl virtueller Computer einfacher verwalten zu können, nutzen Unternehmen häufig Container-Technologien wie Docker. Microservice-Architekturen bergen zudem in puncto Betriebsmanagement weitere Herausforderungen, denn jede Benutzertransaktion nimmt in der Regel hunderte unterschiedliche Dienste in Anspruch.

Welche Gefahren bestehen im Hinblick auf den Endkunden?

Bereits ein einzelnes Problem in einem einzigen Dienst kann sich negativ auf die User Experience auswirken. Darüber hinaus werden Microservice-Architekturen meist von mehreren kleinen Entwicklungsteams betreut, die wesentlich häufiger neuen Code in der Produktionsumgebung implementieren. Was sowohl einen erhöhten Arbeitsaufwand darstellt als auch ein Risiko für laufende Prozesse darstellt.

Was ist nötig um eine Microservice-Architektur effizient einzusetzen?

Wie alle Softwarearchitekturen muss eine Microservice-Architektur effektiv überwacht und gewartet werden. Dazu muss das Applikations- und Transaktionsverhalten in Echtzeit beobachtet und in immer komplexer werdenden Infrastrukturen nachverfolgt werden. Abgesehen davon benötigt man ein Kostenmodell, das die Überwachung von vielen kleinen Instanzen berücksichtigt. Neben einer diskreten, asynchronen Transaktionsverfolgung kommt es auch darauf an, die Komponenten zu überwachen und ihren fehlerfreien Betrieb sicherzustellen. Dafür bietet sich eine Application Performance Management Software an, die alle Dienste überwacht und in Echtzeit Aussagen über die Performanz der Komponenten wie auch des gesamten Systems machen kann.

Weitere Informationen:

Eine kostenlose Testversion von AppDynamics soll unter www.appdynamics.com/freetrial zur Verfügung stehen.

www.appdynamics.de

Frische IT-News gefällig?
IT Newsletter Hier bestellen:

Newsletter IT-Management
Strategien verfeinert mit profunden Beiträgen und frischen Analysen

Newsletter IT-Security
Pikante Fachartikel gewürzt mit Shortnews in Whitepaper-Bouquet