Dienstqualitätsanforderungen (QoS-Anforderungen) sind technische Spezifikationen, mit der die Systemqualität von Funktionen wie Leistung, Verfügbarkeit, Skalierbarkeit und Wartungseignung bestimmt wird. Die QoS-Anforderungen werden durch die in den Geschäftsanforderungen festgelegten Geschäftsbedürfnisse bestimmt. Wenn Dienste beispielsweise ganzjährig 24 Stunden pro Tag verfügbar sein müssen, muss diese Geschäftsanforderung von der Verfügbarkeitsanforderung erfüllt werden.
Die folgende Tabelle listet die Systemqualitäten auf, die üblicherweise die Grundlage für QoS-Anforderungen bilden.
Tabelle 3–2 Systemqualitäten mit Auswirkung auf QoS-Anforderungen
Systemqualität |
Beschreibung |
---|---|
Leistung |
Die Messung der Antwortzeit und des Datendurchsatzes relativ zu den Benutzerauslastungsbedingungen. |
Verfügbarkeit |
Eine Maßangabe, mit der angegeben wird, wie oft Systemressourcen und -dienste für Endbenutzer verfügbar sind. Diese wird häufig als Uptime (verfügbare Betriebszeit) eines Systems bezeichnet. |
Skalierbarkeit |
Die Möglichkeit, zu einem späteren Zeitpunkt Kapazitäten (und Benutzer) zu einem bereitgestellten System hinzuzufügen. Skalierbarkeit beinhaltet üblicherweise das Hinzufügen von Ressourcen zum System, ohne dass Änderungen an der Bereitstellungsarchitektur vorgenommen werden müssen. |
Sicherheit |
Eine komplexe Kombination von Faktoren, die die Integrität eines Systems und seiner Benutzer beschreiben. Zur Sicherheit gehört die Authentifizierung und die Zuweisung von Berechtigungen zu Benutzern sowie Sicherheitsdaten und der sichere Zugriff auf ein bereitgestelltes System. |
Latente Kapazität |
Die Fähigkeit eines Systems, ungewöhnlich hohe Lasten ohne zusätzliche Ressourcen bedienen zu können. Die latente Kapazität spielt eine Rolle in den Verfügbarkeits-, Leistungs- und Skalierbarkeitsanforderungen. |
Wartungseignung |
Die Leichtigkeit, mit der ein bereitgestelltes System gewartet werden kann, einschließlich der Systemüberwachung, Problembehebung und Aktualisierung von Soft- und Hardwarekomponenten. |
Systemqualitäten sind eng miteinander verknüpft. Die Anforderungen für eine Systemqualität können die Anforderungen und das Konzept für andere Systemqualitäten beeinflussen. So kann beispielsweise ein höheres Sicherheitsniveau die Leistung beeinträchtigen, was wiederum die Verfügbarkeit beeinflusst. Das Hinzufügen zusätzlicher Server, um Verfügbarkeitsprobleme zu beheben, wirkt sich auf die Zweckmäßigkeit (Wartungskosten) aus.
Das Verständnis, wie die einzelnen Systemqualitäten miteinander in Beziehung stehen und wie diese abgestimmt werden müssen, ist der Schlüssel für die Entwicklung eines Systems, dass sowohl den Geschäftsanforderungen als auch den Geschäftsteinschränkungen erfolgreich gerecht wird.
In den folgenden Abschnitten werden die Systemqualitäten, die sich auf das Bereitstellungskonzept auswirken, näher beschrieben. Es wird außerdem erläutert, welche Faktoren bei der Gestaltung der QoS-Anforderungen berücksichtigt werden müssen. Ein Abschnitt zu den Anforderungen an die Dienstebenen, die die Grundlage für die Vereinbarungen auf Dienstebene (Service Level Agreement, SLA) bilden, ist ebenfalls enthalten.
Geschäftsanforderungen messen die Leistung normalerweise in nicht technischen Begriffen, die sich auf die Antwortzeit beziehen. Eine Geschäftsanforderung für den internetbasierten Zugriff könnte beispielsweise wie folgt lauten:
Die Benutzer erwarten eine angemesse Antwortzeit bei der Anmeldung von üblicherweise maximal vier Sekunden.
Untersuchen Sie, beginnend mit dieser Geschäftsanforderung, sämtliche Anwendungsfälle, um zu bestimmen, wie diese Anforderung auf einer Systemebene ausgedrückt werden könnte. In einigen Fällen möchten Sie möglicherweise die Bedingungen der Benutzerauslastung miteinschließen, die während der Anwendungsanalyse ermittelt wurden. Formulieren Sie die Leistungsanforderung für jeden Anwendungsfall in Bezug auf die Antwortzeit unter bestimmten Auslastungsbedingungen oder in Bezug auf die Antwortzeit zuzüglich Datendurchsatz. Sie können auch die zulässige Anzahl an Fehlern angeben.
Im Folgenden wird anhand von zwei Beispielen verdeutlicht, wie die Systemanforderungen für die Leistung angegeben werden können:
Die Antwortzeit bei der Webseitenaktualisierung darf während des gesamten Tages 4 Sekunden nicht überschreiten (Prüfung alle 15 Minuten), wobei nur weniger als 3,4 Fehler pro eine Million Transkationen auftreten dürfen.
Während definierter Spitzenzeiträume muss das System 25 sichere Anmeldungen pro Sekunde zulassen, wobei die Antwortzeit für jeden Benutzer 12 Sekunden nicht überschreiten darf und weniger als 3,4 Fehler pro eine Million Transkationen auftreten dürfen.
Leistungsanforderungen sind eng mit Verfügbarkeitsanforderungen (Failover-Auswirkung auf die Leistung) und der latenten Kapazität (Menge der verfügbaren Kapazität für die Bewältigung außergewöhnlicher Spitzenauslastung) verknüpft.
Über die Verfügbarkeit kann man die Betriebszeit eines Systems bestimmt werden. Sie bemisst sich normalerweise aus dem Prozentsatz der Zeit, während der Benutzer auf das System zugreifen können. Die Zeit, in der das System nicht verfügbar ist (Ausfallzeit) kann durch Ausfälle der Hardware, der Software, des Netzwerks oder durch einen beliebigen anderen Faktor (z. B. Unterbrechung der Stromversorgung) verursacht werden, durch den das System zum Stillstand kommt. Geplante Zeiten, in denen das System zu Servicezwecken (Wartung und Aufrüstung) heruntergefahren wird, werden nicht als Ausfallzeit bezeichnet. Eine grundlegende Gleichung zur Berechnung der Systemverfügbarkeit als Prozentsatz der Betriebszeit lautet wie folgt:
Verfügbarkeit = Uptime / (Uptime + Downtime) * 100%
Üblicherweise messen Sie die Verfügbarkeit anhand der Anzahl der "Neunen“, die Sie erreichen können. Bei einer 99%-igen Verfügbarkeit erhalten Sie zwei Neunen. Die Angabe zusätzlicher Neuen wirkt sich erheblich auf das Bereitstellungskonzept aus. In der folgenden Tabelle wird die unvorhergesehene Ausfallszeit bei zusätzlichen "Verfügbarkeits-Neunen“ auf einem System berechnet, das 24 Stunden an 7 Tagen die Woche ganzjährig (insgesamt 8.760 Stunden) verfügbar ist.
Tabelle 3–3 Unvorhergesehene Ausfallzeit für ein System, das ganzjährig (8.760 Stunden) verfügbar ist
Anzahl der Neunen |
Verfügbarkeit (Prozent) |
Unvorhergesehene Ausfallzeit |
---|---|---|
2 |
99 % |
88 Stunden |
3 |
99,9 % |
9 Stunden |
4 |
99,99 % |
45 Minuten |
5 |
99,999 % |
5 Minuten |
Verfügbarkeitsanforderungen von vier oder fünf Neunen erfordern im Normalfall ein fehlertolerantes System. Ein fehlertolerantes System muss in der Lage sein, seinen Dienst auch während eines Hardware- oder Softwareausfalls fortzusetzen. Normalerweise wird die Fehlertoleranz durch Redundanz in der Hardware (CPUs, Speicher- und Netzwerkgeräte) als auch in der Software, die die wichtigsten Dienste zur Verfügung stellt, erreicht.
Bei einem Single-Point-of-Failure handelt es sich um eine Hardware- oder Softwarekomponente, die Teil eines wichtigen Pfads ist, aber nicht von redundanten Komponenten gesichert wird. Der Ausfall dieser Komponente führt zum Dienstausfall des Systems. Wenn Sie ein fehlertolerantes System konzipieren, müssen Sie potenzielle Single-Point-of-Failure ermitteln und vermeiden.
Fehlertolerante Systeme können in der Implementierung und Wartung teuer sein. Stellen Sie sicher, dass Sie verstanden haben, worin die Geschäftsanforderungen für die Verfügbarkeit liegen, und berücksichtigen Sie die Strategien und Kosten der Verfügbarkeitslösungen, die diese Anforderungen erfüllen.
Aus Sicht des Benutzers bezieht sich die Verfügbarkeit oft eher auf einzelne Dienste als auf die Verfügbarkeit des gesamten Systems. So hat es beispielsweise im Normalfall keine oder nur geringe Auswirkungen auf andere Dienste, wenn keine Instant Messaging-Dienste verfügbar sind. Wenn jedoch Dienste nicht verfügbar sind, von denen viele andere Dienste abhängig sind (z. B. Directory Server), sind die Auswirkungen weitreichender. Genauere Verfügbarkeitsspezifikationen sollten deutlich auf bestimmte Anwendungsfälle und Anwendungsanalysen verweisen, für die eine höhere Verfügbarkeit erforderlich ist.
Es ist hilfreich, Verfügbarkeitsbedürfnisse entsprechend den verschiedenen aufgestellten Prioritäten aufzulisten. In der folgenden Tabelle wird die Verfügbarkeit verschiedener Diensttypen nach Priorität geordnet aufgeführt.
Tabelle 3–4 Verfügbarkeit von Diensten nach Priorität
Priorität |
Diensttyp |
Beschreibung |
---|---|---|
1 |
Unerlässlich |
Dienste, die immer verfügbar sein müssen. Beispielsweise Datenbankdienste (z. B. LDAP-Verzeichnisse) für Anwendungen. |
2 |
Muss verfügbar sein |
Dienste, die verfügbar sein müssen, aber mit reduzierter Leistung verfügbar sein können. Die Verfügbarkeit von Messaging-Diensten ist möglicherweise in einigen Unternehmensumgebungen nicht zwingend erforderlich. |
3 |
Kann verschoben werden |
Dienste, die innerhalb eines angegebenen Zeitraums verfügbar sein müssen. Die Verfügbarkeit von Kalenderdiensten ist möglicherweise in einigen Unternehmensumgebungen nicht erforderlich. |
4 |
Optional |
Dienste, die auf unbegrenzte Zeit verschoben werden können. In einigen Umgebungen können Instant Messaging-Dienste zwar als nützlich aber nicht unbedingt als erforderlich bewertet werden. |
Im Rahmen des Verfügbarkeitskonzepts werden auch die Auswirkungen berücksichtigt, die entstehen, wenn die Verfügbarkeit beeinträchtigt wird oder eine Komponente ausfällt. Hierbei muss auch berücksichtigt werden, ob die angemeldeten Benutzer Sitzungen neu starten müssen und inwiefern ein Fehler in einem Bereich sich auf andere Bereiche eines Systems auswirkt. QoS-Anforderungen sollten diese Szenarien beachten und angeben, wie die Bereitstellung auf derartige Situationen reagiert.
Unter Skalierbarkeit wird die Fähigkeit verstanden, einem System Kapazitäten hinzuzufügen, sodass das System eine zusätzliche Auslastung durch bestehende Benutzer oder durch einen erweiterten Benutzerstamm unterstützen kann. Die Skalierbarkeit setzt normalerweise eine Erweiterung der Ressourcen voraus; es sollten jedoch keine Änderungen am Konzept der Bereitstellungsarchitektur oder Dienstausfälle erforderlich sein, die sich aufgrund der für das Hinzufügen zusätzlicher Ressourcen benötigten Zeit ergeben.
Wie auch die Verfügbarkeit bezieht sich die Skalierbarkeit eher auf einzelne von einem System bereitgestellte Dienste als auf das gesamte System. Im Fall von Diensten, von denen andere Dienste abhängig sind (z. B. Directory Server), kann sich die Skalierbarkeit auf das gesamte System auswirken.
Die Skalierbarkeitsanforderungen werden nicht notwendigerweise mit den QoS-Anforderungen angegeben, es sei denn, das geplante Wachstum der Bereitstellung wird eindeutig in den Geschäftsanforderungen festgehalten. Während der Bereitstellungskonzeptphase des Lösungslebenszyklus sollte die Bereitstellungsarchitektur grundsätzlich einen gewissen Spielraum für die Skalierung des Systems einschließen, auch wenn keine QoS-Anforderungen für die Skalierbarkeit angegeben wurden.
Bei der Einschätzung des Wachstums eines Systems zur Ermittlung der Skalierbarkeitsanforderungen muss mit Hochrechnungen, Schätzungen und Vermutungen gearbeitet werden, die möglicherweise nicht eintreten. Es gibt folgende drei Schlüssel für die Entwicklung von Anforderungen für ein skalierbares System:
Hochleistungskonzept-Strategie. Bei der Spezifikation der Leistungsanforderungen sollte die latente Kapazität einbezogen werden, um Auslastungen zu berücksichtigen, die im Laufe der Zeit zunehmen. Maximieren Sie außerdem die Verfügbarkeit innerhalb der Budgeteinschränkungen. Durch diese Strategie können Sie das Wachstum absorbieren und Meilensteine für die Skalierung des Systems besser setzen.
Inkrementelle Bereitstellung. Durch eine inkrementelle Bereitstellung können Sie besser planen, wann Ressourcen hinzugefügt werden. Geben Sie eindeutige Meilensteine für die Skalierung des Systems an. Meilensteine sind normalerweise lastenbasierte Anforderungen, die mit bestimmten Daten für die Prüfung der Skalierbarkeit koordiniert werden.
Umfassende Leistungsüberwachung. Durch die Überwachung der Leistung können Sie besser festlegen, wann dem System Ressourcen hinzugefügt werden sollten. Anforderungen für die Überwachung der Leistung können einen Leitfaden für Operatoren und Administratoren darstellen, die für die Wartung und Aktualisierung verantwortlich sind.
In der folgenden Tabelle werden die Faktoren aufgeführt, die bei der Ermittlung der Skalierbarkeitsanforderungen berücksichtigt werden sollten.
Tabelle 3–5 Skalierbarkeitsfaktoren
Sicherheit ist ein komplexes Thema, das alle Stufen eines bereitgestellten Systems betrifft. Die Entwicklung von Sicherheitsanforderungen schließt die Identifizierung der Sicherheitsbedrohungen und die Entwicklung einer Strategie zur Bekämpfung dieser Gefahren ein. Diese Sicherheitsanalyse beinhaltet folgende Schritte:
Identifizierung unerlässlicher Aspekte
Identifizierung der Bedrohungen dieser Aspekte
Identifizierung von Anfälligkeiten, aufgrund derer die Bedrohungen das Unternehmen gefährden können
Entwicklung eines Sicherheitsplans, mit dessen Hilfe die Gefahr für das Unternehmen eingeschränkt wird
Bei der Analyse der Sicherheitsanforderungen sollte ein Querschnitt durch die Interessengruppen in Ihrem Unternehmen, wie beispielsweise leitende Angestellte, Unternehmensanalysten und Mitarbeiter aus dem IT-Bereich, einbezogen werden. Häufig wird in einem Unternehmen ein Sicherheitsarchitekt ernannt, der für die Entwicklung und Implementierung der Sicherheitsmaßnahmen verantwortlich ist.
Im folgenden Abschnitt werden einige der Bereiche beschrieben, die bei der Sicherheitsplanung abgedeckt werden.
Die Planung der Sicherheit eines Systems ist Bestandteil des Bereitstellungskonzepts, das für die erfolgreiche Implementierung unabdingbar ist. Ziehen Sie bei der Sicherheitsplanung folgende Aspekte in Betracht:
Physische Sicherheit. Die physische Sicherheit betrifft den physischen Zugriff auf Router, Server, Serverräume, Datenzentren und andere Teile der Infrastruktur. Andere Sicherheitsmaßnahmen werden beeinträchtigt, wenn eine nicht autorisierte Person einen Serverraum betreten und dort die Routerverbindungen trennen kann.
Netzwerksicherheit. Die Netzwerksicherheit betrifft den Zugriff auf Ihr Netzwerk über Firewalls, sichere Zugriffsbereiche, Zugriffssteuerungslisten und den Portzugriff. Um die Netzwerksicherheit herzustellen, entwickeln Sie Strategien gegen unberechtigte Zugriffe, Sabotage und Dienstverweiterungs-(DoS-)Angriffe.
Anwendungs- und Anwendungsdatensicherheit. Die Anwendungs- und Anwendungsdatensicherheit deckt den Zugriff auf Benutzerkonten, Unernehmensdaten und Unternehmensanwendungen mithilfe von Authentifizierungs- und Berechtigungsprozeduren und -richtlinien ab. Dieser Bereich beinhaltet die Definition folgender Richtlinien:
Passwortrichtlinien
Zugriffsrechte, wie beispielsweise delegierte Administratorrechte für Benutzer im Gegensatz zum Administratorzugriff
Kontodeaktivierung
Zugriffssteuerung
Verschlüsselungsrichtlinien, wie beispielsweise sichere Datenübertragung und Verwendung von Zertifikaten zur Datensignierung
Persönliche Sicherheitspraktiken. Eine unternehmensübergreifende Sicherheitsrichtlinie definiert die Arbeitsumgebung und die Methoden, denen alle Benutzer unterworfen sind, um sicherzustellen, dass andere Sicherheitsmaßnahmen wie geplant funktionieren. Im Normalfall entwickeln Sie einen Sicherheitsleitfaden oder ein Handbuch und bieten Schulungen zu den Sicherheitspraktiken für die Benutzer an. Um eine effektive umfassende Sicherheitsstrategie zu gewährleisten, müssen vernünftige Sicherheitsmaßnahmen Teil der Unternehmenskultur werden.
Die latente Kapazität ist die Fähigkeit einer Bereitstellung, eine außergewöhnliche Spitzenauslastung zu bewältigen, ohne zusätzliche Ressourcen hinzuzufügen. Normalerweise geben Sie QoS-Anforderungen nicht direkt über die latente Kapazität an, aber diese Systemqualität ist ein Faktor für die Verfügbarkeit, Leistung und Skalierbarkeit des Systems.
Die Wartungseignung ist die Einfachheit, mit der ein bereitgestelltes System gewartet werden kann. Dazu zählen Aufgaben wie Überwachung des Systems, Behebung von auftretenden Problemen, Hinzufügen zum und Entfernen von Benutzern vom System und Aufrüsten der Hardware- und Softwarekomponenten.
Beim Planen der Wartungseignungsanforderungen sollten Sie die in der folgenden Tabelle aufgeführten Aspekte berücksichtigen.
Tabelle 3–6 Aspekte für die Wartungseignungsanforderungen
Thema |
Beschreibung |
---|---|
Planung von Ausfallzeiten |
Identifizierung der Wartungsaufgaben, für die bestimmte Dienste nicht verfügbar oder teilweise nicht verfügbar sein dürfen. Einige Wartungs- und Aufrüstungsaufgaben können nahtlos für den Benutzer erfolgen, während für andere der Dienst unterbrochen werden muss. Planen Sie, wenn möglich, die Wartungsaufgaben, die eine Ausfallzeit mit sich bringen, zusammen mit den Benutzern, sodass die Benutzer sich auf die Ausfallzeiten einstellen können. |
Anwendungsmuster |
Identifizierung der Anwendungsmuster, um den besten Zeitpunkt für die Wartung zu bestimmen. Beispielsweise sollten Sie die Wartung von Systemen, deren Spitzenauslastung zu den normalen Geschäftszeiten ist, für die Abende oder Wochenenden planen. Bei geografisch verteilten Systemen kann die Ermittlung dieser Zeitpunkte schwieriger sein. |
Verfügbarkeit |
Die Wartungseignung reflektiert oft Ihr Verfügbarkeitskonzept. Die Strategien zur Minimierung der Ausfallzeiten für Wartungs- und Aufrüstungsaufgaben hängen von der Verfügbarkeitsstrategie ab. Bei Systemen, die häufig verfügbar sein müssen, gibt es weniger Gelegenheiten für Wartung, Aufrüstung und Reparaturen. Strategien für die Handhabung der Verfügbarkeitsanforderungen bestimmen, wie Wartungs- und Aufrüstungsaufgaben gehandhabt werden. Bei Systemen, die geografisch verteilt sind, hängt die Serviceplanung etwa davon ab, ob die Arbeitslast während der Wartungszeiträume an remote Server weitergeleitet werden kann. Außerdem sind für Systeme, die in hohem Maße verfügbar sein müssen, kompliziertere Lösungen erforderlich, bei denen die Systeme automatisch neu gestartet werden und der Benutzer nur geringfügig eingreifen muss. |
Diagnose und Überwachung |
Sie können die Stabilität eines Systems verbessern, indem Sie regelmäßig Diagnose- und Überwachungstools ausführen, um Problembereiche zu identifizieren. Die regelmäßige Überwachung eines Systems kann Probleme noch vor ihrem Auftreten vermeiden, die Arbeitsauslastung an den Verfügbarkeitsstrategien ausrichten und die Planung für Wartung und Ausfallzeiten verbessern. |