Gorodenkoff - stock.adobe.com

Die Vorteile von Microservices für RZ-Administratoren

Viele Anwendungen waren bisher sehr groß und umständlich zu handhaben, wenn Änderungen oder Updates anstehen. Die Aufteilung einer App in mehrere Microservices schafft Abhilfe.

Um mit der Entwicklung der Workflows und der zunehmenden Bedeutung von Daten mithalten zu können, müssen sich Unternehmen und Rechenzentrums-Administratoren den auf Microservices basierenden Architekturen zuwenden: Nur so können sie die Entwicklung von Software beschleunigen und Innovationen integrieren.

Ältere für Anwendungen geeignete Infrastrukturen verlieren eventuell mit der Zeit ihre Modularität und einfache Instandhaltung, weil sich die Infrastruktur insgesamt sowie Patches, System-Updates oder Code-Zusätze immer mehr ausdehnen. Dadurch wird es schwieriger, kleinere, aber häufigere Änderungen an der Software durchzuführen und die Fähigkeit zu kürzeren Update-Zyklen auszubauen. Diese in die Jahre gekommenen Softwaremodelle zu erneuern, ist einer der Vorteile von Microservices.

Calvin Brown, Enterprise Principal Architect bei der Kairu Consulting in Atlanta, beschreibt diese Entwicklung: „Wenn diese Technologie richtig umgesetzt wird, kann sie parallel zu bestehenden Services laufen und weit weniger Zeit zwischen Entwicklung und praktischem Einsatz als größere Prozesse in Anspruch nehmen.“

Rechenzentrums-Administratoren sind in der Regel nicht direkt mit der Entwicklung von Architekturen für Microservices befasst, aber sie müssen sich bewusst sein, wie die Hardware eine erfolgreiche Implementierung unterstützen kann. Immer mehr Unternehmen erkennen die Vorteile, wenn Entwickler in der Lage sind, schneller kleinere Services zu schreiben.

Mit DevOps-Modellen, die Zusammenarbeit, Testen und Integration vorantreiben, können Administratoren und Entwickler die Vorteile von Microservices benutzen und die notwendige Unterstützung für effektive Entwicklungszyklen und Hardwareeinsatz gewinnen.

Microservices im eigenen Rechenzentrum

Microservices sind Anwendungen, die auf mehrere zusammenhängende Services aufgeteilt sind und die jeweils bestimmte Funktionen abbilden. Um einzelne Softwarefunktionen auf einer regelmäßigeren Basis zu erhalten, können Entwickler Software-Komponenten – oder Services – auseinanderbrechen und so ein verteiltes System bilden. Diese Technologie eignet sich gut für Cloud-basierte oder On-Premises-Installationen, weil sie je nach den Anforderungen von Entwicklern gestaltet werden kann.

Container von Docker und anderen Anbietern sowie Automatisierungssoftware, mit denen viele Administratoren bereits vertraut sind, sind wesentliche Wegbereiter für Microservices. 

Ian McCarty, President und CEO von PhoenixNAP Global IT Solutions, sagt hierzu: „Microservices erfordern keine teure und extra aufbereitete Markenhardware, sondern laufen bereits auf Shared Clusters mit Standard-Hardware, die leichter zu erweitern und zu ersetzen ist.“ 

Eine Studie von 451 Research zeigt, wie viele Unternehmen bereits mit Microservices arbeiten oder diese planen.
Abbildung 1: Eine Studie von 451 Research zeigt, wie viele Unternehmen bereits mit Microservices arbeiten oder diese planen.

Um eine Anwendung auf Basis von Microservices zum Laufen zu bringen, müssen Administratoren Infrastrukturverbindungen mit niedrigen Latenzen einsetzen. Sie sollten zudem Automatisierungssoftware verwenden, um die Implementierung zu erleichtern, weil jede Anwendungskomponente getrennt installiert werden muss – oft innerhalb von Containern.

„Die Installation und das Monitoring von Microservices sind schwieriger und teurer als bei einem klassischen, monolithischem System“, erklärt McCarty.

Die Vorteile von Microservices

Zusätzlich zu der genaueren Methode, Updates von Softwaremodulen zu erstellen, bieten Microservices ein paar Vorteile beim Betrieb der Anwendungen, besonders  beim schnelleren Übergang vom Testen hin zum produktiven Einsatz.

Für Microservices sprechen ferner die Vorzüge, wenn es zu Ransomware- oder verteilten Denial-of-Service-Angriffen sowie zu unerwarteten Systemausfällen kommt. Fällt eine bestimmte Funktion aus, können sich die Administratoren zunächst diesem Problem zuwenden, ohne dass das ganze System heruntergefahren werden muss.

Darüber hinaus verbessern Microservices die Skalierbarkeit von Rechenzentren und den Ressourcenverbrauch. IT-Administratoren können Nachfrage-Peaks bewältigen, indem sie einzelnen betroffenen Komponenten mehr Ressourcen zur Verfügung stellen, anstatt das ganze System zu skalieren.

McCarty merkt hierzu an: „Ein Unternehmen kann außergewöhnliche Nachfrage an Ressourcen heute dadurch begegnen, dass zeitweilige VMs in einer Cloud oder in anderen Rechenzentren installiert werden. Man muss nicht mehr über ein einziges extrem stark ausgerüstetes Rechenzentrum verfügen, um solche besonderen Anforderungen erfüllen zu können.“

Für langfristige Instandhaltungs- und Wartungsaufgaben kann jedes Entwicklungsteam den jeweiligen Source Code verwenden, den sie für die Lösung ihres Problems benötigen. Dies kann die Abstimmung und den Zeitaufwand reduzieren, die man in der Regel für solche Änderungen benötigt.

„Entwickler können jeden Service auf ihren eigenen Computern erstellen, ohne befürchten zu müssen, hierfür nicht genug Ressourcen zu besitzen“, erläutert der Spezialist McCarty.

Die gesamte Microservices-Architektur zwingt den IT-Administratoren keine bestimmte Methode auf, da sie offen für unterschiedliche Technologien und Source Codes ist, abhängig von den Anforderungen der einzelnen Module. Dies erfordert jedoch Abstimmung zwischen Administratoren und Entwicklern, da die Unterstützung für den Einsatz von Containern, kleinen Cloud- und sogar serverlose Installationen sichergestellt werden muss. Wenn die benötigte Hardware nicht vorhanden ist, bevor die Entwickler mit ihrer Arbeit beginnen, wird das den Start der neuen Anwendungen oder ihrer Teile verzögern, die anfallenden Kosten erhöhen und die Vorteile von Microservices unnötig verkleinern.

Wenn Administratoren darüber hinaus eine heterogene Umgebung zur Unterstützung von Microservices verwenden, ist es dringend notwendig, dass sie für eine Kompatibilität zwischen Servern und Cloud-Plattformen sorgen, um spätere Ausfallzeiten klein zu halten.

Worauf zu achten ist

Unternehmen müssen genau den Einsatz einer Architektur auf Basis von Microservices abwägen, bevor sie die Technologie installieren.

Jay Lyman, Principal Analyst bei 451 Research, weist auf die Problematik hin: „Wenn eine traditionelle monolithische Anwendung anfängt, schwierig zu verwalten zu werden oder sich ein Update nur mit Mühe durchführen lässt, dann sind Microservices unter Umständen ein wirksames Mittel, um die Anwendung robuster und skalierbarer zu machen. Wenn es keine Probleme gibt, sind Microservices eventuell unnötig.“

Außerdem müssen Administratoren beachten, wie die Funktionen der Anwendung anzuordnen sind und welche APIs die verschiedenen Module unterstützen. Bei der Planung der verschiedenen Services müssen die Entwickler sicherstellen, dass die Komponenten zueinander passen und dass nicht zu viele Funktionen in das gleiche Modul gepackt werden.

Um einzelne Software-Funktionen auf einer regelmäßigeren Basis zu erhalten, können Entwickler Software-Komponenten – oder Services – auseinanderbrechen und so ein verteiltes System bilden.

RZ-Administratoren müssen sämtliche Installationspläne im Auge haben. Das bedeutet, die aktuellen Server- und Cloud-Kapazitäten zu bewerten, einschließlich der Berechnung von Netzbandbreite und Storage, die die Microservices benötigen, um langfristig und effektiv zu laufen und mit Schwankungen im Datenvolumen zurecht zu kommen.

Eine Architektur für Microservices entwickeln

Laut einer Studie von 451 Research sind mehr als ein Drittel der Unternehmen bereits dabei, erste oder größere praktische Schritte beim Einsatz von Microservices durchzuführen. 62 Prozent der Unternehmen befinden sich in einem Versuchsstadium, in dem sie Microservices in Testumgebungen ausprobieren. Nur vier Prozent der Unternehmen haben kein Interesse an Microservices.

Technologiegiganten wie Amazon mit AWS API Integration und AWS Lambda sowie Microsoft Azure mit API Management treiben diesen Trend aktiv an, da sie bereits stark in die Unterstützung von Microservices-Installationen bei den Unternehmen investiert haben.

Doch selbst mit der Hilfe großer Technologieunternehmen müssen die IT-Administratoren immer noch eng mit den Entwicklern zusammenarbeiten, um die richtige Mischung von dedizierten Servern, Clouds und Containern zu finden. Nur so lassen sich neue flexible Softwarearchitekturen aufbauen, mit denen man von den Vorteilen der Microservices profitieren kann.

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

Nächste Schritte

Die Sicherheit von Microservices erhöhen

Drei API-Designkonzepte für Microservices

Microservice-Tests: Das müssen Sie beachten

Erfahren Sie mehr über Data-Center-Betrieb

ComputerWeekly.de
Close