Microservices sind die Basis der Cloud. Kunden verlangen maximale Stabilität. Mike Tria, Head of Platform Engineering bei Atlassian, gibt Unternehmen drei Tipps, wie sie stabil skalierbare Cloud-Plattformen bauen.
Einem Mysterium gleicht in vielen Unternehmen die interne IT-Infrastruktur: Sehr große Cloud-Systeme, eine wachsende Anzahl an Microservices – und nun bringt auch noch das Homeoffice dutzende neue Schnittstellen, die es abzusichern gilt. Das alles zeigt, dass es bei Software-as-a-Service Anbietern ein Umdenken braucht, wie Kunden die zuverlässigsten und sichersten Cloud-Infrastrukturen bekommen.
Anzeige
Clever digitalisieren – Prozesse & Software richtig verzahnen!
Unter dem Motto „Clever digitalisieren – Prozesse & Software richtig verzahnen“ bietet die Trovarit bewährte Services und Werkzeuge, mit denen Unternehmen
- ihre Prozesse effizient analysieren und bewerten,
- den aktuellen Software-Einsatz überprüfen,
- Schwachstellen und Potenziale erkennen,
- Optimierungsmaßnahmen ableiten,
ohne große Summen zu investieren!
Unsere Downloads & Webinare zum Thema
Idealerweise führen Unternehmen eine neue Messlatte ein, um die Erwartungen ihrer Kunden zu erfüllen. Nur zuverlässige Systeme ermöglichen eine erfolgreiche Service-Bereitstellung. Im Umkehrschluss bedeutet das, dass Entwickler noch mehr leisten müssen. Nach der Praxiserfahrung von Atlassian sind drei Schlüsselfaktoren für die Stabilität und Skalierbarkeit von Cloud-Plattformen verantwortlich:
1. Auf Microservices setzen
Das Herzstück einer jeden Software-as-a-Service-Plattform ist der Umgang mit der Komplexität. Zwei Varianten stehen zur Wahl: zentral oder verteilt. Ein zentralisiertes System ist ein Monolith, bei dem die gesamte Komplexität in einem einzigen System lebt. Dieses System stellt die einzige Schnittstelle zur Außenwelt dar. Die andere Möglichkeit ist ein verteiltes System auf Basis von Microservices. Hier wird die Komplexität in einzelne Dienste aufgeteilt, die miteinander kommunizieren. Auf den ersten Blick scheint das auf Microservices basierende System brüchiger zu sein, da es mehr Schnittstellen und damit mehr Möglichkeiten für Fehler aufweist. In der Praxis ist das Gegenteil der Fall: Durch die Verwendung von Service Level Objectives für jeden Microservice und zusätzliche Alerts an die zuständigen Administratoren entsteht eine „Tiefenverteidigung“ im System.
Einige Unternehmen setzen bereits Service Level Objectives ein. Atlassian nutzt für diese Tiefenverteidigung über 1.400 Microservices. In Kombination mit den Service Level Objectives und Alerts sind Microservices der Schlüssel zu einem zuverlässigen Großsystem.
2. Maximale Automatisierung
Machen bereits fünf Prozent der Issue Services ihren Job nicht mehr, ist alle Zuverlässigkeit dahin. Durch maximale Automation lässt sich sicherstellen, dass die Zuverlässigkeit bei nahezu 100 Prozent liegt. Ein separates Tool überwacht sämtliche Microservices, verknüpft Warnungen bei Anomalien einzelner Service Level Objectives und leitet sie an die entsprechenden Teams weiter, damit diese das Poblem lösen. Wird dieses Werkzeug mit einem Incident Management System gekoppelt, ist jeder Protokoll-Verstoß direkt sichtbar. Ein Microservice-System lässt sich auf diese Art effektiv skalieren, und das wiederum legt Engineering-Ressourcen für anspruchsvolle Arbeiten frei.
3. Ein Fehlerbudget einführen
Ein idealer Weg, um die Zuverlässigkeit von Services zu bewerten, ist ein internes „Fehlerbudget“. Modernen Software-Unternehmen nutzen dieses Konzept bereits seit zwei bis drei Jahren. Fehlerbudgets geben den Teams Spielraum, und das ist ihr großer Vorteil. Solange ein Dienst innerhalb seines Fehlerbudgets liegt, muss das Team nicht eingreifen. Erst wenn das Fehlerbudget überschritten wird, sind im Rahmen der Notfalltaktik Gegenmaßnahmen erforderlich.
Ein Beispiel: Das Berechtigungsteam bekommt die Aufgabe, dass der Service in 99,99 Prozent innerhalb einer Sekunde reagieren muss. Die Anzahl der Minuten, in denen diese Zahl nicht erreicht wird, ist das Fehlerbudget. Angenommen, das Fehlerbudget erlaubt 52 Minuten Ausfall pro Jahr. Geht etwas schief und das Team braucht zwei Minuten, um zu reagieren, liegt das innerhalb des Budgets und erfordert keine weitere Aktion.
Die Praxiserfahrungen bei Atlassian zeigen den Erfolg dieses Konzepts. Früher wurden dort sämtliche Fehler gleich behandelt. Seit der Einführung des Fehlerbudgets und der Service Level Objectives werden die Fehler in sämtlichen Services bewertet und eingeordnet.
Zuverlässigkeit ist die Basis für erfolgreiche Services
Zusammenfassend lässt sich festhalten: ohne Kunde kein Service und ohne zuverlässigen Service kein Kunde. Um zuverlässige Dienste zu etablieren, kommen die meisten Unternehmen nicht um eine Überarbeitung ihrer internen Service-Struktur herum. Mit einer Umstellung auf Microservices, einer zentralen Plattform für deren Verwaltung sowie der Nutzung von Fehlerbudgets legen sie den Grundstein, um den Kunden fortlaufend zuverlässige und skalierbare Dienste anzubieten. jf
Der Autor
Mike Tria ist Head of Platform Engineering bei Atlassian, einem Anbieter von Entwicklertools für agiles Projektmanagement.