30.4.2024 | Hochschule für Technik
«DevOps denkt nicht in Projekten, sondern in Produkten»
Die Fachhochschule Nordwestschweiz lanciert ab Herbst 2024 die neue Informatik-Vertiefung DevOps. Was sich hinter dem Begriff versteckt und warum die Vertiefung gesuchte Fachkräfte hervorbringt, erklärt Prof. Dr. Sebastian Graf, Professor für Cloud-Infrastrukturen und agilen Softwarebetrieb an der FHNW, im Interview.
Prof. Dr. Sebastian Graf, Professor für Cloud-Infrastrukturen und agilen Softwarebetrieb an der FHNW, hat die neue Vertiefungsrichtung mitentwickelt.
Die FHNW startet mit der neuen Informatik-Vertiefung DevOps – warum?
Sebastian Graf: Der Arbeitsmarkt braucht Engineers, die Software nicht nur agil entwickeln, sondern auch betreiben. Heutige höhere Informatikausbildungen fokussieren sich vor allem auf die Entwicklung von Software. Der automatisierte Betrieb von selbst entwickelter Software nach agilen Prinzipien steht dabei häufig nicht im Fokus. Diese Lücke will die FHNW mit dem neuen Ausbildungsangebot schliessen.
Können Sie kurz erklären, was hinter dem Begriff «DevOps» steht?
Unter DevOps versteht man die direkte Zusammenarbeit zwischen Softwareentwicklung und Softwarebetrieb. Im Idealfall findet beides im gleichen Team statt. Darum braucht es Informatiker*innen welche Software nicht nur als Projekt entwickeln, sondern auch als Produkt selbst betreiben. Erreicht wird dies, indem man Paradigmen der klassischen Softwareentwicklung auch auf den Betrieb ausweitet: Infrastruktur wird beispielsweise als Sourcecode gehandhabt, Software wird kontinuierlich und automatisiert gebaut und ausgerollt und die Applikationen werden durchgehend gemonitored und geloggt. Diese Tasks fallen in die klassischen Aufgabenbereiche von DevOps-Engineers.
DevOps ist ja nicht nur Praxis, dahinter steckt eine ganze Kultur-Philosophie. Was unterscheidet sie von der «klassischen» Softwareentwicklung?
Die klassische IT-Ausbildung trennte in der Vergangenheit zwischen reiner Applikationsentwicklung (Development) und dem Betrieb (Operations) einer Anwendung. Das Problem dabei ist, dass beide Teile eigentlich grundverschiedene Zielsetzungen haben: Die Entwicklung will neue Funktionalitäten schnell bereitstellen, der Betrieb hingegen will weniger Features und damit mehr Stabilität. DevOps versucht dieses Dilemma zu lösen, indem Teams ganzheitlich Entwicklung und Betrieb verantworten. Das bedeutet in der Konsequenz, dass neben den Grundkonzepten klassischer Softwareentwicklung auch Themengebiete des Plattform Engineerings berücksichtigt werden müssen: Wie baue ich eine Applikation so, dass sie nicht nur korrekt, sondern auch gut zu betreiben ist? Dies umfasst Aspekte des Monitorings, der Verfügbarkeit, der Sicherheit sowie den Einsatz unterstützender Cloud-Technologien.
Die unterschiedlichen Phasen des DevOps-Lebenszyklus: Entwicklung und Betrieb von Softwareprodukten bilden einen kontinuierlichen Loop.
Was macht ein*e DevOps-Ingenieur*in im Berufsalltag?
Plakativ ausgedrückt sollte in meinen Augen ein DevOps-Engineer immer das Ziel haben, sich selbst weg zu automatisieren :). In der Vergangenheit war der Betrieb geprägt von manuellen Schritten und Abläufen, welche häufig fehleranfällig waren.
DevOps-Engineers entwickeln daher Mechanismen, die den Betrieb der Software unterstützen. Diese Aufgaben sind sehr vielfältig: Angefangen von der Auswahl und der Anpassung der jeweiligen Plattform, auf welcher die Software laufen soll, über die Entwicklung von Automatismen für ein kontinuierliches und automatisiertes Ausrollen der Software bis hin zu Anpassungen der Software selbst, um die Applikation resilienter und wartbarer zu machen.
An welche Studierenden richtet sich die neue Studienrichtung? Was bringt der / die ideale Student*in mit?
Das Angebot richtet sich an Studierende, welche ihre Software nicht nur selbst professionell entwickeln, sondern auch betreiben wollen. Das Schöne an DevOps ist, dass es die klassischen Strömungen Dev (kurz für Development) und Ops (kurz für Operations) miteinander verbindet. Eine Gruppe bilden sicherlich Plattforrmentwickler*innen, welche ihre Erfahrungen im Betrieb von Infrastrukturen auf den Betrieb von Applikationen übertragen wollen. Eine andere Gruppe bilden aber auch Applikationsentwickler*innen, die ihre Anwendungen selbst hosten und betreiben wollen.
Wie könnte ein Praxisprojekt dieser Vertiefung aussehen?
DevOps denkt weniger in Projekten und mehr in der kontinuierlichen Entwicklung von Produkten: Es gibt ja auch immer weniger Projektleiter in der agilen Welt und mehr und mehr agile Rollen wie Product Owner. Die Produkte können dabei variabel sein, sind aber häufig webbasiert.
Mit der Einführung der Vertiefung DevOps planen wir daher, unser Projektportfolio um ein produktzentriertes Angebot zu ergänzen. Angehende DevOps-Engineers entwickeln und betreiben im Team über mehrere Semester eine oder mehrere FHNW-interne Applikationen. Dabei lernen sie, den Trade-off zwischen Stabilität und neuen Features selbst abzuwägen. Die konkreten Produkte sind dabei relativ vielfältig - wie auch in der Wirtschaft. Dort werden bereits heute die meisten webbasierten Applikationen in DevOps-Teams agil entwickelt und betrieben, nach dem Motto: You build it, you run it.
Studiengang Informatik - Vertiefung DevOps
Die Vertiefungsrichtung DevOps verbindet agile Softwareentwicklung mit den Prozessen und Anforderungen des Betriebs von Softwareprodukten. Sie lernen, komplexe Architekturen auf cloud-nativen Plattformen zu entwickeln, zu deployen und zu betreiben. Jetzt informieren und Infoveranstaltung besuchen!
Zur Vertiefungsrichtung DevOps