itnerd
Goto Top

SLA - Response Time

Hallo! Ich wende mich fragend an Euch, weil ich denke, der eine oder andere hat mit der Thematik zu tun. Eigentlich bin ich Software-Entwickler und kein Administrator...

Ein Kunde meines Softwaresystems (Datenbank, Echtzeit-Mess-System-Erfassung, viele Client-Programme mit Online-Zugriff) möchte mein System kaufen und hat dazu einen Vertrag entworfen (Software-Level-Agreement). Darin stehen Zugriffszeiten, die ich einhalten muss. Es ist zum Beispiel beschrieben, wie viele Sekunden es maximal dauern darf, bin ich im Client-Programm eine durchgeführte Speicher-Aktion quittiert bekomme oder wie viele Sekunden es dauern darf, bis sich ein Fenster mit Daten öffnet.
Diese Zeit kann ich aber gar nicht festlegen, weil sie stark von vielen Faktoren abhängt: Netzwerkauslastung durch andere Software im System, Hardware-Komponenten, Virtualiserung, etc.

Wie wird so etwas in der Praxis denn gehandhabt? Baut mein ein Prototypen-Testsystem auf, misst die Zugriffs-/Reaktionszeiten für verschiedene Aktionen und protokolliert dann exakt, unter welchen Bedingungen und wie das System aufgebaut war? Diese Aussage ist aber doch ziemlich nutzlos, weil das reale Produktiv-System doch mit Sicherheit komplett anders aussieht und dynamische Einflüsse dazu kommen. Und damit kann ich solche Zugriffszeiten doch nicht zur Vertragsgrundlage machen und mich darauf festnageln lassen.

Mir scheint es aber unprofessionell zu sein, wenn ich einfach schreibe, dass ich keine Angaben dazu machen kann und die Zugriffszeiten variabel sind. Damit könnte ich den Auftrag verlieren.

Was meint Ihr dazu?

Grüße und vorab vielen Dank!

Content-Key: 177505

Url: https://administrator.de/contentid/177505

Printed on: April 24, 2024 at 05:04 o'clock

Member: Ravers
Ravers Dec 09, 2011 at 11:37:07 (UTC)
Goto Top
Hi,

Hinweis: Bin nicht selbständig und hab mich "damit" noch nicht rumgeplagt.
Aber ich würde sagen, das solche Zeiten völlig untypisch sind. Habe viele Verträge mit externen Dienstleistern gemacht, aber sowas wurde nie in den Verträgen geschrieben. Auch bei z.B. SAP nicht.

Wie du schon geschrieben hast liegt es an vielen Faktoren. Es kann ncht dein Problem sein, das ein Client ins Netz gehängt wird mit ner defekten Netzwerkkarte und du mußt dann GewehrBeiFuß-stehen. Oder auch der Festplattencontroller des Servers einen Fehler hat, es wurde andere Software auf dem Server installiert; GPO`s geändert ... oder oder oder.

Würde div. Gründe nennen, warum man sowas nicht festsetzen kann.
Wenn der Kunde dennoch soetwas verlangt, dann lass lieber die Finger von dem Projekt!!
Er wird auch kein Systemhaus finden, die dies machen würden, es sei denn die Zeiten werden so hoch gesetzt, das man dann wirklich von einem Problem mit der Software sprechen kann.

greetz
ravers
Mitglied: 60730
60730 Dec 09, 2011 at 12:02:45 (UTC)
Goto Top
moin,

wenn es so ist und so sein soll - dann geht das schon...

Allerdings nicht mit einem "einfachen" Softwaresystem - sondern mit einem Komplettsystem - bestehend aus Server, switchen und evtl RDP/Citrix Clients.

"Wenn" - dann kannst du so sehr sauber definieren - egal wer was wo macht - Anwendung x auf Port y hat vorran vor allem.

Und bei Unternehmenskritischen /Regeltechnischem Gedöhns ist so ein Vertrag "gang und gäbe" ...

gruß
Mitglied: 32067
32067 Dec 09, 2011 at 12:08:56 (UTC)
Goto Top
Hallo,

bei SAP habe ich so etwas gesehen, allerdings in der Form "90% aller Transaktionen vom Typ XYZ laufen < 1 sec", wobei XYZ eine SAP-Standardtransaktion ist und über den Monat schon eine gewisse Menge an Transaktionen anfällt.

Ich bin kein SAPler, aber beim SAP misst das System halt intern sehr genau, was da wie lange gedauert hat. Allgemein gibt eine hohe Standardisierung, die Anwendung gibt es schon Jahrzehnte, es gibt Sizing-Regeln und Angaben der Hardwarehersteller zur Leistungsfähigkeit ihrer HW mit SAP und beide Seiten wissen eigentlich immer, worüber sie da reden, wenn es um KPIs und SLAs geht.

Bei einem selbstgeschriebenen Programm ist das ungleich schwieriger, da eben genau diese Daten fehlen, weshalb ich außerhalb von SAP solche Dinge eben noch nicht gesehen habe.

Dort kenne ich eigentlich immer nur Vorgaben für die Server "Bei x Usern benötigen Sie eine HW mit 8 GB RAM, Quadcore, etc.pp.", wobei das Sizing am Ende immer total übertrieben ist.

Wenn es unbedingt notwendig ist, dann mache exakte Vorgaben bezüglich der HW auf Basis einer realistischen Schätzung, das mal 2 bis 3 und baue in dein PHP (oder was immer du da am Start hast) eine Messung ein, wenn der Request beim System ankommt, wie lange es dauert bis das auf dem Server durchgelaufen ist, darüber eine Aussage wie oben über 90% oder 95% der Durchgänge. Wie du schon erkannt hast, musst du alles ausklammern, was du nicht beeinflussen kannst und das ist nunmal eine Menge.
Member: dog
dog Dec 09, 2011 at 17:55:11 (UTC)
Goto Top
Unüblich ist sowas nicht, grade bei kritischen Systemen oder wenn es um hohe Kosten geht.

Wichtig ist aber, dass die Datenmenge immer mit dabei steht!
Ob ich 10 oder 10 Millionen Datensätze habe macht oft einen großen Unterschied.

Und da es ja wirklich im Einsatz oft andere Faktoren gibt, die sich auf die Leistung auswirken können, kannst du das Einhalten der Bedingungen nur im Voraus testen.

Anders ist das, wenn der Kunde eine ständige Überwachung wünscht.
In dem Fall kannst du die Verarbeitungszeiten aber nur an der Schnittstelle deines Programms messen (z.B. Zeit zwischen Eingang von Request und Ausgang von Response).