Server Cloud und zuverlässiger IT-Betrieb – Einen Dienst betriebsbereit dokumentieren
Server Cloud und zuverlässiger IT-Betrieb – Einen Dienst betriebsbereit dokumentieren
QR-Code
Server Cloud und zuverlässiger IT-Betrieb – Einen Dienst betriebsbereit dokumentieren
Einleitung
Ausbildung: Fachinformatik – Systemintegration, Anwendungsentwicklung und IT-Systemmanagement.
Ziel: Du dokumentierst Konfiguration, Zuständigkeiten und Betriebsnachweise eines fiktiven Dienstes. Sechs kurze Einheiten verbinden Bilder, Code und interaktive Aufgaben. Dauer: ca. 100 Minuten.
Schutzregeln: Arbeite nur auf Deinem eigenen Rechner oder in einer ausdrücklich genehmigten isolierten Testumgebung. Nutze ausschließlich fiktive Daten. Keine fremden Netze, Produktionssysteme, Kundeninformationen oder Zugangsdaten verwenden oder übertragen. Externe Videos sind freiwillige Lernmedien, keine Testendpunkte.

Rechenzentrumsinfrastruktur, Wikimedia Commons. Lizenzbedingungen auf der verlinkten Dateiseite.
| Lernschritt | Produkt |
|---|---|
| Dienst verstehen | Dienstkarte |
| Konfiguration dokumentieren | Baseline |
| Rollen zuordnen | RACI-Tabelle |
| Lokal prüfen | Testprotokoll |
| Kennzahlen bewerten | Betriebsdashboard |
| Entscheidung begründen | Freigabevermerk |
Ausbildungsfall: Ticketblick
Du übernimmst den ausschließlich fiktiven Übungsdienst Ticketblick der Lernwerkstatt Nord. Er liefert ein Demoticket und Statusinformationen. Dein Auftrag ist die nachvollziehbare Übergabe an ein anderes Ausbildungsteam.
| Feld | Sollzustand |
|---|---|
| Name | Ticketblick |
| Version | 0.1 |
| Technologie | Python 3 und Standardbibliothek |
| Rechner | Eigener Ausbildungsrechner |
| Bindung | 127.0.0.1 |
| Port | 8765 |
| Status | /health |
| Fachfunktion | /ticket?id=DEMO-001 |
| Übungsmetriken | /metrics |
| Persistenz | Keine |
| Echte Benutzerdaten | Keine |
| Produktionsbetrieb | Ausgeschlossen |
Lerneinheit 1: Vom Server zum Dienst
Ein Server stellt Ressourcen bereit; ein IT-Dienst erfüllt einen fachlichen Zweck. Cloud Computing stellt IT-Ressourcen bedarfsgerecht über Netzwerke zur Verfügung. Ein gestarteter Prozess belegt noch keine funktionierende Dienstleistung.

Cloud-Betriebsmodelle, Wikimedia Commons; Lizenzbedingungen auf der Dateiseite.

Client-Server-Prinzip, Wikimedia Commons; Lizenzbedingungen auf der Dateiseite.
| Prüfung | Frage | Nachweis |
|---|---|---|
| Erreichbarkeit | Antwortet der Dienst? | Statusabruf |
| Fachfunktion | Wird DEMO-001 geliefert? | JSON-Abgleich |
| Qualität | Werden Grenzwerte eingehalten? | Kennzahlenvergleich |
Basisaufgabe: Zeichne die Verbindung Browser → 127.0.0.1:8765 → JSON-Antwort. Benenne die Systemgrenzen.
Feedback: Eine gute Skizze trennt Client, Schnittstelle und Dienst. Sonst ist nicht erkennbar, welche Komponente geprüft wird.
Lerneinheit 2: Konfigurationsbaseline
Eine Baseline beschreibt den bekannten Sollzustand. Nach NIST SP 800-128 ist kontrolliertes Konfigurationsmanagement für die Informationssicherheit wichtig.[1]
| Element | Sollwert | Kontrolle |
|---|---|---|
| Laufzeit | Python 3.10 oder neuer | python --version |
| Bind-Adresse | 127.0.0.1 | Quellcode |
| Dienstport | 8765 | Lokaler Aufruf |
| Statuspfad | /health | Statuscode |
| Fachpfad | /ticket | DEMO-001 |
| Kennzahlenpfad | /metrics | JSON |
Änderungsweg: Antrag → Prüfung → Genehmigung → lokaler Test → Nachweis → Dokumentation. Ein Rückfallplan gehört dazu. Grundlage ist das IT-Grundschutz-Prinzip geregelter Administration und Änderungen.[2]
Anwendungsaufgabe: Entwirf eine Portänderung von 8765 auf 8766. Dokumentiere Ausgangszustand, Risiko, neue Prüfadresse, verantwortliche Rolle und Rückfall.
Feedback: Ein neuer Wert allein genügt nicht; eine kontrollierte Änderung muss überprüfbar und rückgängig zu machen sein.
Lerneinheit 3: Zuständigkeiten
Bei RACI steht R für ausführend, A für ergebnisverantwortlich, C für zu beteiligen und I für zu informieren. Jede Aufgabe benötigt eine klare Ergebnisverantwortung.
| Aufgabe | Lab-Betrieb | Dienstleitung | IT-Sicherheit | Lernteam |
|---|---|---|---|---|
| Dienstprüfung | R | A | C | I |
| Konfiguration freigeben | R | A | C | I |
| Störung bearbeiten | R | A | C | I |
| Übergabe entscheiden | C | A | C | I |
Transferfrage: Warum darf die Person, die einen Test ausführt, nicht automatisch als alleinige Freigabeinstanz gelten?
Feedback: Durchführung und Ergebnisverantwortung sind verschiedene Rollen. Diese Trennung verbessert Nachvollziehbarkeit und Entscheidungsqualität.
Lerneinheit 4: Isoliertes Python-Labor
Benötigt werden Python 3.10 oder neuer und zwei Dateien im selben lokalen Ordner. Es gibt weder eine Cloud-Anmeldung noch externe Pakete oder Netzwerkanfragen an fremde Ziele. Python http.server ist ein Lernwerkzeug und nicht für den Produktivbetrieb empfohlen.[3]
Lokalen Dienst aufsetzen
Speichere die Datei als dienst.py:
from http.server import HTTPServer, BaseHTTPRequestHandler
from urllib.parse import urlsplit, parse_qs
import json
class Handler(BaseHTTPRequestHandler):
def do_GET(self):
url = urlsplit(self.path)
query = parse_qs(url.query)
if url.path == '/health':
status = 503 if query.get('test') == ['fail'] else 200
daten = {'dienst': 'Ticketblick', 'bereit': status == 200}
elif url.path == '/ticket':
if query.get('id') == ['DEMO-001']:
status, daten = 200, {'ticket': 'DEMO-001', 'zustand': 'offen'}
else:
status, daten = 404, {'hinweis': 'Nur DEMO-001 vorhanden'}
elif url.path == '/metrics':
status, daten = 200, {'fiktiv': True, 'anfragen': 200,
'nicht_erfolgreich': 4, 'p95_ms': 180,
'auslastung_prozent': 70}
else:
status, daten = 404, {'hinweis': 'Pfad nicht vorhanden'}
body = json.dumps(daten).encode('utf-8')
self.send_response(status)
self.send_header('Content-Type', 'application/json')
self.send_header('Content-Length', str(len(body)))
self.send_header('Cache-Control', 'no-store')
self.end_headers()
self.wfile.write(body)
if __name__ == '__main__':
server = HTTPServer(('127.0.0.1', 8765), Handler)
print('Nur lokal: http://127.0.0.1:8765/health')
try:
server.serve_forever()
except KeyboardInterrupt:
pass
finally:
server.server_close()Starte lokal mit python dienst.py und rufe am eigenen Rechner http://127.0.0.1:8765/health sowie http://127.0.0.1:8765/ticket?id=DEMO-001 auf. Beende danach mit Strg+C.
Automatisierte Testumgebung
Speichere im selben Ordner test_dienst.py. Der Test bindet nur an 127.0.0.1 und nutzt einen automatisch vergebenen freien Port.
import json
import threading
import unittest
from http.server import HTTPServer
from urllib.request import build_opener, ProxyHandler
from urllib.error import HTTPError
from dienst import Handler
class LaborTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.server = HTTPServer(('127.0.0.1', 0), Handler)
cls.worker = threading.Thread(
target=cls.server.serve_forever, daemon=True)
cls.worker.start()
cls.base = 'http://127.0.0.1:' + str(cls.server.server_port)
cls.client = build_opener(ProxyHandler({}))
@classmethod
def tearDownClass(cls):
cls.server.shutdown()
cls.server.server_close()
cls.worker.join(timeout=2)
def abruf(self, pfad):
try:
with self.client.open(self.base + pfad, timeout=2) as r:
return r.status, json.load(r)
except HTTPError as r:
return r.code, json.load(r)
def test_status(self):
code, data = self.abruf('/health')
self.assertEqual((code, data['bereit']), (200, True))
def test_simulierte_stoerung(self):
code, data = self.abruf('/health?test=fail')
self.assertEqual((code, data['bereit']), (503, False))
def test_ticket(self):
code, data = self.abruf('/ticket?id=DEMO-001')
self.assertEqual((code, data['ticket']), (200, 'DEMO-001'))
def test_kennzahlen(self):
code, data = self.abruf('/metrics')
self.assertEqual(code, 200)
self.assertTrue(data['fiktiv'])
self.assertEqual(data['anfragen'] - data['nicht_erfolgreich'], 196)
if __name__ == '__main__':
unittest.main()Ausführen: python -m unittest -v test_dienst.py. Erwartung: vier bestandene Tests. Speichere Deine wirkliche lokale Ausgabe mit python -m unittest -v test_dienst.py > testprotokoll.txt 2>&1.
Der bewusst simulierte Status 503 ist ein erwarteter Negativtest. Nicht behaupten, dass Tests durchgeführt wurden, bevor das Protokoll tatsächlich vorliegt.
Gestufte Hilfen
Feedback: Vier bestandene lokale Testfälle belegen nur die geprüften Funktionen, nicht Produktionshärtung, Kapazität oder vereinbarte Cloud-Verfügbarkeit.
Lerneinheit 5: Betriebsdaten visualisieren
Monitoring beantwortet, ob ein Dienst seine festgelegten Qualitätsziele erreicht. Google SRE unterscheidet die vier grundlegenden Größen Latenz, Verkehr, Fehler und Sättigung.[4]
| Fiktive Übungsmetrik | Wert | Ziel | Einordnung |
|---|---|---|---|
| Anfragen | 200 | Dokumentiert | Ja |
| Erfolgreiche Anfragen | 196 | Mindestens 99,5 % | Ziel verfehlt |
| Nicht erfolgreiche Anfragen | 4 | Höchstens 1 % | Ziel verfehlt |
| 95. Perzentil | 180 ms | Unter 250 ms | Ziel erreicht |
| Auslastung | 70 % | Unter 80 % | Ziel erreicht |
Fiktive Anfragen: 200 Erfolgreich: 196 = 98 % Erfolg |█████████████████████████████████████████████████·| 98 % Abweichung |█·················································| 2 % Ein Zeichen entspricht 2 Prozentpunkten.
Diese Daten sind fest im lokalen Beispielcode hinterlegt und keine Live-Messungen. Die Zielwerte sind nur für die Ausbildung definiert. Eine echte SLO- oder SLA-Bewertung erfordert geeignete reale Messdaten, vereinbarte Zählweisen und festgelegte Zeitfenster.
Google Cloud Tech: Grundlagen zur Cloud-Überwachung, englischsprachige Vertiefung.
Anwendungsaufgabe: Berechne die nicht erfolgreiche Quote und entscheide anhand des fiktiven Ziels über die Qualitätsfreigabe.
Lerneinheit 6: Betriebsübergabe und Wiederanlauf
Ein Runbook beschreibt Vorgehensweisen für normale Arbeiten und Störungen. Ein Rollback ermöglicht die Rückkehr zu einem bekannten Zustand. Für reale Dienste mit persistenten Daten sind überprüfte Backups sowie definierte Wiederanlauf- und Datenverlustziele erforderlich.
| Phase | Handlung | Nachweis |
|---|---|---|
| Erkennen | Status und Fachfunktion prüfen | Lokaler Test |
| Einordnen | Auswirkung beschreiben | Störungseintrag |
| Zuordnen | Zuständige Rolle bestimmen | RACI |
| Beheben | Autorisierte lokale Maßnahme | Änderungsvermerk |
| Nachprüfen | Tests wiederholen | Neues Protokoll |
| Abschließen | Entscheidung festhalten | Freigabevermerk |
RTO: Angestrebte Wiederherstellungszeit. RPO: Maximal tolerierter Zeitraum möglichen Datenverlusts. Ticketblick verwendet keine dauerhafte Datenspeicherung; deshalb gibt es im konkreten Labordienst keinen Datenbank-Restore.
Transferaufgabe: Entwirf für einen hypothetischen Dienst mit Datenbank einen Ablauf für Wiederherstellung, Tests, Kommunikation und Freigabe. Nutze dabei keine wirklichen Kundendaten.
Feedback: Ein Wiederanlauf gilt erst als belastbar, wenn die nötigen Schritte und Prüfkriterien dokumentiert sind. Eine vorhandene Datensicherung ohne erprobte Wiederherstellung ist kein hinreichender Nachweis.
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Was gehört zu einer betriebsbereiten Dokumentation? (Konfiguration Zuständigkeiten und Betriebsnachweise) (!Nur ein Bild der Benutzeroberfläche) (!Nur die Lieferantenadresse) (!Nur die Kostenübersicht)
Wohin verweist 127.0.0.1? (Auf den eigenen Rechner) (!Auf ein beliebiges Kundennetz) (!Auf einen externen DNS Server) (!Auf alle Geräte im Internet)
Was ist eine Baseline? (Ein dokumentierter Sollzustand) (!Ein beliebiger Alarmton) (!Ein Benutzerpasswort) (!Eine offene Rechnung)
Wer trägt in RACI die Ergebnisverantwortung? (Accountable) (!Consulted) (!Informed) (!Responsible ohne Festlegung)
Welche Prüfung zeigt die erwartete Fachfunktion? (Abruf des Demotickets) (!Nur das Öffnen des Editors) (!Nur die Anzeige der Uhrzeit) (!Nur die Kontrolle des Monitors)
Welche Größen sind die vier Golden Signals? (Latenz Verkehr Fehler Sättigung) (!Preis Farbe Standort Marke) (!Tastatur Drucker Maus Bildschirm) (!Alter Name Speicherort Lizenz)
Wie hoch ist die Erfolgsquote bei 196 von 200 Anfragen? (98 Prozent) (!90 Prozent) (!95 Prozent) (!99 Prozent)
Was bedeutet ein bestandener Negativtest? (Die erwartete Störungsreaktion wurde korrekt geprüft) (!Jeder Test muss abstürzen) (!Jede Beobachtung wird gelöscht) (!Die Produktion wird automatisch freigegeben)
Wofür wird ein Rollback eingesetzt? (Für die Rückkehr zum bekannten Zustand) (!Für das Löschen aller Nachweise) (!Für das Ersetzen der Zuständigkeit) (!Für das Abschalten aller Tests)
Welche Aussage ist richtig? (Ein erfolgreicher Healthcheck allein belegt keine Produktionsreife) (!Jeder erreichbare Dienst ist produktionssicher) (!Fiktive Daten belegen die reale Verfügbarkeit) (!Eine Freigabe benötigt keine Prüfkriterien)
Memory
| Baseline | Dokumentierter Sollzustand |
| Runbook | Betriebliche Handlungsanleitung |
| Incident | Ungeplante Störung |
| Monitoring | Laufende Zustandsbeobachtung |
| Rollback | Rückkehr zur Vorversion |
| SLI | Messbarer Qualitätsindikator |
| SLO | Definiertes Qualitätsziel |
Drag and Drop
| Ordne die richtigen Begriffe zu. | Beschreibung |
|---|---|
| Konfiguration | Technischer Sollzustand |
| Incident Management | Bearbeitung ungeplanter Störungen |
| Monitoring | Beobachtung von Kennzahlen |
| Change Management | Geplante und genehmigte Änderung |
| Service Level Management | Festlegung und Prüfung der Dienstqualität |
Kreuzworträtsel
| Baseline | Wie heißt der dokumentierte Sollzustand? |
| Runbook | Wie nennt man eine betriebliche Schrittanleitung? |
| Monitoring | Wie heißt die Überwachung betrieblicher Kennzahlen? |
| Rollback | Wie heißt die Rückkehr zur früheren Version? |
| Incident | Wie heißt eine ungeplante Betriebsstörung auf Englisch? |
| Freigabe | Wie heißt die genehmigte Betriebsentscheidung? |
LearningApps
Externe Materialsuche; keine echten Betriebsinformationen eingeben.
Lückentext
Offene Aufgaben
Leicht
- Dienstbeschreibung: Erstelle eine Dienstkarte mit Version, Zweck und Systemgrenzen.
- Client-Server-Modell: Zeichne den lokalen Anfrageweg und beschrifte ihn.
- Konfigurationsmanagement: Erkläre fünf Sollwerte der Baseline.
- Betriebscheckliste: Erstelle eine nachvollziehbare lokale Prüfcheckliste.
Standard
- Softwaretest: Führe die vier lokalen Tests aus und dokumentiere Datum und Resultate.
- Monitoring: Erstelle aus fiktiven Kennzahlen ein Diagramm mit Zielvergleich.
- RACI-Matrix: Weise einem Versionswechsel vier betriebliche Rollen zu.
- Runbook: Beschreibe und prüfe die bewusst simulierte Statusreaktion 503.
Schwer
- Cloud Computing: Vergleiche das isolierte Labor mit einem hypothetischen Cloudbetrieb.
- Change Management: Entwickle einen Änderungsantrag mit Rückfallplan und Freigabe.
- Business Continuity Management: Plane RTO und RPO für einen gedachten Dienst mit persistenter Speicherung.
- IT-Service-Management: Verteidige Deine Betriebsentscheidung anhand des Übergabepakets.
Feedback zu den Niveaus
Basis: Klare Sollwerte machen Prüfkriterien verständlich. Anwendung: Tatsächliche Testresultate sind belastbarer als bloße Erwartungen. Transfer: Erst die Verbindung von Prüfnachweisen, Verantwortlichkeit und Rückfallmaßnahmen macht Betriebsentscheidungen nachvollziehbar.


Lernkontrolle
- Funktionstest: Ein Dienst ist erreichbar, aber liefert kein erwartetes Ticket. Welche zusätzliche Prüfung ist sinnvoll und warum?
- Konfigurationsmanagement: Ein Port wurde ohne Aktualisierung der Dokumentation geändert. Welche Auswirkungen sind zu erwarten?
- Monitoring: Die Antwortzeit ist gut, die Erfolgsquote schlecht. Begründe eine Entscheidung.
- RACI-Matrix: Zwei Personen führen widersprüchliche Maßnahmen aus. Wie verbesserst Du Zuständigkeiten?
- Betriebsfreigabe: Vier Tests bestehen, ein Rückfallplan fehlt. Welche weitere Maßnahme ist erforderlich?
- Datensicherung: Übertrage den Laborfall auf einen Dienst mit Datenbank und definiere zusätzliche Prüfungen.
Lernnachweis
| Arbeitsprodukt | Nachweiskriterium |
|---|---|
| Dienstkarte | Zweck und Grenzen erkennbar |
| Baseline | Werte und Prüfwege dokumentiert |
| RACI | Klare Ergebnisverantwortung |
| Lokale Tests | Tatsächlich erstelltes datiertes Testprotokoll |
| Kennzahlenbericht | Korrekte Berechnung und Visualisierung |
| Runbook | Zuständigkeit und Wiederanlauf erklärt |
| Freigabevermerk | Entscheidung anhand von Kriterien begründet |
| Sicherheitsnachweis | Nur eigene oder autorisierte isolierte Umgebung, fiktive Daten |
Die Übungsfreigabe und eine reale Produktionsfreigabe sind nicht gleichzusetzen. Für den vorgegebenen Datensatz wird das simulierte Qualitätsziel nicht erreicht.
OERs zum Thema
Fachliche Quellen:
- BSI IT-Grundschutz
- NIST: Konfigurationsmanagement
- Google SRE: Monitoring
- Prometheus: Instrumentierung
- Python: Lokaler HTTP-Server
- Python: Automatisierte Tests
Medien und Rechte: Die eingebundenen Wikimedia-Commons-Dateien werden über ihre Dateiseiten identifiziert. Prüfe dort vor Wiederverwendung Urheber, Lizenz, Namensnennung und etwaige Share-Alike-Bedingungen: Serverracks, Cloud-Modelle, Client-Server-Modell. Externe YouTube-Einbettungen sind keine frei nachnutzbaren Dateien. Ihr Aufruf kann Verbindungsdaten an Dritte übertragen.
Verknüpfte Lernbereiche
aiMOOC-Projekte
Schulfach+


aiMOOCs


aiMOOC Projekte


MOOCwiki · Deutsch
Nach dem Lernen ist vor dem Lernen
Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.
Zur MOOCwiki-HauptseiteMediathek
Mediathek wird aus dem Wiki geladen ...
Keine passenden Inhalte gefunden. Bitte ändere Suche oder Filter.
NEWSLernweltNOAH fragen