BIN202: DevOps
Lernpfad: Software-Entwicklung
BIN202: DevOps
Prof. Dr. Benedikt Janßen
Prof. Dr. Benedikt Janßen
Bachelor Informatik
Informatik
Deutsch
Sommersemester
1 Semester
5 ECTS
Deutsche Notenskala 1-5
2 V | 2 Ü | - P | - S
DevOps
- BIN004: Einführung in die Programmierung: Programmierung, einfache Softwareprojekte.
- BIN201: Weiterführende Programmentwicklung: Softwaretests, Versionsmanagement, Entwicklungswerkzeuge.
- BIN005: Systemsoftware: Betriebssysteme, Kommandozeile, Ausführungsumgebungen.
- BIN007: Datennetze: Netzwerke, internetbasierte Anwendungen.
WAS
Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, einen reproduzierbaren, sicheren und teamfähigen Entwicklungs-, Prüf- und Bereitstellungsprozess für Software zu gestalten.
WOMIT
Die Studierenden erreichen dieses Lernergebnis, indem sie
- Versionsmanagement für kollaborative Softwareentwicklung einsetzen und typische Arbeitsabläufe wie Branching, Merging und Reviews durchführen,
- Code-Reviews vorbereiten, durchführen und Review-Ergebnisse zur Qualitätsverbesserung nutzen,
- Entwicklungs-, Test- und Ausführungsumgebungen mit Virtualisierungs- oder Containerkonzepten reproduzierbar konfigurieren,
- automatisierte Build-, Test-, Qualitätssicherungs- und Deployment-Abläufe konzipieren, umsetzen und auswerten,
- automatisierte Tests auf Code-, Komponenten- und Systemebene einrichten, ausführen und interpretieren,
- Sicherheitsprüfungen wie grundlegendes SAST, SCA, DAST, Secret Scanning und Fuzzing in CI/CD-Prozesse integrieren,
- Ergebnisse sicherheitsbezogener Prüfungen interpretieren, priorisieren und daraus begründete Maßnahmen ableiten,
- Bestandteile von Software erfassen, Supply-Chain-Risiken einordnen und KI-gestützte Werkzeuge kritisch in den Arbeitsprozess einbinden.
WOZU
Die Studierenden nutzen diese Kompetenzen, um Softwareentwicklungsprozesse in Teams so zu gestalten, dass Änderungen nachvollziehbar, automatisiert prüfbar, sicher integrierbar und zuverlässig bereitstellbar sind. Dies unterstützt spätere Projektmodule, Software Engineering, den Betrieb moderner Anwendungen und berufliche Entwicklungsprozesse.
- Grundbegriffe und Ziele von DevOps und DevSecOps
- Grundlegende DevOps-Metriken wie Deployment Frequency, Lead Time, Change Failure Rate und Recovery Time
- Versionsmanagement, Branching-Strategien, Merge-Prozesse und Code-Reviews
- Automatisierung von Build-, Test-, Analyse- und Deployment-Prozessen
- Continuous Integration und Continuous Delivery/Deployment als Konzepte
- Reproduzierbare Entwicklungs- und Testumgebungen, Virtualisierung und Containerkonzepte
- Automatisierte Tests auf unterschiedlichen Ebenen
- Statische Analyse, Dependency-Checks und sicherheitsbezogene Qualitätssicherung
- Software-Supply-Chain, Abhängigkeiten, Signaturen und Integrität von Artefakten, SBOM-Grundlagen und Provenance
- Zusammenarbeit im Team, Arbeitsorganisation, Nachvollziehbarkeit und kritischer Einsatz KI-gestützter Werkzeuge
Erfolgreiche Bearbeitung und Diskussion von Übungsaufgaben zu Versionsmanagement, Automatisierung, Tests, Qualitätssicherung und reproduzierbaren Entwicklungsumgebungen.
Computergestützte Klausurarbeit (120 Minuten). Das Prüfungskonzept umfasst praktische Aufgaben zu Analyse, Konfiguration, Bewertung und Erweiterung von DevOps- und DevSecOps-Abläufen.
- Kim, G.; Humble, J.; Debois, P.; Willis, J.: The DevOps Handbook. 2. Auflage, IT Revolution Press, 2021.
- Humble, J.; Farley, D.: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley, 2010.
- Forsgren, N.; Humble, J.; Kim, G.: Accelerate: The Science of Lean Software and DevOps. IT Revolution Press, 2018.
- Beyer, B.; Jones, C.; Petoff, J.; Murphy, N. R.: Site Reliability Engineering. O’Reilly, 2016.
- OWASP: Application Security Verification Standard. https://owasp.org/www-project-application-security-verification-standard/.