Kurs »DevOps« (DT22)

Kursverantwortlich
Prof. Dr. René Wörzberger
Sprache
deutsch
Kreditpunkte
3 ECTS
Arbeitsaufwand
40h Kontaktzeit / 50h Selbstlernzeit
Kompetenzcluster
Agile Methoden
Gehört zum Modul
Developing Things 2

Angestrebte Lernergebnisse / Learning Outcomes

Die Studierenden können fortwährend entwickelte Software-Systeme automatisiert bauen und automatisiert in von ihnen aufgesetzten virtualisierten Cloud-Umgebungen installieren, indem sie

  • Grundkenntnisse in Linux (als dem marktbeherrschenden Server-Betriebssystem) besitzen und zur Administration einsetzen können,
  • Build, Test und Deployment der Software-Systeme über eine CICD-Pipeline automatisieren,
  • grundlegende Administrationskenntnisse (Firewall-, Proxy-, Domain-Konfiguration, …) nutzen,
  • und Werkzeuge zur Virtualisierung und zum Cloud-Computing anwenden,

damit sie digitale Produkte agil über den gesamten Lebenszyklus und im Sinne einer Ende-zu-Ende-Verantwortung (“you build it - you run it”) realisieren können.

Inhalt

  • Basiswissen Linux und Netzwerke
    • Grundlegende Verfahren wie z.B. Public-Key-Authentifizierung
    • Grundlegende Werkzeuge wie z.B. bash und ssh
  • Systematische Kollaboration in Versionierungs-Workflows (Git)
  • Build- und Test-Automatisierung
  • Betrieb von Applikationen in der Cloud
  • Virtualisierung mit Containern

Lehr- und Lernformen

  • Impuls-Vorträge
  • ggf. Gastvorträge externer Referenten
  • Übungen
  • Projekt
    • Entwicklung oder Erweiterung einer kleinen Backend-Applikation (entsprechende Kenntnisse aus Client Server Basics werden vorausgesetzt)
    • Umsetzung des Build- und Continuous-Delivery-ProzessesProzesses inkl. Qualitätssicherung für die Backend-Applikation

Materialien / Ressourcen

  • Vorlesungsunterlagen und -videos
  • Übungsunterlagen inkl. Lösungen
  • Projekt-Meilensteinbeschreibungen
  • Zugänge, Lizenzen und Kontingente für
    • gemeinsame Code-Repositories (z.B. GitLab)
    • Cloud-Computing-Provider (z.B. Google Cloud)