Beschreibung einzelner Lerneinheiten (ECTS-Lehrveranstaltungsbeschreibungen) pro Semester

  
Studiengang:Bachelor Informatik - Software and Information Engineering
Studiengangsart:FH-Bachelorstudiengang
 Vollzeit
 Wintersemester 2023
  

Titel der Lehrveranstaltung / des ModulsDevOps
Kennzahl der Lehrveranstaltung / des Moduls024717050608
UnterrichtsspracheEnglisch
Art der Lehrveranstaltung (Pflichtfach, Wahlfach)Wahlfach
Semester in dem die Lehrveranstaltung angeboten wirdWintersemester 2023
Semesterwochenstunden3
Studienjahr2023
Niveau der Lehrveranstaltung / des Moduls laut Lehrplan1. Zyklus (Bachelor)
Anzahl der zugewiesenen ECTS-Credits5
Name des/der VortragendenAndreas GOTTARDI


Voraussetzungen und Begleitbedingungen

Kenntnisse einer objektorientierten Programmiersprache, Grundlagen Betriebssysteme und Erfahrung in der Softwareentwicklung.

Lehrinhalte

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) aus einem Blick als Zusammenfassung und Abrundung zum bisher gelernten zu vermitteln. 

  • 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.

Lernergebnisse

Fach- und Methodenkompetenz (F/M)

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 Studierenden kennen am typische Ops-Prozesse: Build, Test, Package, Release, Provision, Deploy, Configure, Monitor, Control / Manage.
  • Die Studierenden erkennen Zuständigkeiten, Rollen und das Zusammenspiel von Teams und wissen 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 Studierenden haben ein Verständnis von Continuous Delivery und Continuous Integration sowie von Technologien der Automatisierung.
  • Die Studierenden kennen eine DevOps Toolchain und wissen aus welchen Bausteinen (Werkzeugen) sie bestehen kann.
  • Die Studierenden kennen Vertreter verbreiteter DevOps-Werkzeuge.
  • Die Studierenden kennen die Containerisierung von Software sowie die Schaffung virtueller Ablaufumgebungen mit definierten Eigenschaften als wichtigste technische Mittel und können diese praktisch anwenden.
  • Die Studierenden kennen Aufgaben, Kompetenzen und Anforderungen an das Berufsbild eines DevOps Engineers.

Durch spezifisch ausgewählte Lern- und Lehrformen leistet diese Lehrveranstaltung auch Beiträge zur Ausbildung der folgenden überfachlichen Kompetenzen:

Sozial- und kommunikative Kompetenz (S/K)

  • Zuverlässigkeit: Regeln und Absprachen einhalten und die eigenen Aufgaben in der zugesagten Qualität erledigen

Englisch ist die Fachsprache der Informatik. Studierende sind vertraut im Umgang mit Fachliteratur in englischer Sprache. Sie können technische Sachverhalte und Abläufe in englischer Sprache beschreiben

Selbstkompetenz  (S)

  • Selbstreflexionsfähigkeit: Die eigenen Fähigkeiten und Grenzen kennen und die eigenen Handlungen reflektieren
  • Lernkompetenz und -motivation: Fähigkeit und Bereitschaft, sich neues Wissen selbstständig anzueignen und aus Erfolgen und Misserfolgen zu lernen
  • Ausdrucksvermögen: Fähigkeit zu einer deutlichen und verständlichen Ausdrucksform und Schriftsprache sowie einer situationsgerechten Wortwahl

Transferkompetenz (T)

  • Analyse- und Präsentations-/Kommunikationsfähigkeit: Vermögen, umfangreiche und komplexe Zusammenhänge in kurzer Zeit zu erfassen und ordnen, das Wesentliche herauszufiltern und allgemeinverständlich darzustellen
  • Beurteilungsvermögen und Problemlösungsfähigkeit: Sachverhalte einschätzen und daraus Konsequenzen und Lösungsansätze ableiten können
Geplante Lernaktivitäten und Lehrmethoden

Integrierte Lehrveranstaltung, Übungen mit individuellem Feedback.

Prüfungsmethode und Beurteilungskriterien

Grundbewertung (50%)

Um positiv zu sein, muss eine funktionierende Pipeline mit mindestens dem Build- und Deploy-Schritt vorhanden sein. Das beinhaltet:
Erstellen der Anwendung in einem „Build-Container“ unter Verwendung der erforderlichen Build-Frameworks (d. h. JDK, .NET SDK usw.

Erweiterte Verbesserungen (50 %)

  • Testen (20 %): Unit-Tests und Integrationstests
  • Dokumentation (20 %): Code und Kundendokumentation
  • Code-Analyse (10 %)

 

Kommentar

Nicht zutreffend

Empfohlene Fachliteratur und andere Lernressourcen
  • Davis, Jennifer; Daniels, Katherine (2016): Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale. Beijing ; Boston: O'Reilly UK Ltd.
  • Sharma, Sanjeev (2017): The DevOps Adoption Playbook: A Guide to Adopting DevOps in a Multi-Speed IT Enterprise. Indianapolis, IN: Wiley.
Art der Vermittlung

Präsenzveranstaltung






Wintersemester 2023an den Anfang