Alan Yrok - stock.adobe.com

Wer zukunftssicher sein möchte, muss rein in die Cloud

Die Cloud ist spätestens seit dem ersten Lockdown im Jahr 2020 nicht nur in aller Munde, sondern in immer mehr Unternehmen ein wesentlicher Teil ihrer IT-Infrastruktur.

Spätestens seit 2020 ist der Begriff Cloud aus Unternehmen verschiedenster Größen nicht mehr wegzudenken. Tatsächlich ist die Cloud in den letzten zehn Jahren zu einem virtuellen Raum avanciert, der maßgebliche Services, Funktionen und Informationen von Geschäftsprozessen und interner Kommunikation vereint.

Die Ereignisse der Pandemie haben zwar die Digitalisierungsprozesse vielerorts stark beschleunigt, jedoch gibt es mitunter Vorbehalte, die IT-Infrastruktur würde zu komplex. Hier eine Schnittstelle, da mehrere Microservices und noch mehr Anwendungen, um die sich gekümmert werden muss.

Aber: Die Vorteile der Cloud überwiegen und richtig gemanagt, können auch Skeptiker überzeugt werden, dass diese Technologie genutzt werden sollte. Um interne Prozesse ideal zu koordinieren und etwa eigene Applikationen für Kunden oder Mitarbeiter zu realisieren, bietet sich die Nutzung eines Cloud-native-Ansatzes auf Basis von Microservices an.

Wer zukunftssicher sein will, kommt um die Cloud nicht herum

Zwar lassen sich auch monolithisch aufgebaute Systeme per Lift and Shift in die Cloud verlagern und dort betreiben. Allerdings können solche Anwendungen nur wenige Vorteile der Cloud wirklich ausschöpfen. Eine bessere Lösung ist die Konzeption, Entwicklung und Bereitstellung von flexiblen, skalierbaren und zuverlässigen Anwendungen direkt in der Cloud (Cloud-native).

Dabei kommen Microservices zum Einsatz, also kleine Systemeinheiten, die jeweils nur eine oder wenige Funktionen innerhalb der gesamten Architektur übernehmen und miteinander über sorgfältig definierte Schnittstellen kommunizieren. Dabei können Microservices auf unterschiedlichen Servern sowie an verschiedenen Standorten betrieben werden und arbeiten oft unabhängig voneinander.

Unternehmen profitieren von dieser Architektur auf verschiedene Weise. So sind sie bei der Entwicklung von Anwendungen wesentlich flexibler und agiler, weil nicht mehr das ganze System überarbeitet werden muss, sondern nur einzelne Komponenten. Außerdem lassen sich dadurch spezifische Funktionen nach Bedarf skalieren. Gleichzeitig sind immer mehrere wenige Entwickler für einzelne Systemeinheiten zuständig, die unabhängig von anderen Teams arbeiten, so dass sie sich vollständig auf diese konzentrieren können, ohne die komplette Applikation im Blick behalten zu müssen. Das trägt ebenfalls dazu bei, dass neue Features schneller entwickelt werden und dabei eine höhere Qualität aufweisen.

Der erhöhten Komplexität Herr werden

Allerdings scheint durch Microservices auch die Komplexität zuzunehmen, da je nach Applikation hunderte oder sogar tausende zum Einsatz kommen können. Um die Funktionalität der Anwendung sicherzustellen, müssen die Abhängigkeiten der Microservices untereinander sowie ihre Schnittstellen durchweg kontrolliert und überwacht werden. Auch dies ist ein Grund, warum immer ein Entwicklerteam für einen Microservice zuständig sein sollte. So können die Aufgaben für die Maintenance und Kontrolle auf mehrere Schultern verteilt werden.

Unternehmen, die auf eine Microservice-Architektur setzen, benötigen darüber hinaus aber auch ein umfangreiches Warnsystem, das Anomalien und potenzielle Ausfälle erkennt, damit diese schnellstmöglich behoben werden. Dafür können sie sogenannte Service Level Objectives (SLOs) für jeden einzelnen Microservice formulieren.

SLOs sind spezifische Kennzahlen, die jede dieser Einheiten erreichen soll und an denen die Servicequalität gemessen wird. Um diese zu definieren, müssen Unternehmen die zentrale Nutzererfahrung ihrer Anwendung identifizieren und herausfinden, welche Rolle die jeweiligen Microservices dabei spielen. Daraus lässt sich ableiten, welche Ziele die Microservices für eine annähernd hundertprozentige Zuverlässigkeit der Anwendung erreichen müssen. Kommt es zu Verstößen gegen die SLOs, deutet dies auf Probleme hin, die gelöst werden müssen.

Um dieses Warnsystem zu überwachen und die entsprechenden Teams über anormale Aktivitäten zu informieren, können Unternehmen ein automatisiertes Monitoring-Tool implementieren und mit den SLOs verknüpfen. Es überwacht eigenständig die Performance aller Microservices und sendet Alerts an die jeweiligen Teams, wenn die Serviceziele verfehlt werden. Darüber hinaus bietet es sich ebenfalls an, die Lösung mit einer Incident-Management-Plattform zu verbinden. Diese ermöglicht den Teams sich unmittelbar auf die konkrete Ursachensuche zu begeben und Störungen so schnell zu beheben, dass sie sich weder auf Verlässlichkeit noch auf die User Experience der Endanwender auswirken. Durch diese Schritte können Unternehmen verhindern, dass sich auf tiefster Applikationsebene Fehler einschleichen, die schwerwiegende Folgen haben können.

Ohne hohe Verlässlichkeit bringt eine schicke neue Anwendung wenig

Cloud-native ist mehr als das neueste Buzzword – die Konzeption, Entwicklung und Bereitstellung von Applikationen direkt in der Cloud kann Unternehmen echte Vorteile bringen, gerade auf lange Sicht. Durch die Microservices-Architektur wird das System wesentlich flexibler, leichter skalierbar und neue Funktionen können schneller integriert werden. Da sich die einzelnen Entwicklerteams darüber hinaus nur auf ihre Komponenten unabhängig von allen anderen fokussieren und Änderungen leichter testen und ausprobieren können, sind sie in der Lage, ihre Arbeit in höherer Qualität auszuführen, so dass sich die Qualität der gesamten Anwendung verbessert.

Mike Tria, Atlassian

„Durch die Microservices-Architektur wird das System wesentlich flexibler, leichter skalierbar und neue Funktionen können schneller integriert werden.“

Mike Tria, Atlassian

Unternehmen müssen sich allerdings bewusst sein, dass sie in dieser Architektur mit sehr vielen kleinen Systemeinheiten arbeiten, die alle Störungen oder Anomalien aufweisen können. Deshalb benötigen sie eine automatisierte Lösung, um Systemausfälle zu vermeiden. Unternehmen, die auch zukünftig mehr von Cloud-Diensten profitieren wollen, sollten ihre interne Struktur auf automatisierte Lösungen aufbauen. Nur so können sie sicherstellen, dass ihre Anwendungen jederzeit höchste Zuverlässigkeit aufweisen – und Kunden, Mitarbeiter, neue Produkte sowie neu eingeführte Services davon profitieren. 

Über den Autor:
Mike Tria ist Head of Engineering für Platform bei Atlassian. In dieser Funktion ist er für die globale Cloud-Infrastruktur, die Identitäts- und Frontend-Plattformen sowie das Ökosystem für Drittanbieterentwickler verantwortlich. Mike Tria verfügt über mehr als 15 Jahre Erfahrung als Softwareingenieur und Führungskraft, die von der Arbeit bei Cloud-nativen Start-ups bis hin zu größeren Unternehmen reicht. Er hat alle Bereiche der Produktentwicklung aufgebaut und geleitet, einschließlich Produktmanagement, Design, Engineering, QA und SCM/Release, hat sich aber hauptsächlich auf SaaS, E-Commerce und den Aufbau von Netzwerken konzentriert.

Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.

Erfahren Sie mehr über Cloud-Software

ComputerWeekly.de
Close