Zuverlässigkeit ist zentral. Das bekommen sowohl die Geschäftsleitung als auch das Entwicklerteam der (fiktiven) FinEasy AG zu spüren, als einige Kunden sich plötzlich über lange Reaktionszeiten – ja gar über Ausfälle – der App «Saving Agent» beklagen. Es gilt, schnell zu reagieren, um Umsatzverluste, unzufriedene Kunden und gegebenenfalls irreparable Imageschäden zu vermeiden. Site Reliability Engineering ist jetzt gefragt.
Disclaimer: Es handelt sich hier um ein fiktives Beispiel. Eigennamen, Personen und Körperschaften sind frei erfunden.
Die Zentralschweizer FinEasy AG ist neuer Player im Schweizer FinTech-Markt – mit ambitionierten Zielen: Nicht nur möchte sie zum führenden Payment Service Provider der Schweiz werden, sondern Privatkunden auch mit nützlichen Dienstleistungen rund um die Themen Vermögensverwaltung, Investment und Sparberatung unterstützen. Im Zuge dieser Bestrebungen hat FinEasy die App «Saving Agent» entwickelt, in denen User ihre Ein- und Ausgaben dokumentieren und einen massgeschneiderten Massnahmenkatalog für ihre persönliche Sparstrategie erhalten.
Der Service wurde schnell zum Erfolg – doch seit Kurzem läuft die in der Cloud entwickelte und betriebene Applikation nicht mehr zuverlässig, erste User reklamierten bereits über lange Reaktionszeiten und vereinzelte Ausfälle. Die Geschäftsleitung ist alarmiert. Sie beordert Martin, seines Zeichens Software Engineer und Product Owner von Saving Agent, zu sich ins Büro: Er soll dieses Problem beheben und einen Weg finden, damit die Zuverlässigkeit der Applikation auch längerfristig gewährleistet ist.
Keine leichte Aufgabe: Sollte die Applikation nicht bald wieder richtig funktionieren, drohen der FinEasy AG Umsatzverluste, eine Vielzahl unzufriedener Kunden und nahezu irreparable Imageschäden. Auch die weitere Entwicklungsgeschwindigkeit von Saving Agent würde reduziert werden – angesichts der langen Roadmap, den die FinEasy AG für die Anwendung vorsieht, und dem grossen Backlog an geplanten Features, ein absolutes Horrorszenario. Martin realisiert, unter welch grossem Druck er nun steht. Wie soll er all diese Hürden bloss allein bewältigen?
SRE verbessert Software-Zuverlässigkeit
Martin beschliesst, einen externen Experten ins Boot zu holen und denkt dabei an die Spezialisten von Swisscom. Denn diese sind bestens mit Site Reliability Engineering – kurz SRE – vertraut. SRE ist ein von Google entwickeltes Service-Management-Modell und umfasst unterschiedliche, softwaregestützte Methoden und Praktiken, die dazu dienen, äussert skalierbare und zuverlässige Softwaresysteme zu erstellen. Gerade in Cloud-nativen Umgebungen trägt SRE ausserdem dazu bei, ein Gleichgewicht zwischen der Veröffentlichung neuer Features und ihrer Zuverlässigkeit für Nutzer zu finden.
Somit knüpft SRE direkt am DevOps-Ansatz an und beschreibt ganz spezifische Vorgehensweisen, um das theoretische DevOps-Konzept in einem konkreten Workflow umzusetzen. Mit einem umfassenden Service Portfolio unterstützen somit die Customer Reliability Engineers (CRE) von Swisscom Unternehmen bei der Umsetzung von SRE und hilft ihnen, die Zuverlässigkeit ihrer Anwendungen nachhaltig zu verbessern.
Von Anfang an ist klar: Die Zuverlässigkeit von Saving Agent – und allen weiteren Applikationen, die FinEasy in Zukunft entwickelt – kann nur gemeinsam sichergestellt werden. Sowohl Swisscom wie auch Martin und seine Mitarbeitenden müssen dazu ihren Beitrag leisten. Deshalb werden vorab Engagement-Ziele formuliert, die für beide Seiten verpflichtend sind: Welchen Beitrag leisten Swisscom und die FinEasy AG, damit Applikationen zuverlässig laufen? Wo liegen die Verantwortlichkeiten?
Anschliessend verschafft sich der CRE einen Überblick über die Applikation – und zwar unter verschiedenen Gesichtspunkten: Gemeinsam mit Martin evaluiert er nicht nur, welche Geschäftsziele FinEasy mit der Anwendung verfolgt, sondern setzt sich auch vertieft mit der gesamten Anwendungsarchitektur und deren Abhängigkeiten auseinander. In puncto Betriebsbereitschaft nimmt er zudem eine Risikobewertung vor und erarbeitet Massnahmen, mit denen die Geschäftsanforderungen hinsichtlich Verfügbarkeit und Zuverlässigkeit erfüllt werden können.
Softwareentwicklung nach klaren Regeln
All diese Punkte werden in einem Application Reliability Review festgehalten. Dieses dient Martin und seinem CRE als Grundlage, um gemeinsam Service Level Objectives (SLOs) und Service Level Indicators (SLIs) festzulegen. Während SLOs die Zielvorgaben zur gewünschten Zuverlässigkeit einer Software beschreiben, stellen SLIs Metriken dar, um die tatsächliche Verfügbarkeit des Systems zu ermitteln – beispielsweise die Rate zwischen erfolgreichen und erfolglosen Software-Abfragen.
SLIs und SLOs spielen im Site Reliability Engineering eine elementare Rolle. So sind SLIs als Metriken für die Nutzerzufriedenheit zu verstehen: Sie bestimmen, verfolgen und messen den Erfolg der User Journey und zeigen, ob die SLO-Ziele tatsächlich eingehalten werden – oder ob man Gefahr läuft, die Nutzer der eigenen Anwendung unzufrieden zu machen.
Entsprechend halten SLIs und SLOs auch das Fehlerbudget fest, das Softwareingenieuren zur Weiterentwicklung einer Anwendung zur Verfügung steht: Neue Services oder Softwarefeatures dürfen nur dann ausgespielt werden, wenn sie den definierten SLO-Wert erreichen oder übertreffen. Weisen sie aber noch zu viele Fehler auf oder fallen länger aus, als es das Fehlerbudget zulässt, dürfen keine weiteren Rollouts erfolgen, bis sich die Anwendung wieder im Rahmen der SLOs befindet.
Site Reliability Engineering mit Swisscom
Swisscom verfügt über langjährige Erfahrung im Betreiben von eigenen und externen Cloud-Plattformen und -Applikationen. Kunden haben über ihren Swisscom Customer Reliability Engineer Zugriff auf eine breit abgestützte Basis von Mitarbeitenden mit tiefer Technologie-Expertise und vielen Best Practices.Der Swisscom SRE Service beinhaltet die End-to-end-Überwachung der Applikation. Der CRE erhält dadurch alle nötigen Informationen, um Probleme früh zu erkennen oder Ursachenanalysen durchzuführen.Das SRE/CRE-Modell von Swisscom ist hybrid. Das heisst, Swisscom agiert plattformunabhängig.
Das Angebot im Detail: Factsheets (PDF)
Unterstützung von aussen
Da nun geklärt ist, welche SLOs verfolgt und welche SLIs eingesetzt werden, kann Swisscom Martin professionell beim Betrieb von Saving Agent unterstützen: Swisscom integriert das Monitoring von FinEasy in ihr Reliability-Management-System und richtet eine Alarmierung ein. Bei künftigen Vorfällen steht Martin ein Customer Reliability Engineer von Swisscom beratend zur Seite. Er wird sofort benachrichtigt, sobald die vereinbarten Service-Ziele von Saving Agent verletzt werden, identifiziert die Grundursache des Ereignisses und informiert die zuständigen Betriebsteams über Vorfälle.
Auf jeden Vorfall folgt schliesslich ein sogenanntes Postmortem: Nicht nur der Vorfall, seine Auswirkungen und die Massnahmen zur Lösung des Problems werden darin festgehalten, sondern auch die Folgemassnahmen, die verhindern sollen, dass sich der Vorfall wiederholt. So werden mit SRE auch präventive Lösungsansätze erarbeitet, die zu einer besseren Software-Zuverlässigkeit beitragen. Und auch die monatlichen Reportings zu SLO-Verletzungen und die umfassenden Quartalsberichte helfen Martin, gemeinsam mit Swisscom die Zuverlässigkeit von Saving Agent weiter zu verbessern und Reparaturzeiten so kurz wie möglich zu halten.
Martin kann aufatmen. Dank der Mithilfe von Swisscom konnte er nicht nur die langen Reaktionszeiten und Ausfälle von Saving Agent beheben, sondern er weiss nun, dass er auch beim künftigen Betrieb der Anwendung professionell unterstützt wird. Site Reliability Engineering und die Zusammenarbeit mit entsprechenden Profis helfen ihm, die Zuverlässigkeit einer der wichtigsten Geschäftsanwendungen der FinEasy AG sicherzustellen.