Pivotal + VMware: Transforming how more of the world builds software

DevOps: Eine Kooperationskultur für die schnelle und zuverlässige Bereitstellung von Software


Es gibt immer mehr Belege dafür, dass eine sorgfältig gestaltete und robuste DevOps-Praxis für stabilere Installationen mit kürzeren Entwicklungszyklen sorgen kann und gleichzeitig die Wiederherstellung sowie Softwareupdates beschleunigt.

Warum DevOps wichtig ist

Schnellere Markteinführung

In einer von Software bestimmten Welt hängt Erfolg entscheidend davon ab, ob es einem Unternehmen gelingt, schnell Software zu erstellen und auszuliefern und dabei die Anforderungen der Kunden immer besser zu verstehen und zu erfüllen. Nur so kann es sich im Konkurrenzkampf behaupten. Zwischen verteilten Komponenten in moderner Unternehmenssoftware gibt es komplexe wechselseitige Abhängigkeiten. Ausgereifte DevOps-Abläufe können Kommunikationsfehler und Verzögerungen verhindern und durch das gemeinsame Know-how von Entwicklern und Administratoren für eine zielgerichtete und reibungslose Auslieferung sorgen. Aus dem „2016 State of DevOps Report“ geht hervor, dass Unternehmen, die DevOps praktizieren, im Durchschnitt 200 mal so viele Installationen zählen und ihre Auslieferungsdauer (die Zeit zwischen der Absicht, Code zu installieren, und der produktiven Nutzung dieses Codes) um den Faktor 2555 verkürzen können. Ähnliches berichten auch andere Branchenstudien, wie sich aus dem folgenden Diagramm von Gartner ersehen lässt. Dieses listet zudem noch weitere Vorteile durch den Umstieg zu DevOps auf.


Frage: Welche der folgenden Ergebnisse hat DevOps in Ihrem Unternehmen bewirkt?

Teilnehmer: n=95 Mitglieder des Gartner Research Circle, die DevOps einsetzen

[Quelle: Gartner; Five Questions I&O Leaders Should Ask Before Funding a DevOps Initiative; October 2016]

Beobachtete Auswirkungen der DevOps-Nutzung




Geringeres Risiko und reibungsärmere Installation

Unternehmen entwickeln, installieren, skalieren, sichern und patchen moderne Anwendungen und sorgen für hohe Verfügbarkeit. All das zu koordinieren, ist eine komplexe Aufgabe mit vielen potenziellen Stolpersteinen. Eine DevOps-Kultur, die beim Paketieren, Installieren, Überwachen und Verwalten von Software auf Zusammenarbeit und Automatisierung setzt, sorgt für Konsistenz und beschleunigt die Produktivsetzung von neuem und aktualisiertem Code. DevOps-Teams lernen permanent dazu und können dadurch die meisten Problemquellen identifizieren und abstellen. Das zahlt sich aus durch einen robusteren, geradlinigeren, wiederholbaren und ausgereiften Prozess für die regelmäßige, problemlose Installation und Produktivsetzung von Software.


Schnellere Wiederherstellung

Mit DevOps ist ein Unternehmen gut aufgestellt, bei Produktions- und anderen Ausfällen durch fehlerhaften Code die genaue Ursache zu ermitteln und zügig zu beheben. Da der Großteil der Vorgänge zur Veröffentlichung und Verwaltung weitgehend automatisiert abläuft, kann ein gemeinschaftlich arbeitendes DevOps-Team die Fehlerursache schnell ermitteln und Änderungen bzw. Patches einspielen. Aus dem „2016 State of DevOps Report“ geht sogar hervor, dass diese schnellen und strukturierten DevOps-Reaktionen auf unerwartete Probleme im Produktivbetrieb im Durchschnitt 24 mal schneller eine Lösung herbeiführen und Änderungen dreimal seltener fehlschlagen.


Zufriedenere Kunden, marktgerechtere Produkte

Die rasche und zuverlässige Bereitstellung von Funktionen oder Bugfixes belegt nicht nur die Reaktionsschnelligkeit und steigert die Kundenzufriedenheit, sondern ermöglicht auch schnelles Feedback und eine schnellere Einsatzreife der Funktionen, die den Nutzern am wichtigsten sind. Das Kernstück dieser fortlaufenden Softwarepflege und der schnellen Bereitstellung ist DevOps. Nur durch die enge und andauernde Zusammenarbeit zwischen Entwicklern und Administratoren bei der Organisation dieser komplexen Vorgänge ist es möglich, moderne und sofort einsatzbereite Softwarefunktionen dauerhaft in diesem raschen Takt zu entwickeln, zu testen und auszuliefern.


DevOps und herkömmliche Ansätze im Vergleich

DevOps bringt unterschiedliche Denkweisen und neue Prozesse in Softwareunternehmen. Unten finden Sie die wichtigsten Punkte, in denen sich DevOps von herkömmlichen Arbeitsweisen unterscheidet.


Der große Unterschied: DevOps und herkömmliche Ansätze im Vergleich
Die wichtigsten Merkmale von DevOps
Die wichtigsten Merkmale herkömmlicher Arbeitsweisen
Zusammenarbeit. Für eine erfolgreiche DevOps-Arbeitsweise müssen Softwareentwickler und Admin-Teams eng zusammenarbeiten, permanent und produktiv, damit die Software schnell und zuverlässig entwickelt und ausgeliefert wird. Isolierte Komponenten. Bei der herkömmlichen Arbeitsweise wird ein Produkt von einer Stelle an die nächste weitergeleitet, und dann heißt es „Aus den Augen, aus dem Sinn“. So fällt der IT-Administration dann die Aufgabe zu, mit bestenfalls minimaler Unterstützung durch die Entwickler Software zu installieren und den Produktivbetrieb am Laufen zu halten.
Strukturiert und weitgehend oder vollständig automatisiert. Die Automatisierung ist eine wichtige Säule von DevOps und gewährleistet bei der Bereitstellung und Konfiguration von Umgebungen Tempo, Konsistenz und Wiederholbarkeit. Dadurch wird sichergestellt, dass, was in der Entwicklungsumgebung funktioniert, auch in der Produktivumgebung funktioniert. Eine strukturierte Herangehensweise dient auch der schnelleren Wiederherstellung im Fehlerfall, denn wiederholbare und automatisierte Vorgänge erleichtern Rollbacks und die Wiederherstellung. Heterogene, manuell gesteuerte Umgebung. Herkömmliche Strukturen nutzen zur Bereitstellung und Konfiguration der Infrastruktur spontane Kombinationen aus Skripten und manuellen Vorgängen, sodass die Konfiguration von Server zu Server unterschiedlich ist. Dadurch ist es schwierig, Server schnell und beim ersten Versuch richtig zu konfigurieren oder mehrere identisch konfigurierte Entwicklungs- und Produktivumgebungen bereitzustellen. Dies ist die Quelle zahlreicher Probleme.
Self-Service. DevOps liefert Rahmenbedingungen für die Zusammenarbeit und die Automatisierung, damit Entwickler und Administratoren unabhängig agieren können, ohne die jeweils andere Seite zu behindern. So können Entwickler zum Beispiel über automatisierte Abläufe rasch Entwicklungs- und Testumgebungen bereitstellen, statt auf die manuelle Bereitstellung durch die IT-Administration zu warten. Ticket-System. Herkömmlicherweise übernimmt die IT-Administration die Verwaltung von Störungsmeldungen sowie repetitive und komplexe Aufgaben zur manuellen Bereitstellung und Konfiguration, die sich jedoch leicht automatisieren ließen. Das erhöht den Aufwand und führt zu Verzögerungen bei Bereitstellung, Installation, Skalierung und weiteren Aufgaben rund um die Softwarebereitstellung und -verwaltung.
Konzentration auf den Geschäftserfolg. Wo ein DevOps-Ansatz verwendet wird, konzentrieren sich alle Teams gemeinsam auf den Unternehmenserfolg. So wird die Verantwortung für die erfolgreiche Auslieferung von Software zur Gemeinschaftsaufgabe. Konzentration auf den eigenen Verantwortungsbereich. Klassisch ist eine Aufgabenteilung, bei der sich die Entwicklungs- und Administrationsteams auf ihre Kernaufgaben konzentrieren. Für den Erfolg des Projekts als Ganzes sind sie nicht direkt (und schon gar nicht allein) verantwortlich. Wenn in dieser Situation Probleme auftreten oder Systeme ausfallen, kommt es zu gegenseitigen Schuldzuweisungen und Spannungen zwischen den Abteilungen.
Problemlose Änderungen. Die DevOps-Arbeitsweise ist von Natur aus automatisiert, wiederholbar und schnell. Schnelle Änderungen lassen sich ebenso sicher handhaben wie die zügige Wiederherstellung nach einem Ausfall. Geschwindigkeit gehört bei DevOps dazu. Änderungsvermeidung. Herkömmliche Ansätze vermeiden nach Möglichkeit Änderungen in Produktionsumgebungen, da diese zu Problemen und möglicherweise sogar langen Ausfällen führen könnten. Die Verantwortlichen bemühen sich daher, Änderungen und Updates auf ein Minimum zu reduzieren und bremsen damit die Dynamik im Unternehmen.
Kontakt