Angestrebte Lernergebnisse / Learning Outcomes (Beispiel DevOps)
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 (Beispiel DevOps)
- 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
- 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 (Beispiel DevOps)
- 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)