So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)


Roman Marusyk

Ich habe ein Standard-ASP.NET MVC-Projekt und muss die Anwendungsverfügbarkeit berechnen, um unsere SLA-Ebene herauszufinden . Also muss ich so etwas für unsere Webanwendung bekommen.

Geben Sie hier die Bildbeschreibung ein

Informationen von meinem Hosting-Anbieter

System Availability: 99.9860%
Total Uptime: 30d 10h:22m:44s
Total Downtime: 0d 0h:6m:9s
Total Reboots: 3
Mean Time Between Reboots: 10.15 days

Aber ich muss die Verfügbarkeit für die Anwendung berechnen. Die Frage ist also

Wie kann die Verfügbarkeit von ASP.NET MVC-Anwendungen richtig berechnet werden?

Vielleicht hat jemand das bereits umgesetzt, oder jeder Vorschlag, wie das geht, jede Hilfe wird geschätzt.

Wo soll man anfangen?

Der erste Punkt, den ich denke, ist Application Insights und Verfügbarkeitstest . Das Problem ist, dass der Mindestwert der Testfrequenz 5 Minuten beträgt. Ich brauche genauere Messungen.

Erstellen Sie als Nächstes ein Tool, das meine App jede Sekunde aufruft und Informationen sammelt. Ergebnis: eine sehr große Anzahl von Anfragen.

Besorgen Sie sich auch einige Leistungsindikatoren von IIS oder ähnlichem. Muss untersuchen, ob es möglich ist.

Ich weiß, dass die mögliche Frage zu weit gefasst ist, aber ich habe keine Informationen zur Implementierung der Verfügbarkeit von Anwendungen gefunden. Was denkst du darüber?

Gillsoft AB

Es würde zu lange dauern, wenn ich alle Teile erklären würde, die getan werden können, also werde ich mich kurz fassen.

Normalerweise definieren Sie alle diese Details in einem Service Level Agreement, in dem Sie auch das Verfügbarkeitsziel (dh 99%) definieren, das auch geplante Ausfallzeiten enthält. Ein Ziel von 99% Verfügbarkeit ist es, dass die App ausgeführt wird und ihre Funktionalität wie im Dokument beschrieben mit höchstens ca. 87,6 h pro Jahr. Hier ist ein SLA-Verfügbarkeitsrechner .

Das normale Intervall beträgt 5 Minuten, wie Sie sagen, aber Sie können durch die Verwendung einer externen Site / eines externen Dienstes nachweisen, dass die Lieferanten die Anforderungen nicht erfüllen. Sie berechnen Ihren Verlust (Einnahmeverlust, Arbeitskosten usw.) und fordern das Geld von ihnen an. Sie haben bereits eine Business Impact Analysis (BIA). Ich denke, sonst sollten Sie dies tun.

Ok, jetzt zum Programmier- / DevOps-Teil. Normalerweise entwickle ich Anwendungen / Dienste in diesem Sinne und melde den Status einem Drittanbieter wie NewRelic, Uptrends oder ähnlichem. Als Beispiel verwende ich hierfür auch einen selbst erstellten Dienst, da genaue Anforderungen für die Bereitstellung von Daten mindestens einmal pro Sekunde mit einer harten Frist bestehen. In meiner Lösung verwende ich WebSockets, um Daten nach einem Zeitplan, Ereignis oder bei Bedarf in beide Richtungen zu senden. Ein Vorteil dabei ist, dass Sie den Status (gut oder schlecht) beispielsweise alle 500 ms senden können und innerhalb einer Sekunde wissen, ob die App fehlgeschlagen ist (≈ 499 ms + 500 ms).

Mit einem solchen Dienst können Sie die Verfügbarkeit, benutzerdefinierte Ereignisse von Interesse und mögliche Fehler innerhalb einer Sekunde und einer Menge anderer Metriken messen. Normalerweise innerhalb von 5-100 ms, aber WCET / WCRT ist schwer abzuschätzen.

Um Ihre Frage zu beantworten , können Sie die Verfügbarkeit von Anwendungen nicht mit so wenigen Messpunkten berechnen, da alle 5 Minuten ca. 12 Sekunden pro Stunde und Sie können keine zuverlässige Berechnung daraus haben. Sie können davon ausgehen, dass zwischen den Messpunkten alles in Ordnung war, aber das nennt man Raten. Ich habe Implementierungen mit 14 400 Messpunkten pro Stunde durchgeführt, um eine Genauigkeit von 500 ms (Banken) bereitzustellen.

Ich hoffe, Sie haben eine Antwort erhalten, die Ihnen bei Ihrem Problem hilft.

Verwandte Artikel


SLA für die Verfügbarkeit von AWS Cloudfront

Vladimir Semashkin Ich versuche, ein System in einer AWS-Cloud mit einem bestimmten SLA-Level (z. B. 99,99) zu entwerfen. Eines der Elemente meiner Architektur ist CloudFront. Derzeit kann ich nur schwer verstehen, ob es möglich ist, die Verfügbarkeit durch Ei

So überprüfen Sie die Verfügbarkeit eines Arbeitsblatts

Jatin Bhatli Ich muss eine Reihe von Code ausführen, der sich auf das Arbeitsblatt " gewinnt " bezieht , aber nur, wenn dieses Arbeitsblatt vorhanden ist. Bitte teilen Sie einen Code mit, um die Verfügbarkeit des Blattes "Gewinne" zu überprüfen. Wenn das Arbei

So überprüfen Sie die Verfügbarkeit von Instagram-Benutzernamen

ColdZer0 Wie überprüfe ich, ob der Benutzername in Instagram verfügbar ist oder nicht? Ich habe versucht, Get request zu verwenden und 404-Fehler abzufangen. Manchmal funktioniert es nicht. Gibt es einen anderen Weg? eine zuverlässige? Ich habe versucht, Objek

Berechnen Sie die Verfügbarkeit einer Ressource

Mitfremder Ich habe eine Anwendung, die eine Woche buchbarer Zeitfenster (einer Ressource) anzeigt. Ein Zeitfenster ist immer 30 Minuten lang und kann entweder: 00 oder: 30 beginnen. Die Verfügbarkeiten werden intern durch die Minuten der Woche (in einem Array

So überprüfen Sie die Verfügbarkeit des Namens

CrossWords Hier versuche ich, die Verfügbarkeit von Mitarbeiternamen zu überprüfen, während ich den neuen Mitarbeiter erstelle. Wenn beim Erstellen des Benutzers der eingegebene Mitarbeitername bereits verfügbar ist, sollte die Tabelle bereits vorhanden sein,

So überwachen Sie die Verfügbarkeit von socket.io-Websockets up

Joseph Miller Seit mehreren Monaten stehe ich vor einem Problem. Websocket geht nach dem Zufallsprinzip offline, und es gibt kein Fehlerprotokoll, um das Problem zu finden. Ich verwende socket.io für meine Anwendung und gibt es eine Möglichkeit, den socket.io