Skip to main content Suchen

Was ist DevOps?

Was ist DevOps

DevOps stellt die gesamten traditionellen Entwicklungsprozesse in Frage

Es gibt viele Missverständnisse rund um DevOps, die Unternehmen daran hindern, ihr volles Potenzial auszuschöpfen.

Eine Möglichkeit, DevOps zu erklären, besteht darin, dass es von der Vorstellung ausgeht, dass Entwicklung und Betrieb in funktionalen Silos mit widersprüchlichen Zielen angesiedelt sind. Dies führt zu dem sogenannten chronischen Konflikt zwischen Entwicklung und Betrieb, der aufgrund von Übergaben, übermäßiger Bürokratie und mangelnder Autonomie zu schlechten Geschäftsergebnissen führt. DevOps stellt die gesamten traditionellen Entwicklungsprozesse in Frage.

Die DevOps-Bewegung hat diese Silos aufgebrochen, aber es dürstet nach mehr. Sie hat sich über die reine Abdeckung von Dev und Ops hinaus entwickelt und ist über eine Graswurzelbewegung hinaus in die Mainstream-Unternehmensszene vorgedrungen.

Bei DevOps geht es jetzt um Produktmanagement, Standortzuverlässigkeit, technische Exzellenz und eine gesunde Unternehmenskultur. Das Wichtigste an DevOps ist, das Feedback von Endbenutzern in Produktionsumgebungen mit den Entwicklungsteams zu verbinden, damit diese auf die Marktbedingungen reagieren und ihre Konkurrenz ausstechen können.

Erfahrt mehr über DevOps-Transformation.

DevOps-Praktiken, -Tools und -Fähigkeiten

DevOps ist ein Sammelbegriff, der alles umfasst, von Hardcore-Engineering bis hin zum Produktmanagement. Daher ist es ein Missverständnis, wenn in einer Stellenausschreibung für einen DevOps-Ingenieur erwartet wird, dass er sich nur mit der Cloud beschäftigt oder in der Ecke Jenkins-Pipelines und Testumgebungen aufpoliert.

Diese Schwerpunkte sind zwar wichtig, haben aber nur eine begrenzte Wirkung.

Stattdessen geht es bei DevOps darum, eine Kultur des kontinuierlichen Lernens und Experimentierens zu etablieren, damit Unternehmen ihren Kunden den größtmöglichen Wert liefern können: schnell, sicher und effizient.

Eine psychologisch sichere Arbeitsumgebung

Damit Teams auf hohem Niveau arbeiten können, muss psychologische Sicherheit gegeben sein. Eine Möglichkeit, dies zu erreichen, ist die tadellose Nachuntersuchung. Vorfälle werden in organisatorisches Lernen umgewandelt und nicht in eine Gelegenheit für Schuldzuweisungen.

Die Westrum-Typologie der Organisationskultur kann eure Kultur messen und euch Hinweise darauf geben, wo ihr euch verbessern könnt. Dies ist die Grundvoraussetzung für eine verbesserte Zusammenarbeit.

Tooling, Technologie und Automatisierung

Bei DevOps geht es aber auch um Tools und Technologie. Achtet auf Automatisierungsmöglichkeiten und räumt ihnen mindestens genauso viel Priorität ein wie der Arbeit an neuen Funktionen. Wie Gene Kim es ausdrückt: "Die tägliche Arbeit zu verbessern ist wichtiger als die tägliche Arbeit zu erledigen."

Ingenieure sollten über die technologischen Leitplanken verfügen, die es ihnen ermöglichen, zu experimentieren, ohne Angst haben zu müssen, die Produktion zu gefährden. Dies ermöglicht eine Kultur des ständigen Experimentierens.

Diese Leitplanken kommen in Form von automatisierten Test- und Bereitstellungspipelines. Sie optimieren den gesamten Wertstrom für den Fluss von der Entwicklung bis zum Endbenutzer. Dies erfordert ein hohes Maß an Tooling und kontinuierliche Aufmerksamkeit für die Verbesserung eurer Softwarebereitstellungsfähigkeiten.

Alles in allem bietet dies den Unternehmen die technischen und kulturellen Voraussetzungen, um autonome Teams aus motivierten Mitarbeitern aufzubauen, was ein Kerngedanke der agilen Softwareentwicklung ist.

Infrastruktur als Code in der Cloud

Die Cloud und die Containerisierung können beim Testen von Prozessen und Produkten helfen, da ihr ganze Klone eurer Produktionssysteme aufsetzen könnt, um zu testen, ob ihr sie bereitstellen könnt und ob sich eure Anwendung noch so verhält, wie ihr es erwartet.

Container helfen auch bei der Unveränderlichkeit, und ihr müsst nicht mehr darunter leiden, dass ihr mit dem Falschen getestet haben oder Server habt, die ihr pflegt, als wären sie kleine angepasste und zerbrechliche Gärten.

Erstellt stattdessen Container und werft sie weg, wenn ihr mit ihnen fertig seid. Dieser Infrastruktur-als-Code-Ansatz ermöglicht Reproduzierbarkeit, Wiederverwendbarkeit und Rückverfolgbarkeit. Produktionsumgebungen lassen sich jetzt leichter skalieren. Außerdem erhaltet ihr eine Abkürzung zur Bereitstellung von On-Demand-Umgebungen für Ingenieure, was die Feedbackschleifen enorm verkürzt.

DevOps-Plattformen und Entwurfssysteme

Je nach Umfang und Schwerpunkt kann dieses Tooling entweder lokal von einem Plattformteam gewartet oder an Dritte ausgelagert werden, z. B. an unser eigenes Eficode ROOT DevOps-Plattformteam. Eficode ROOT liefert ein komplettes DevOps-Toolpaket, das vollständig verwaltet wird, entweder On-prem oder in der Cloud. So könnt ihr euch auf geschäftsunterscheidende Produkte und Funktionen konzentrieren, anstatt sich um die Wartung der Tools zu kümmern.

Eine hochwertige DevOps-Plattform kann mit einem Entwicklungs- und Designsystem auf die Bedürfnisse des Unternehmens erweitert werden. Design-Systeme helfen Teams:

  • Doppelte Arbeit zu reduzieren
  • Standardkonformen Service für die Produktion schnell bereitzustellen
  • Ein konsistentes Erscheinungsbild und ein einheitliches Kundenerlebnis zu bieten
  • Ihre eigenen Produkte zu entwickeln und gleichzeitig die Vorteile der Skaleneffekte zu nutzen.

Design Systems, erweitert um automatisierte Tests und hochwertige Tools, hilft Unternehmen bei der Skalierung.

DevOps im Maßstab durch einen teamorientierten Ansatz

Das häufigste Hindernis für den Wertstrom von der Entwicklung bis zum Endbenutzer sind Abhängigkeiten zwischen den Teams. Wenn ein Team nicht in der Lage ist, seine Software unabhängig zu veröffentlichen, sei es für interne oder externe Kunden, verliert es die Motivation und die Fähigkeit, auf Benutzerfeedback zu reagieren.

Das bedeutet, dass jede DevOps-Umstellung – eine konzertierte Aktion zur Einführung von DevOps-Tools und -Praktiken – darauf ausgerichtet sein muss, den Teams Autonomie zu ermöglichen.

Das bedeutet nicht, dass die Teams nicht aufeinander abgestimmt sein müssen. Vielmehr sind gezielte Investitionen erforderlich, um die Unternehmensziele und -werte zu verdeutlichen, damit die Teams an einem Strang ziehen können.

Die Teams werden in der Lage sein, die gemeinsame Mission durch die Produkte zu unterstützen, die sie besitzen und freigeben können. Sie haben dann die Kontrolle über die Auswirkungen ihrer Einsätze, wodurch das Risiko für nicht miteinander verbundene Teile des Systems verringert und der Wert für den Endbenutzer maximiert wird.

Zusammenfassung

Wenn ihr

  • eine DevOps-Kultur der psychologischen Sicherheit und des kontinuierlichen Experimentierens
  • eine DevOps-Toolchain, die eine schnelle und sichere Bereitstellung hochwertiger Software für Endbenutzer ermöglicht,
  • autonome und befähigte Teams, die ihre Software selbst in der Hand haben und unabhängig liefern können,

habt, könnt ihr die Vorteile von DevOps zusammen mit anderen Leistungsträgern nutzen.

 

Veröffentlicht:

Aktualisiert:

DevOps