Anzeige

Anzeige

SaaS

Die unternehmensinterne IT-Infrastruktur gereicht manchmal zum Mysterium: Sehr große Cloud-Systeme, eine wachsende Anzahl an Microservices und zusätzlich bringt Homeoffice dutzende neue Schnittstellen, die es zu sichern gilt. Kurzum: Das alles zeigt, dass es bei SaaS-Anbietern ein Umdenken braucht, wie sie ihren Kunden die zuverlässigsten und sichersten Cloud-Infrastrukturen zur Verfügung stellen.

Unternehmen müssen daher einen neuen Standard bei sich anlegen, um die Erwartungen ihrer Kunden erfüllen zu können, denn nur zuverlässige Systeme ermöglichen eine erfolgreiche Service-Bereitstellung. Im Umkehrschluss bedeutet das allerdings, dass Entwickler noch mehr leisten. Mike Tria, Head of Platform Engineering bei Atlassian, hat diese Erfahrungen mit seinem eigenen Team machen können und drei Schlüsselfaktoren herausgefiltert, um zukunftssichere skalierbare und zuverlässige Cloud-Plattformen aufzubauen.

1. Auf Microservices setzen

Das Herzstück einer jeden SaaS-Cloud-Plattform ist die Komplexität. Komplexität kann auf zwei Arten verwaltet werden: Zentral oder verteilt. Ein zentralisiertes System ist ein Monolith, bei dem die gesamte Komplexität in einem einzigen System lebt, das eine einzige Schnittstelle zur Außenwelt darstellt. Ein verteiltes System wird oft mit Hilfe von Microservices aufgebaut, bei denen die Komplexität in einzelne Dienste aufgeteilt wird, die wiederum 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 gibt.

Das Gegenteil ist jedoch der Fall: Durch die Verwendung von Service Level Objectives (SLOs) für jeden Microservice und zusätzliche Alerts an relevante Teams wird eine „Tiefenverteidigung“ im System geschaffen. Einige Unternehmen setzen bereits SLOs ein, allerdings nur in den äußeren Schichten ihres Systems. Atlassian zum Beispiel setzt auf diese Tiefenverteidigung und nutzt über 1.400 Microservices. Eben diese Microservices mit angehängten SLOs, die mit Alerts verknüpft sind, sind der Schlüssel zu einem zuverlässigen Großsystem.

2. Automation überall nutzen, wo es möglich ist

Würden bereits fünf Prozent der Issue Services ihren Job nicht mehr machen, wäre alle Zuverlässigkeit dahin. Durch Automation an allen möglichen Stellen kann jedoch sichergestellt werden, dass die Zuverlässigkeit bei fast 100 Prozent liegt. Ein separates Tool überwacht alle vorhandenen Microservices, verknüpft Warnungen bei Anomalien einzelner SLOs und leitet sie an die entsprechenden Teams weiter, damit diese übernehmen können. Dieses Tool sollte weiterhin mit einem Incident Management System gekoppelt werden – so wird jeder Protokoll-Verstoß direkt gemeldet und kann umgehend behoben werden. Zudem lässt sich ein Microservice-System damit effektiv skalieren, was letztendlich auch weitere Engineering-Ressourcen für anspruchsvolle Arbeiten eröffnet.

3. Ein Fehlerbudget einführen

Damit die Zuverlässigkeit von Services einwandfrei bewertet werden kann, sollte zukünftig ein internes „Fehlerbudget“ eingeführt werden. Dieses Konzept wird von modernen Software-Unternehmen bereits seit zwei bis drei Jahren genutzt. Ein großer Vorteil von Fehlerbudgets ist, dass sie den Teams Spielraum geben. Solange der Dienst innerhalb seines Fehlerbudgets liegt, kann das Team wie gewohnt arbeiten. Erst wenn das Fehlerbudget überschritten wird, sollte das Team zu einer Notfalltaktik übergehen.

Als 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 dann das Fehlerbudget. Angenommen, aus der Berechnung ergibt sich, dass 52 Minuten des Jahres Fehlerbudget sind. Geht etwas schief und das Team braucht einmal zwei Minuten, um zu reagieren, ist das innerhalb des Budgets und erfordert keine weitere Aktion.

Zuvor wurden bei Atlassian alle Fehler gleichbehandelt, mit der Nutzung eines Fehlerbudgets und SLOs ist das anders – Fehler werden bewertet und sind jetzt skalierbar. Bei Atlassian erhalten alle Services diese Einordnung standardmäßig.

Fazit: Zuverlässigkeit ist der Grundstock für erfolgreiche Service-Bereitstellung

Ohne Kunde kein Service und ohne zuverlässigen Service kein Kunde. Doch um solche 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 eines Fehlerbudgets legen sie damit den idealen Grundstein, um auch den Kunden fortlaufend zuverlässige und skalierbare Dienste anbieten zu können.


Weitere Artikel

Software

Software wird immer komplexer und sicherer

Die Softwareentwicklung wird sich in den kommenden Jahren mit einer immer höheren Komplexität und stark steigenden Sicherheitsanforderungen konfrontiert sehen. Dies geht aus dem aktuellen Report „IT-Trends der 2020er Jahre“ hervor.
Anwendungssicherheit

Cloud-native Architekturen überfordern herkömmliche Sicherheitslösungen

Traditionelle Ansätze für die Anwendungssicherheit sind durch die zunehmende Nutzung von Cloud-nativen Architekturen, DevOps und agilen Methoden überfordert. Das ist eines der Ergebnisse der unabhängigen weltweiten Umfrage im Auftrag des…
Code

Warum ist IaC bei der Automatisierung unverzichtbar?

Immer mehr Unternehmen beschäftigen sich derzeit mit dem Thema Infrastructure as Code (IaC). Der IT-Dienstleister Consol zeigt die Chancen und Vorteile, aber auch die Herausforderungen, die mit dem IaC-Einsatz bei der Automatisierung verbunden sind.
Hybrid Working

Was IT-Organisationen für erfolgreiches Hybrid-Working leisten können

Mit dem Trend zu Hybrid-Working sind Unternehmen gefordert, neue technische Infrastrukturen und Prozesse der Zusammenarbeit zu etablieren. Doch wer soll die Strategie dafür maßgeblich vorantreiben – die IT, HR, die Fachabteilungen selbst?

Anzeige

Jetzt die smarten News aus der IT-Welt abonnieren! 💌

Mit Klick auf den Button "Zum Newsletter anmelden" stimme ich der Datenschutzerklärung zu.