Cloud-Plattformen mit zunehmender Komplexität Automatisierung führt aus dem Microservice-Dschungel

Autor / Redakteur: Mike Tria* / Elke Witmer-Goßner

Von sechs auf 1.400 Microservices in weniger als fünf Jahren? Das klingt im ersten Moment nach einer überwältigenden Komplexität. Sieht man da vor lauter Microservices eigentlich noch das gesamte System? Doch gerade hier liegt der Schlüssel zu höchst verfügbaren und zuverlässigen SaaS-Cloud-Plattformen.

Firmen zum Thema

Microservices im Cloud-Umfeld werden immer beliebter. Doch je mehr davon verwendet werden, desto komplexer und unübersichtlicher werden die IT-Betriebsumgebungen.
Microservices im Cloud-Umfeld werden immer beliebter. Doch je mehr davon verwendet werden, desto komplexer und unübersichtlicher werden die IT-Betriebsumgebungen.
(Bild: © peshkov - stock.adobe.com)

In den letzten zehn Jahren ist die Cloud zu dem virtuellen Raum geworden, an dem sich der Großteil der Geschäftsprozesse und Kommunikation von Unternehmen abspielt. Allein in Anbetracht der beschleunigten Digitalisierungsprozesse des letzten Jahres spielt Cloud Computing mittlerweile eine entscheidende Rolle, wenn es darum geht, verteilte Teams produktiver zu machen. Diese Entwicklungen haben zur Folge, dass die Anzahl von Anwendungen, Microservices und Schnittstellen steigt, wodurch die IT-Infrastruktur vieler Unternehmen immer komplexere Ausmaße annimmt.

Der Zuverlässigkeit bzw. der zuverlässigen Verfügbarkeit von Cloud-Services muss dementsprechend für Provider eine hohe Priorität zukommen: Schwache Services und Ausfallzeiten sorgen bei Kunden nicht nur für Frustration, sondern können auf Kundenseite zu erheblichen finanziellen Einbußen führen. Dementsprechend müssen SaaS-Anbieter Prozesse und Methoden etablieren, die ihnen helfen, ihren Kunden sichere und hochzuverlässige Cloud-Infrastrukturen zur Verfügung zu stellen – oder sie riskieren, ihre Kunden zu verlieren.

Microservices als Grundlage für Zuverlässigkeit

Komplexität ist Teil einer jeden Saas-Cloud-Plattform. Diese kann auf zwei unterschiedlichen Weisen verwaltet werden: Auf der einen Seite kann das Management über einen zentralisierten Monolithen erfolgen. Hierüber fließt die Komplexität in einem einzigen System zusammen, das lediglich über eine Schnittstelle zu externen Systemen verfügt. Auf der anderen Seite lässt sich die Komplexität über kleinere Systemeinheiten in Form von Microservices verteilen. Dies bedeutet, dass die verschiedenen Funktionen einer Anwendung oder eines Service aufgebrochen und mehreren, individuellen Instanzen zugewiesen werden, die miteinander kommunizieren. Der Vorteil dabei: Sollte ein Microservice ausfallen, ist nicht zwangsläufig die ganze Anwendung davon betroffen.

Microservices im Cloud-Umfeld erfreuen sich nun seit einiger Zeit stetig wachsender Beliebtheit: So gaben 76 Prozent der im Rahmen einer 2019 durchgeführten Forrester-Untersuchung befragten Unternehmen an, dass Microservices künftig weit oben auf der Business-Agenda vieler Unternehmen stehen werden. Lediglich vier Prozent hätten dieser Aussage damals widersprochen. 2020 konnte TechRepublic Premium im Rahmen ihrer eigenen Erhebung feststellen, dass die Mehrheit der befragten Experten (73 Prozent) bereits Microservices in ihre Anwendungsprozesse integriert haben. 66 Prozent der Befragten nutzen sie in Form von Cloud-Services. Microservices sind überall zugegen.

Service Level Objectives und Automatisierung

Aufgrund der zahlreichen Schnittstellen, die mit Microservices entstehen und die überwacht werden müssen, scheint diese Architektur auf dem ersten Blick fehleranfälliger zu sein als traditionelle monolithische Systeme. Einige Unternehmen setzen für ein höheres Sicherheitsniveau bereits auf sogenannte Service Level Objectives (SLOs) – also Ziele und messbare KPIs zur Gewährleistung der Servicequalität. Diese beschränken sich oftmals jedoch auf die äußere Schicht des gesamten Systems. Das Einsetzen von Service Level Agreements (SLAs), das Formulieren entsprechender SLOs für jeden einzelnen Microservice sowie zusätzliche Alerts können dem entgegenwirken. In Kombination sorgen sie für eine tiefgreifende Absicherung des Systems vor sich einschleichenden Fehlern.

Um einen genauen Überblick hinsichtlich der Sicherheit und sicherheitsrelevanter Vorfälle behalten und somit die Zuverlässigkeit des Systems gewährleisten zu können, müssen die Microservices bzw. die SLOs der Microservices genauestens überwacht und kontinuierlich getestet werden. Als wir im Jahr 2019 Software- und IT-Profis befragten, gaben 71 Prozent der Befragten an, dass Microservice-basierte Architekturen viel einfacher zu testen sind als monolithische Strukturen.

Und mit Hilfe der Automatisierung können Betriebsteams sicherstellen, dass die Gesamtzuverlässigkeit in jeder einzelnen Instanz der Systeme, egal wie komplex sie ist, nahezu bei 100 Prozent liegt. Ein separates, zentralisiertes Automatisierungstool überwacht alle im Einsatz befindlichen Microservices und ist in der Lage, die entsprechenden Teams über jede anormale Aktivität in Bezug auf einzelne verletzte SLOs zu alarmieren. Darüber hinaus sollte dieses Tool mit einer Incident-Management-Plattform verbunden sein, damit jede Verletzung direkt behoben werden kann. Wer dieses Framework befolgt, ermöglicht Softwareentwicklern den Genuss der Vorteile eines besser verwaltbaren und skalierbaren Microservices-Systems.

Zentrale Verwaltung hilft

Wir leben in einer Zeit, in der Konsumenten von Technologie erwarten, dass diese regelmäßig aktualisiert wird und zuverlässig läuft. Trifft dies nicht zu, entscheiden sie sich für bessere Alternativen. Um das zu verhindern, müssen Unternehmen in effektivere Service-Strukturen investieren. Microservices in Kombination mit einer zentralen Plattform, über die sie sich automatisiert testen und verwalten lassen, bilden das Fundament für Zuverlässigkeit und Skalierbarkeit.

Mike Tria, Head of Platform Engineering, Atlassian.
Mike Tria, Head of Platform Engineering, Atlassian.
(Bild: Atlassian)

* Der Autor Mike Tria ist Head of Platform Engineering bei Atlassian. In dieser Funktion ist er für die globale Cloud-Infrastruktur, die Identitäts- und Front-End-Plattformen sowie das Ökosystem für Drittanbieter-Entwickler verantwortlich. Mike Tria verfügt über mehr als 15 Jahre Erfahrung als Software-Ingenieur und Führungskraft, die von der Arbeit bei Cloud-nativen Startups bis hin zu größeren Unternehmen reicht.

(ID:47469647)