ModulnummerWP 11
TitelDevOps - Software Development and Operations
DevOps - Software Development and Operations
Kürzel DEV
Koordination Prof. Dr. Sven Graupner
Leistungspunkte 6 LP
Workload 4 SWS Ü
Lerngebiet Fachspezifische Vertiefung
Lernziele/Kompetenzen

Lernziel des Moduls ist, weitere Phasen des Software-Lebenszyklus zu vermitteln, die sich an die aus dem Software Engineering bekannten Dev-Phasen anschließen. Die Teilnehmer kennen am Ende typische Ops-Prozesse: Build, Test, Package, Release, Provision, Deploy, Configure, Monitor, Control / Manage. Zuständigkeiten, Rollen und das Zusammenspiel von Teams werden erkannt und was es bedeutet, Rollen und Prozesse für einen geordneten Betrieb eines Service zusammenzuführen. Die Studierenden kennen Unterschiede zwischen Software Entwicklungs-, Test-, Staging- und Produktionsumgebungen sowie die Herausforderungen, die sich für den nahtlosen Übergang bei schnellen Software-Releasefolgen ergeben. Die Teilnehmer haben ein Verständnis von Continuous Delivery und Continuous Integration sowie von Technologien der Automatisierung. Es ist bekannt, was eine DevOps Toolchain ist und aus welchen Bausteinen (Werkzeugen) sie bestehen kann. Vertreter verbreiteter DevOps-Werkzeuge werden vorgestellt. Als wichtige technische Mittel werden die Containerisierung von Software sowie die Schaffung virtueller Ablaufumgebungen mit definierten Eigenschaften vermittelt und können von den Teilnehmern praktisch angewendet werden. Die Teilnehmer kennen Aufgaben, Kompetenzen und Anforderungen an das Berufsbild eines DevOps Engineers.

Voraussetzungen
Niveaustufe 3. Studienplansemester
Lehrform

Übung, teilweise im seminaristischen Unterrichtsstil

Status Wahlpflichtmodul
Häufigkeit des Angebots jedes Semester
Prüfungsform

Die Prüfungsform wird nach §19 (2) RSPO durch die Lehrkraft festgelegt. Sofern die Lehrkraft die Prüfungsform und die Prüfungsmodalitäten nicht am Semesteranfang in der Frist nach §19 (2) RSPO festlegt, gilt folgende Prüfungsform:

  • Klausur (50%)
  • Schriftliche Übungsaufgaben (50%, nur 1. Prüfungszeitraum)
Ermittlung der Modulnote siehe Studienplan
Anerkannte Module Module vergleichbaren Inhalts
Inhalte

Moderne Cloud-, Web- und Mobile Services erfordern neben den klassischen Prozessen der Softwareentwicklung auch, den Betrieb der Software unter Produktionsbedingungen zu organisieren. Das Endprodukt wandelt sich von ausgelieferter Software hin zu selbst betriebenen Services. Ziel der Lehrveranstaltung ist, die Verzahnung zwischen Software Entwicklung (Development - Dev) und ihrem Betrieb (Operations - Ops) zu vermitteln. Die Industrie hat seit einigen Jahren Praktiken und Technologien auf diesem Gebiet entwickelt, die oft noch nicht ausreichend im Fachgebiet Software Engineering vermittelt werden. Das Modul DevOps ergänzt diese Inhalte.

  • Agile Softwareentwicklung für Cloud-, Web- und Mobile Services als Kontext für DevOps.
  • Ops-Prozesse: Build, Test, Package, Release, Provision, Deploy, Configure, Monitor, Manage.
  • Virtualisierung als Basistechnologie (virtuelle Maschinen, Speicher, Netzwerke).
  • Linux als Basistechnologie.
  • Docker und Vagrant als Container-Technologien.
  • Paketierung und Containerisierung von Software.
  • Praktischer Aufbau eines Docker Service.
  • Aufbau einer CI-Pipeline (CI: Continuous Integration) für die Test-Automatisierung.
  • Cloud IaaS, SaaS, PaaS als Optionen für Dev-, Test-, Produktionsumgebung.

Die Übungen finden mit Docker / VM statt.

Literatur

Snajeev Sharma, The DevOps Adoption Playbook: A Guide to Adopting DevOps in a Multi-Speed IT Enterprise, IBM Press, Wiley.

Jennifer Davis, Ryn Daniels, Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale, O’Reilly Media.

Weitere Hinweise Das Modul kann auf Deutsch oder auf Englisch angeboten werden. Bitte beachten Sie die aktuellen Informationen aus dem zuständigen Fachbereich.