Berufsbild DevOps Engineer

Aus MittelstandsWiki
Wechseln zu: Navigation, Suche

Gemeinsam schneller und besser

© deagreez – stock.adobe.com

Von Roland Freist

DevOps war in den vergangenen Jahren eines der meistdiskutierten Themen in der IT-Welt. Der noch verhältnismäßig junge Ansatz zeigt einen neuen Weg auf, wie sich die Entwicklung von Software beschleunigen und gleichzeitig die Qualität der Programme erhöhen lässt. Dazu müssen jedoch verschiedene Voraussetzungen erfüllt sein, wobei eine der wichtigsten eine neue Kultur der Zusammenarbeit zwischen Entwicklern und Administratoren ist. Gleichzeitig müssen aber auch die Unternehmensführung und vor allem die Kunden bzw. Anwender in den Entwicklungsprozess einbezogen werden.

Bei der traditionellen Softwareentwicklung besteht ein Spannungsverhältnis zwischen Entwicklern (Development, Dev) und dem IT-Betrieb (Operations, Ops), im Wesentlichen also den Administratoren. Entwickler stehen ständig unter dem Druck, neue Funktionen und Updates in eine Software einzubauen. Dieser Druck entsteht sowohl durch die Konkurrenzsituation am Markt als auch durch die Kunden, die kontinuierlich neue Anforderungen an die bei ihnen eingesetzte Software stellen. Die Administratoren andererseits sind für einen sicheren und störungsfreien IT-Betrieb verantwortlich. Jedes Update und jeder Bugfix kann aus ihrer Sicht dazu beitragen, dass die Stabilität der Systeme beeinträchtigt wird. Sie legen daher Wert auf ausführliche Tests und Simulationen. Beides kostet allerdings Zeit und entspricht daher nicht den Interessen der Entwickler.

Teams, die Brücken bauen

Der DevOps-Ansatz will diese Interessenskonflikte überwinden. Er fordert eine Kultur der bereichsübergreifenden Zusammenarbeit zwischen den Teams, die bislang getrennt voneinander gearbeitet haben. In der Praxis läuft das auf eine enge Verzahnung der Softwareentwicklung mit dem IT-Betrieb und damit auf die Entwicklung eines Prozesses hinaus, der Entwicklung und Ausführung eines Codes miteinander kombiniert. Hinzu kommen der Einsatz gemeinsamer Softwarewerkzeuge, die Schaffung einer angepassten Infrastruktur und die Einigung auf übergreifende Prozesse. Das Unternehmen profitiert beim Umstieg auf DevOps von einer höheren Produktivität, mehr Flexibilität beim Umsetzen der Anforderungen des Kunden sowie einer verbesserten Stabilität der Software.

Damit das funktioniert, müssen allerdings alle Beteiligten an einem Strang ziehen. Die einzelnen Teams, Bereiche und Fachabteilungen müssen ihr Inseldenken aufgeben und mit den anderen Beteiligten an dem jeweiligen Projekt eine produktive Zusammenarbeit aufbauen. Für das Gelingen eines DevOps-Ansatzes ist also in erster Linie das Mindset wichtig. Von den Mitarbeitern wiederum wird eine hohe Kommunikations- und Teamfähigkeit gefordert, dazu die Bereitschaft, ständig dazuzulernen, und in ihrem Handeln eine starke Lösungsorientierung.

ITuK 2-2022-Gesamt.jpg
Schwarz auf Weiß
Dieser Beitrag ist zuerst in unserer Magazin­reihe „IT & Karriere“ erschienen. Einen Über­blick mit freien Down­load-Links zu sämt­lichen Einzel­heften be­kommen Sie online im Presse­zentrum des MittelstandsWiki.

Und richtig funktionieren kann das Ganze erst, wenn alle über erweiterte fachliche Kenntnisse aus dem jeweils anderen Bereich verfügen. So sollten Entwickler in DevOps-Teams möglichst bereits Erfahrungen in der Administration gesammelt haben und die dort vorherrschenden Bedingungen und Arbeitsabläufe sowie die verwendeten Softwarewerkzeuge kennen. Gleichzeitig müssen sie bereit sein, ihr Vorgehen bei der Programmierung an die agile Softwareentwicklung, wie sie das DevOps-Modell skizziert, anzupassen. Auf der anderen Seite sollten aber auch die IT-Administratoren zumindest grundlegende Kenntnisse in der Programmierung besitzen. Wie die Erfahrung zeigt, ist das nicht unbedingt immer der Fall. Doch nur unter diesen Voraussetzungen ist es möglich, dass die beiden Bereiche ein gegenseitiges Verständnis aufbauen und sich die gewünschte enge Zusammenarbeit herausbilden kann.

DevOps Engineer – ein neues Berufsbild

Aufgrund des großen Interesses der Unternehmen am DevOps-Konzept hat sich in den vergangenen Jahren ein neues Berufsbild herauskristallisiert: der DevOps Engineer. Aktuell existiert zwar noch keine eigenständige und fest definierte Ausbildungsrichtlinie, doch mit den Informationen aus Stellenanzeigen und Fachartikeln lässt sich bereits das Profil eines solchen DevOps-Spezialisten beschreiben.

Ein DevOps Engineer übernimmt als Einsteiger sowohl Aufgaben in der Entwicklung wie auch Tasks, für die im Rahmen eines DevOps-Konzepts der IT-Betrieb verantwortlich ist. Als Senior Engineer wirkt er später als Koordinator von DevOps-Projekten. Solche Projekte orientieren sich in der Dauer am Lifecycle eines Softwareprodukts. Ein DevOps Engineer wird auch als Agile System Engineer, DevOps-Administrator oder DevOps-Entwickler bezeichnet. In vielen Stellenangeboten suchen die Firmen beispielsweise auch nach Scrum Master DevOps, also nach DevOps-Experten, die sich mit dem agilen Projekt- und Produktmanagement Scrum auskennen.

Eine Aufgabe des DevOps Engineer ist das Schreiben von Skripten und Tools für die agile Softwareentwicklung. In vielen Firmen wird er gleichzeitig aber auch für die Programmierung eingesetzt. Er oder sie sollte daher ein oder mehrere Sprachen wie PHP, Ruby, Python, Perl oder Java beherrschen. Darüber hinaus sind DevOps Engineers dafür verantwortlich, sichere und funktionierende Softwareplattformen für die Entwicklung bereitzustellen. Dafür sind Erfahrungen mit verschiedenen Serversystemen und Open-Source-Software mehr als hilfreich. Diese Plattformen bauen idealerweise auf einer Microservices-Architektur auf und sind in der Regel virtualisiert. Auch in diesen Bereichen sollte der Engineer schon Erfahrungen gesammelt haben. Am besten ist es, wenn er zuvor bereits einige Zeit als Systemadministrator gearbeitet hat.

Automatisierung und Kontrolle

Einer der wichtigsten Bereiche im Aufgabengebiet der Ingenieure ist die Automatisierung. Das DevOps-Konzept basiert darauf, dass viele ständig wiederkehrende Routineaufgaben automatisch ablaufen. Das trägt dazu bei, dass die Softwareentwicklung beschleunigt wird. Dafür werden Skripte benötigt, beispielsweise für das Monitoring, für Code-Analysen oder die Build- und Release-Prozesse. Unternehmen greifen dabei auf Tools wie Gradle, Git, Ansible, Docker, Jenkins und Kubernetes zurück. Auch diese sollten zumindest ansatzweise bereits bekannt sein.

Sobald ein neues Release entstanden ist, stehen Tests an, um eventuell noch vorhandene Fehler zu finden und im nächsten Update auszumerzen. Das DevOps-Team konzipiert dabei beispielsweise Unit-, Integration-, System- und Performance-Tests, führt diese Tests mit den neuen Softwareversionen durch und überwacht die Ergebnisse. Auch dieser Prozess sollte weitgehend automatisiert werden, wofür erneut entsprechende Skripte erforderlich sind.

Da das Arbeiten nach dem DevOps-Konzept in rascher Folge immer neue Versionen eines Codes produziert, ist es umso wichtiger, mit einer Versionskontrolle die Übersicht zu behalten. So ist es beispielsweise möglich, schnell zu einem früheren Release zurückzukehren, wenn man merkt, dass man in eine Sackgasse geraten ist. DevOps-Ingenieure arbeiten daher viel mit Tools wie Git, Apache Subversion (SVN), CVS oder auch BitBucket.

Wo der DevOps-Zug abfährt

DevOps Engineers werden derzeit in der Industrie stark nachgefragt, da sich die Vorteile von DevOps im praktischen Einsatz erwiesen haben. Das gilt nicht nur für kleinere Entwicklungsbüros. Auch große Konzerne wie Amazon, Facebook oder Netflix setzen mittlerweile auf eine enge Zusammenarbeit zwischen Developern und dem IT-Betrieb, wie sie im DevOps-Ansatz beschrieben wird.

DevOps-Konzepte werden heute in nahezu jeder Branche umgesetzt, am häufigsten allerdings in Unternehmen mit einem starken IT-Bezug. Einsteiger in den Beruf können sich, die genannten Qualifikationen vorausgesetzt, ihren Arbeitgeber daher weitgehend frei auswählen. Vom kleinen Start-up über den etablierten mittelständischen Betrieb bis hin zum börsennotierten Großkonzern – Stellenanzeigen für DevOps-Spezialisten findet man bei Unternehmen jeder Größe.

Aufgrund der zunehmenden Angriffe von kriminellen Hackern gegen Unternehmen, die häufig auf Sicherheitslücken in Softwareprodukten basieren, hat sich mittlerweile als spezielle Form der DevSecOps Engineer bzw. Specialist herausgebildet. Er konzentriert sich bei der Qualitätsprüfung und dem Test der neuen Code-Releases auf die Sicherheit der Software.

In der Vergangenheit hatten Bugs wie beispielsweise Heartbleed in der Open-Source-Bibliothek OpenSSL Angriffe auf zahlreiche Websites wie auch auf VoIP-Telefone, Router und Netzwerkdrucker ermöglicht. Solche Schwachstellen zu finden und ihre Beseitigung zu überwachen, gehört zu den Verantwortlichkeiten eines DevSecOps Engineer. Für seine Aufgabe nutzt er beispielsweise Tools für RASP (Runtime Application Self-Protection) oder SCA (Software Composition Analysis). Hinzu kommen spezielle Testmethoden wie etwa das Application Security Testing. Hilfreich sind außerdem Kenntnisse in der Handhabung von Container-Werkzeugen wie Docker und in der Container-Orchestrierung mit Kubernetes.

Mein Weg zum Vollprofi

Unternehmen erwarten von einem DevOps Engineer üblicherweise einen Abschluss in Informatik, Wirtschaftsinformatik, Ingenieurwesen oder in Mathematik. Aufgrund des bereichsübergreifenden Charakters des Berufs sind zusätzlich praktische Erfahrungen als Administrator und/oder Entwickler gefragt, die beispielsweise während des Studiums in einer Firma oder einer anderen Organisation erworben wurden. Auch entsprechende Praktika oder einige Jahre Erfahrung als Systemadministrator in einem Unternehmen können nicht schaden.

Als Belohnung winkt ein überdurchschnittliches Gehalt. Bereits Einsteiger kommen auf durchschnittliche Jahresbruttoeinkommen zwischen 50.000 und 60.000 Euro. Vor allem in der Logistik-Branche, bei Transport und Verkehr sind DevOps-Ingenieure stark gefragt und können mit Anfangsgehältern bis zu 5200 Euro rechnen. Softwarefirmen hingegen zahlen deutlich schlechter, hier liegen die Einstiegsgehälter häufig nur bei 2800 Euro. Erfahrene DevOps Engineers hingegen können je nach Branche nach einigen Jahren Berufspraxis mit Jahresgehältern zwischen 70.000 und 75.000 Euro rechnen.

Roland-Freist.jpg

Roland Freist, Jahrgang 1962, begann nach einem Studium der Kommunikations­­wissenschaft ein Volontariat beim IWT Verlag in Vater­­stetten bei München. Anschließend wechselte er zur Zeitschrift WIN aus dem Vogel Verlag, wo er zum stell­­vertretenden Chef­­redakteur aufstieg. Seit 1999 arbeitet er als freier Autor für Computer­­zeitschriften und PR-Agenturen. Seine Spezial­­gebiete sind Security, Mobile, Internet-Technologien und Netz­­werke, mit Fokus auf Endanwender und KMU.


Redaktionsbüro Roland Freist, Fritz-Winter-Str. 3, 80807 München, Tel.: (089) 62 14 65 84, roland@freist.de

Nützliche Links