Was ist eigentlich "DevOps" - Definition und Erklärung

Zuletzte aktualisiert:
21.10.2020
Lesezeit:
15 Minuten
Last updated:
October 21, 2020
Time to read:
15 Minuten
Netflix, Amazon und co. haben eine Gemeinsamkeit: Sie alle setzen in der Softwareentwicklung auf die Leitkultur DevOps. Tatsächlich hat die Verschmelzung von “Development” und “Operations” es in kurzer Zeit geschafft, Silos aufzubrechen und die Produktentwicklung deutlich effizienter zu gestalten. Hier findest du die wichtigsten Infos zum Thema.

Der Begriff DevOps steht für die Verschmelzung von “Development” und “Operations” und bezeichnet weniger eine konkrete Methodik, ein Tool oder eine Software, sondern vielmehr eine übergeordnete Idee, Philosophie oder Kultur, mit deren Hilfe Prozesse in modernen Unternehmen verbessert werden.

Software ist das Herz moderner Unternehmen. Sie ist das Gesicht eines Unternehmens, wenn der Kunde mit diesem interagiert. Traditionell ist der Softwareentwicklungsprozess anfällig für verzögerte Projekte, Silodenken oder Komplexität. DevOps ist die strategische Transformation dieses, um existierende Herausforderungen zu beseitigen. In Betrieben mit festen Teamstrukturen bietet DevOps Lösungen, um die Wände zwischen diesen einzureissen und durch verstärkte Kooperation mehr Produktivität zu erreichen.

Rückblick: Das Wasserfallmodell

Um die Vorteile von DevOps besser zu verstehen kann es hilfreich sein, sich mit traditionellen Ansätzen wie dem Wasserfall-Modell auseinanderzusetzen. Dieses ist ein linearer, sequentieller Prozess, in dem die Bearbeitung einer Phase (beispielsweise Anforderungen, Design, Implementierung) die Ergebnisse der vorherigen bedingt. Hieraus entstandene Bottlenecks konnten den Softwareentwicklungsprozess enorm verzögern. Änderungen in den Produktanforderungen können in diesem Modell aufgrund der linearen Struktur zudem nicht reflektiert werden. In der heutigen Welt erscheint dieser Ansatz allerdings enorm unpraktisch, da der stetige Wandel von Umwelteinflüssen, neuen Technologien oder besserer Kundenverständnisse bei gleichzeitig starkem Wettbewerb flexible Reaktionen notwendig machen.

Wasserfall-Modell
Beispiel für ein Wasserfallmodell

Agile Softwareentwicklung

Die Modernisierung im IT-Entwicklungsprozess folgte unter dem Begriff der agilen Softwareentwicklung - einem Ansatz, bei dem stetige Iterationen ein zentrales Element darstellen. Somit findet ein ständiger Austausch zwischen Forschung, Entwicklung und Design statt, in dem regelmäßige Anpassungen keine Herausforderungen mehr darstellen. Doch auch die agilen Methoden alleine stießen auf ihre Grenzen - Während Entwickler von verbesserten Prozessen profitierten, wurde ein wichtiger Teil des Prozesses noch zu getrennt betrachtet - dem IT-Betrieb bzw. Operations.

Der DevOps-Ansatz

Die ganzheitliche Betrachtung von Entwicklung und Operations zugleich und die Maßnahmen zur Optimierung dieser Zusammenarbeit werden seit 2009 als DevOps bezeichnet.

Um Entwicklung und Operations nahe zusammenrücken zu lassen, sind enge Feedback-Schleifen ebenso zentral in der DevOps-Philosophie wie einige weitere Grundprinzipien:

  • Simultane Bearbeitung von Aufgaben
  • Einheitliches Mindset und das Teilen von Ideen
  • Tools zur Automatisierung jeder Phase des Zyklus

In nahezu jedem größeren (Tech-)Unternehmen mussten traditionelle IT-Prozesse für eine ganzheitliche Implementierung der DevOps-Philosophie weichen. Die cloudbasierte IT-Architektur des Streaminggiganten Netflix erlaubt beispielsweise mehrere hundert Deployments pro Tag - dank umfassender Implementierung von DevOps.

Einige Vorteile von DevOps umfassen

  • Schnellere Prozesse und somit frühere Releases
  • Weniger Iterationen
  • Weniger manuelle Arbeit
  • Mehr Effizienz
  • Frühe Erkennung und Beseitigung von Problemen

Master

Softwareentwicklung

We will help you to complete your skillset and become better at work - tailored to you and your needs.

Start Learning now for free

Werde besser in

Softwareentwicklung

PM-Training für Teams. 60 Minuten pro Woche sind genug.

jetzt kostenlos testen
Die acht Phasen des DevOps-Zykluses

Der DevOps-Prozess besteht im Grunde aus acht sich durchgehend wiederholenden Phasen. Leitmotiv ist hierbei die stetige Implementierung von neuen Erkenntnissen, insbesondere von Feedback aus der MONITOR bzw. OPERATE-Phase.

  • PLAN: Definition von Businessentscheidungen und Anforderungen. Beispielsweise Entscheidung über zu nutzende Software/Tools und Algorithmen sowie weiterer grundsätzlicher Rahmenendetails.
  • CODE: Erstellung des Softwaredesigns bzw. des Codes
  • BUILD: Verwalten verschiedener Builds bzw. Softwareversionen. Nutzung von Code repositories zum Verpacken des Codes.
  • TEST: Kontinuierliches Testen des Codes, um Fehler frühzeitig zu identifizieren und hohe Qualität zu gewährleisten.
  • RELEASE / DEPLOY: Release des Produkts. Umfasst auch Maßnahmen und Tools zur Terminierung, Koordinierung und Automatisierung dieses.
  • OPERATE: Operativer Betrieb der Software.
  • MONITOR: Überwachung, Sammlung und Analyse von softwarebezogenen Daten. Erkenntnisse aus dem Softwarebetrieb werden an die Entwicklung übergeben.
  • FEEDBACK: Grundprinzip des DevOps Lifecycles und somit durchgehend implementiert.

In den vergangenen Jahren hat sich eine Vielzahl von (Tech-)Unternehmen für die Einführung der DevOps-Unternehmenskultur entschieden.

Zur erfolgreichen Einführung können einige Leitprinzipien herangezogen werden. So ist es zunächst empfehlenswert, Transparenz bezüglich des Prozesses zu schaffen und Blockaden zu lösen. Grundelemente wie agiles Arbeiten mögen je nach Unternehmen noch nicht in der Arbeitsweise der Teams angekommen sein. Der Prozess der Feststellung des Status Quo wird auch Discovery-Phase genannt. Hierbei werden Elemente wie agile Methoden, Scrum oder Service und Management-Systeme untersucht. Ebenso wird das aktuelle Vorgehen bzgl. kontinuierlicher Anpassungen (CD - Continuous Delivery bzw. CI - Continuous Integration) als Gegensatz zu Wasserfallmodellen hinterfragt. Hierbei werden oft recht zügig Blockaden deutlich, die einen DevOps-Ansatz zuvor unmöglich gemacht haben. Je stärker die unternehmensinternen Silos sind, umso mehr Aufwand bringt die Implementierung des DevOps-Ansatzes mit sich. Dasselbe gilt aber somit auch für das Potential, das im Unternehmen steckt und bei der Modernisierung der Softwareentwicklung geweckt wird.

Eine starke Führung, die auf die Bedenken Einzelner eingeht ohne das Ziel vor Augen zu vergessen, kann hier den Unterschied machen. Rollenmodelle mit Erfahrung in DevOps helfen, um die Kultur in die Teams zu tragen und Fragen schnell aufzulösen. In diesem Zusammenhang wird auch eine offene und faire Fehlerkultur nahegelegt. Neue Prozesse sind meist nicht sofort perfekt und nur durch genaue Analyse aufkommender Probleme kann frühzeitig entgegengewirkt werden. Offenes Äußern von Bedenken sollte daher immer belohnt werden. Jeder Fehler ist ein Potential, besser zu werden. Irren ist menschlich. Ein offenes Umfeld schafft neben zufriedeneren Mitarbeitern auch langfristig bessere Ergebnisse. Wenn zudem ein gemeinsames Verantwortungsgefühl aller Mitarbeiter geschaffen wird, verstärkt dies die Eigeninitiative und den Antrieb dieser.

Die DevOps Philosophie ist grundlegendes Element in einer Vielzahl an Unternehmen, darunter etwa Amazon, Netflix, Target, Etsy und Walmart.

Das folgende Video gibt einen spannenden Einblick darin, wie DevOps bei Netflix gelebt wird.

Der Begriff "DevSecOps" setzt sich aus den Begriffen "Development" (Softwareentwicklung), Security (IT-Sicherheit) und Operations (IT-Betrieb) zusammen und beschreibt die Erweiterung des DevOps-Prinzips um die IT-Sicherheit. Gerade komplexe Sicherheitsanforderungen können Prozesse potenziell stark ausbremsen. Auch die IT-Sicherheit ist ein wichtiger Stakeholder im DevOps-Ansatz, der vollumfänglich in den Prozess mit einbezogen werden muss. Da Updates aufgrund häufiger Entwicklungszyklen innerhalb weniger Tage oder Wochen implementiert werden können, muss auch die IT-Security schnell auf Veränderungen der Anforderungen reagieren. Eine kontinuierliche Überprüfung des Codes auf mögliche Schwachstellen ist somit unabdingbar.

Durch die Möglichkeit Softwareanpassungen jederzeit zu testen, reduzieren Unternehmen Kosten für auftretende Probleme und somit von negativen Kundenerfahrungen. Auch das Zusammenspiel zwischen Entwicklung, Operations und IT-Sicherheit profitiert von Automatisierung. Die Runtime Application Self-Protection (RASP) beispielsweise schützt Applikationen durchgehend und meldet Angriffe selbständig. Automatisierung kann verletzbare Komponenten schon während der Entwicklung schützen, indem automatische regelmäßige Scans Sicherheitsprobleme aufdecken, die dann frühzeitig behoben werden können. Diese Automatisierung geht über die DEPLOY-Phase hinaus, wodurch auch bereits veröffentlichte Anwendungen nahtlos überwacht werden.

Im DevOps Prozess sind verschiedene Parteien mit unterschiedlichen Zielen und Routinen involviert. Die Auflösung dieser unternehmensinternen Silos ist eines der Hauptziele.

  • Entwickler: Verfassen den Code, entwickeln die Applikation und stellen diese in einer (Test)-umgebung bereit.
  • Tester: Überprüfen die Funktionalität des Entwickleroutputs. Mancchmal in Form von dedizierten Testteams, manchmal als Teilverantwortung anderer Teilnehmer. Qualitäts- und Sicherheitstesting.
  • Operations: Die zweite Hauptkomponente neben der Entwicklung. Verantwortlich für die tatsächliche Ausführung der Applikation im operativen Geschäft.
  • Architektur: Etwa Technische Architekten, Solution Architects - Definieren technische Standards und Rahmenbedingungen in der PLAN-Phase
  • Business: In der Regel Product Owner oder Produktmanager in Zusammenarbeit mit Business Analysten oder anderen Stakeholdern.

Traditionell existieren oft Vorbehalte zwischen diesen Teams, die Kommunikation ist eingeschränkt.

Durch die engere Zusammenarbeit zwischen Entwicklung und Operations kann ein DevOps-Engineer im Grunde als eine Mischung aus Software Developer und System Engineer, also Administrator, bezeichnet werden. Dies macht die Aufgaben des DevOps Engineers überaus vielseitig. Als zentrale Anlaufstelle ist er im Grunde für alle Phasen des DevOps-Lebenszyklus verantwortlich - von der Planung der Entwicklungstools bis zur Implementierung von Feedback. Ein DevOps-Engineer ist sehr stark an den verschiedenen Phasen des Entwicklungsprozesses beteiligt. Durch häufige kleine Iterationen bzw. Produktupdates ist er deutlich näher am Kunden als dies bei herkömmlichen Softwareentwicklern der Fall wäre. Damit einher geht auch ein übergeordnetes Verantwortungsgefühl, über einzelne Teams hinweg. Während einzelne Aufgaben verschiedenen Teams zugeordnet werden können, trägt im DevOps-Ansatz jedes Mitglied eine eigenständige Teilverantwortung für das Gelingen eines Produkts.

Konkret schaut ein DevOps Engineer den verschiedenen Teams über die Schulter. Er ist in den Entwicklungsprozess involviert und steuert proaktiv Insights aus dem operativen Bereich in die Entwicklung ein, sodass Entwicklungszyklen minimiert werden können. Mit diesem übergeordneten Blick erkennt ein DevOps-Engineer frühzeitig Anomalien im Processing und bewirkt somit fließendere und effizientere Entwicklungsphasen.

DevOps-Engineers sind extrem gefragt - und zwar so sehr, dass sie die gefragteste Position auf LinkedIn ausmachen. Wichtige Voraussetzungen, um ein DevOps-Engineer zu werden beinhalten neben einem Grundverständnis für IT, IT-Security und Programmierkenntnissen auch ausgeprägte Englischkenntnisse. Auch Team-und Lernfähigkeit sind wichtige Eigenschaften. Alles, was du zum Beruf des DevOps Engineers wissen musst, lernst du in unserem kombinierten Track für DevOps und Ruby on Rails.

Auch aufgrund der verstärkten Nachfrage können angehende Devops-Engineers in Deutschland mit Bachelorabschluss mit einem Einstiegsgehalt von rund 49.000€ - 54.000€ Brutto rechnen. Ein Masterabschluss hebt diesen Wert auf etwa 51.000€ - 62.000€, abhängig vom jeweiligen Unternehmen. Die lukrativsten Branchen für DevOps sind in den Bereichen Logistik, Transport und Verkehr angesiedelt. Hier liegt der Verdienst bei etwa 5.200€ im Monat, während etwa die Softwarebranche nur knapp mehr als die Hälfte (2.800€) im Durchschnitt auszahlt.

In jedem Falle ist das Gehalt jedoch stark abhängig von der praktischen Berufserfahrung und steigt mit den Jahren stetig an. Auch Sicherheit in den relevanten Fähigkeiten, wie etwa fachbezogenes Wissen zu den einzelnen DevOps-Tools oder Soft Skills wie die Fähigkeit zur Kollaboration haben einen Einfluss auf den Verdienst.

Meistere

Softwareentwicklung

PM-Training für Teams. 60 Minuten pro Woche sind genug.

jetzt kostenlos testen

Master

Softwareentwicklung

We will help you to complete your skillset and become better at work - tailored to you and your needs.

Start Learning now for free

Similar articles

Weitere Artikel