DevOps Vorlesung an der Technischen Hochschule Rosenheim
Als Rosenheimer Unternehmen ist es uns wichtig einen engen Kontakt mit den ansässigen Forschungs- und Bildungseinrichtungen zu pflegen. Im Rahmen dessen sind immer wieder Experten von uns als Lehrbeauftragte an der Technischen Hochschule Rosenheim tätig. In diesem Blogbeitrag will ich auf die tolle Zusammenarbeit mit der Technische Hochschule Rosenheim im letzten Semester zurückblicken. Gemeinsam haben wir das Vorlesungsportfolio der Technischen Hochschule um eine neue Vorlesung mit dem Schwerpunkt DevOps erweitert.
Die Veranstaltung wurde für den Bachelorstudiengang im Fachbereich Informatik konzipiert und erstmals im Sommersemester 2021 von mir gehalten. Ziel der Vorlesung ist es den Studierenden die DevOps-Philosophie näher zu bringen und sie so noch besser auf ihr zukünftiges Berufsleben vorzubereiten, weshalb die Vorlesung inhaltlich sehr praxisnah gestaltet wurde. Die Vorlesung erstreckte sich über das gesamte Sommersemester im Online-Format mit einer dreistündigen Veranstaltung pro Woche. Neben mir waren mit Martin, Nico und André drei weitere white duck Kollegen von mir involviert, die vertiefende Gastvorträge zu Infrastructure as Code (IaC), Kubernetes und GitHub hielten.
Aber was ist eigentlich DevOps?
DevOps steht für Development & IT Operations. Es handelt sich hierbei um eine Lebensweise, die einen ganzheitlichen Ansatz für die Softwareentwicklung verfolgt. Dabei wird davon ausgegangen, dass ein Team den gesamten Lebenszyklus einer Software oder auch nur einer Komponente begleitet. Sprich von der Planung über die Entwicklung und Qualitätssicherung bis hin zum Betrieb der Lösung, und zu guter letzt bis an das Ende deren Lebenszyklus. Ganz nach dem Motto “Wer es gebaut hat, weiß auch wie man es am besten betreibt“. Um dies zu ermöglichen wird u. a. sehr stark auf automatisierte Prozesse, wie Continuous Integration & Continuous Delivery (CI/CD), gesetzt.
Zentrale Merkmale von DevOps:
- Überwindung der Trennlinien zwischen Entwicklung (Development) und Betrieb (Operations)
- Inkrementelle Entwicklungsweise
- Frühes Einbinden von Qualitätskontrollen und Testing
- Implementierung und Nutzung von Continuous Integration & Continuous Delivery
- Keine Isolation von Entwicklung, Test und Betrieb, sondern Forcierung von prozessualem ineinander greifen
- Einsatz von Automatisierungstools für einen hohen Automatisierungsgrad
Was waren die konkreten Inhalte der Vorlesung?
Nach einem grundlegenden Überblick zu DevOps starteten wir mit dem Projektmanagement. Hier haben wir agile Ansätze behandelt, welche state-of-the-art Tools wie Jira, Azure DevOps und auch GitHub inkludierten. Weiterhin wurde ein Einblick in wichtige Techniken und Entwurfsmuster wie die Kriterien der 12 Factor App, Microservices, Domain Driven Design, API First Principle, PaaS, SaaS, IaC, Automatisierung, Anwendungs- und Infrastruktur-Monitoring sowie des Betriebs gegeben.
Durch Feedbacksessions nach jeder Vorlesung konnten wir die Vorlesung so abstimmen, dass sie genau das geboten hat, was die Studenten interessiert und sie auch in der Praxis benötigen. Besonders auf Beispiele aus realen Projekten sowie auf Hand-On-Sessions wurde großer Wert gelegt. So war besonders bei den Übungen zu den Themen Automatisierung mit Terraform, YAML Pipelines und GitHub Actions besonders viel Eigeninitiative gefragt. Diese Vorgehensweise stieß auf sehr positive Resonanz bei den Studierenden.
Ich möchte mich bei der TH Rosenheim und bei den teilnehmenden Studenten herzlich bedanken und freue mich auf eine weiterhin gute Zusammenarbeit. Die DevOps Vorlesung ist bereits für das nächste Sommersemester wieder eingeplant. Zudem wird es weitere gemeinsame Aktionen wie Hackathons, Gastvorträge und Community-Meetups geben. Wir freuen uns auf die nächste IKORO, bei der Sie die Möglichkeit haben, mit uns ins Gespräch zu kommen und uns noch besser kennenzulernen.
Wenn Sie mehr über GitHub, Automation, DevOps und Projektmanagement erfahren möchten, besuchen Sie die Blogs unserer Experten:
- Martin Brandl (About Azure)
- Daniel Kerschagl (Just another buzzword)
- Nico Meisenzahl (01001101)