• ADACOR
  • FILOO
Adacor - Hosting

Wann DevOps für Unternehmen sinnvoll ist

DevOps birgt für IT-Organisationen und deren interne oder externe Kunden ein enormes Potenzial. Experten sprechen von High-Performance-IT-Organisationen mit vielen Vorzügen: Sie rollen häufiger neue Releases aus, beheben Softwarefehler schneller, verzeichnen weniger Ausfälle und bieten kürzere Durchlaufzeiten als etablierte Betriebskonzepte. Wer Software entwickelt und betreibt, für den ist DevOps inzwischen obligatorisch. Aber was genau ist DevOps, für welche Unternehmen eignet sich der Ansatz und welche Voraussetzungen müssen für eine erfolgreiche Einführung geschaffen sein?

Was ist DevOps und was ist es nicht?

Grundsätzlich variieren die Ziele, die Unternehmen mit DevOps für sich und ihre Projekte erreichen wollen. Unabhängig von der jeweiligen Intension sollte jedoch allen Beteiligten klar sein, was DevOps ist. Es ist mehr als eine Sammlung von Methoden, Tools und Vorgehensweisen. DevOps ist eine Unternehmenskultur!

Im Kern geht es darum, die Prozesse zwischen der Softwareentwicklung (Development – kurz: Dev) und der Systemadministration oder dem IT-Betrieb (Operations – kurz: Ops) zu verbessern und schnellere und stabilere Anwendungen bereit zu stellen. Ursächlich ist dabei der Zielkonflikt zwischen agilem Development und Betrieb:


Development → viele Changes um viel und regelmäßig (Scrum) neue Features releasen zu können.

Operations → never change a running system.


Eine gemeinsame Kultur, Ziele, Anreize, Prozesse und Werkzeuge sollen die Zusammenarbeit zwischen den Bereichen verbessern und die IT-Prozesse von der Konzeptionierung bis zur Nutzung durch den Endkunden beschleunigen. Daraus ergeben sich die folgenden Vorteile:

  • Abbau von Silos und Mauern zwischen Dev und Ops durch gemeinsame Verantwortung und crossfunktionales Arbeiten.
  • Administratoren werden mehr zu Entwicklern und Entwickler mehr zu Administratoren. Damit entsteht der DevOps Engineer.
  • Tools & Prozesse ermöglichen autonomes, fehlertolerantes und automatisiertes Arbeiten.

Welche Voraussetzungen braucht die Einführung von DevOps?

Moderne agile Softwareentwicklung denkt nicht mehr in großen, umfassenden Releases neuer Softwareversionen, sondern in iterativer kontinuierlicher Weiterentwicklung einzelner Funktionen. Diese erhalten die Kunden über regelmäßige oder sogar kontinuierliche Releases.

Dies bedingt ein Umdenken bei Operation Teams, deren Arbeit sich vom Einspielen von Releases, Testing und Betrieb der Plattformen sich dahin entwickelt Tools bereit zu stellen, die die Entwickler autonomer arbeiten lassen, sowie Tests und Deployments automatisieren.

Wie sich die DevOps-Kultur erfolgreich im Unternehmen etablieren lässt, beschreibt John Wills, einer der wichtigsten Wegbereiter für DevOps, in fünf Grundprinzipien. Wir bei Adacor bauen auf diesen Prinzipien auf und haben diese durch unsere eigene Praxiserfahrungen mit weiteren Leitlinien ergänzt:

Schon up to date?

Jetzt den ITQ-Newsletter abonnieren und Top-Infos erhalten!

Nein, Danke.

1. Culture

Ein vertrauensvolles Umfeld entsteht, wenn es gelingt die Grenzen zwischen den Bereichen „Dev“ und „Ops“ zu durchbrechen. Entwickler und Administratoren müssen an einem Strang ziehen und eng zusammenarbeiten. Zahlreiche Unternehmen setzen dafür ihre Teams völlig neu zusammen. Die IT-Fachkräfte werden dann nicht mehr mit Einzelaufgaben für separate Produkte oder Projekte betraut. Vielmehr bilden sie crossfunktionale Teams aus Entwicklung und Betriebsmanagement (Admins) und begleiten ein Produkt oder Projekt gemeinsam während der gesamten Lebensdauer. Wichtig ist, dass die IT-Fachleute den durchgehenden Wertefluss des Projektes verstehen, sich kontinuierlich austauschen und die Prozesse analysieren.

2. Automation

Verbesserungen werden am besten mit der Automatisierung von Prozessen erreicht. Automatisierung schafft Strukturen, beschleunigt Abläufe, vermeidet Fehler und spart Zeit. Damit eröffnet DevOps die Chance, eine kurze „Time-to-Market-Zeit“ zu erreichen und damit Wettbewerbsvorteile zu nutzen. Notwendiger Nebeneffekt der Automatisierung: Die Entwickler werden autonomer.

3. Lean

Sämtliche Ziele gilt es ohne Verschwendung von Ressourcen zu erreichen. Prozessoptimierung ist immer ganzheitlich. Dafür braucht es Transparenz und den Willen zur Veränderung. Damit sich die Teams auf die Entwicklung und Verbesserung der Produkte und Projekte konzentrieren können, sollten diese Routinen möglichst automatisiert ablaufen und keine Ressourcen binden. Das gilt für alle IT-basierten Prozesse: Internet- und Intranet-Anwendungen unterliegen ebenso wie Serverlösungen kontinuierlichen Aktualisierungen. In einem effektiven DevOps-Prozess sorgt Veränderung für Stabilität. Besonders in komplexen Projekten macht es Sinn, Neuerungen und „Changes“ kontinuierlich in kleinen Schritten gesteuert umzusetzen. Dadurch werden Risikofaktoren schneller erkannt und Fehler früher gemacht, wo sie noch nicht so teuer sind. Wer stets versucht, Schaden von einem System fernzuhalten, indem Veränderungen abgelehnt werden, kommt schnell an seine Grenzen. Dann müssen große Veränderungen auf einmal unter dem Druck des Marktes gestemmt werden.

4. Measurement

Eine kontinuierliche Prozessverbesserung kann nur mit einheitlichen Bewertungskriterien erzielt werden. Die Erfolgs- und Bewertungskriterien müssen dabei idealweise für alle Rollen (Dev und Admin) im Team einheitlich sein. Google verfolgt hier ein interessantes Konzept, dass statt „Verfügbarkeit“ von „Fehlerbudget“ spricht. Die Entwickler- und Betriebsteams haben ein Fehlerbudget für Ausfälle. Ist dieses überschritten müssen Sie erst gemeinsam Stabilität in die Anwendung bekommen bevor neue Features released werden dürfen.

5. Sharing

Alle Beteiligten müssen bereit sein, ihr Wissen zu teilen, voneinander zu lernen und Erkenntnisse proaktiv mitzuteilen. Idealerweise verschwimmen die Grenzen zwischen Admins und Entwicklern und beide Rollen sehen sich irgendwann als DevOps Engineers. Silodenken, Knowledge-hoarding oder Aussagen wie „das ist nicht meine Aufgabe“ sind an dieser Stelle natürlich fehl am Platz.

Diese Grundprinzipien haben wir bei Adacor um zwei weitere ergänzt:

6. Kosten- und Nutzenprüfung

Um die Vorteile für eine DevOps-Einführung abzuwägen, hilft Unternehmen eine Kosten- und Nutzenprüfung. Wer zum Beispiel auf den eigenen Systemen proprietäre Software betreibt, hat kaum Möglichkeiten die Entwicklung zu beeinflussen. In diesem Fall ist ein DevOps-Team überflüssig. Dann können sich aus der Überprüfung der Abläufe und Prozesse der eigenen, traditionellen IT-Landschaft Lösungen ergeben, die das System schneller laufen lassen. Alternativ können die Entwickler ganz von vorne anfangen. Viele Unternehmen lassen diesen wichtigen Punkt außer Acht. DevOps und Agilität sind trendy, deshalb steigen hier viele ein. Ob die Einführung aber vorteilhaft oder notwendig ist, wird oftmals nicht hinterfragt.

7. Optimale Entwicklungsumgebung

Erfolgreiche IT-Unternehmen schaffen ideale Entwicklungsumgebungen: So bietet eine Cloud beste Voraussetzungen für erfolgreiche DevOps-Projekte. Dort lassen sich umfangreiche Entwicklungsplattformen inklusive Test- und Staging-Umgebungen sowie Versionsverwaltung und Automatisierungstools implementieren, die virtuell reale Bedingungen abbilden. Die produktive Infrastruktur bleibt vom Entwicklungsprozess weitgehend unberührt

Der IT-Experte Donovan Brown von Microsoft hat außerdem vier Tipps, wie Unternehmen erfolgreich mit DevOps starten:

  1. Sorge dafür, dass jedes Mal, wenn Entwickler den Code ändern, diese eingebaut werden.
  2. Stelle sicher, dass die Testumgebung deckungsgleich zu Produktivumgebung ist.
  3. Finde Wege, um automatisierte Tests zu ergänzen und führe diese mehrfach durch.
  4. Erweitere die Pipeline schrittweise und weite DevOps sukzessive aus.

Hürden bei der Einführung von DevOps

Der praktische Erfolg von DevOps stellt sich dann ein, wenn erreicht wird, dass Mitarbeitende und Kunden umdenken. Das alte Operations-Motto „Never change a running system!“ gehört der Vergangenheit an. Die Entwickler müssen sich nicht mehr allein neuen Business-Anforderungen stellen. Mit DevOps lautet die Devise: Alle ziehen im Sinne eines wirksamen „Value Flow“ gemeinsam an einem Strang! DevOps hebt den Gegensatz auf „schnell, aber gepfuscht“ oder „langsam, dafür aber stabil“.

Selbst eingespielte Teams aus Entwicklern und Betriebsmitarbeitenden, die plötzlich zusammen in einem Raum sitzen, müssen mit der neuen Denkweise vertraut gemacht werden. Häufig sind Hürden zu überwinden, bis die Zusammenarbeit reibungslos funktioniert. Trotzdem wird es weiterhin IT-Projekte geben, in denen es nicht gelingen wird, die Entwicklung und den Betrieb konzeptionell und organisatorisch zu einer erfolgreichen Zusammenarbeit zu bewegen. Dessen sollte man sich vor der Einführung von DevOps bewusst sein. Dennoch müssen solche Vorhaben beweglicher werden, um agiler und schneller auf die Businessanforderungen im Rahmen der Digitalisierung reagieren zu können. Entsprechend Ansätze und Denkweise helfen schon mal weiter. Ein Anfang sind zum Beispiel eine offenere Kommunikation sowie Ziele, die gemeinsam definiert und bearbeitet werden.

Viele Unternehmen müssen von vorne anfangen

Wer eine Software erfolgreich entwickeln und betreiben möchte, für den ist DevOps ein Muss. Die Maßnahmen zur Prozessverbesserungen lassen sich jedoch nicht mal eben in ein Bestandprojekt integrieren, sondern sind ein umfassender DevOps-Prozess. In diesem werden zahlreiche agile Iterationsrunden gedreht, bevor eine funktionierende und stabil betriebene Applikation herauskommt, die wöchentliche, tägliche oder sogar kontinuierliche Releases verkraftet. Es ist viel initiale Projektarbeit nötig, um die erforderlichen Konzepte, Abläufe und Technologien aufeinander abzustimmen.

In den einzelnen Bereichen (Dev oder Ops) wird es weiterhin Spezialisten für den Betrieb und Spezialisten für die Entwicklung geben. Der eigentliche Betrieb wird von – im Bereich DevOps und einer darauf abgestimmten Technologie ausgebildeten – Experten durchgeführt werden. Auch bei der Realisierung von DevOps werden Spezialisten gebraucht.

Themen wie „administrativer Zugriff auf die Shell“ werden dann nicht mehr diskutiert, sie werden im Idealfall überflüssig. Die Administratoren oder die Softwareentwickler selbst „pflegen“ gemäß dem Cattle-/Cat-Prinzip eine Vielzahl der Systeme nicht mehr. Sie nutzen diese nur noch für ihren exakt bestimmten Zweck und eine potenziell kurze Zeit. Ob es sich um Container, virtuelle Server oder andere Abstraktionen handelt, spielt dabei keine Rolle. Wichtig ist, dass die Entwickler selbst in der Lage sind, die Ressourcen zu verwalten und das Einspielen der Releases zu managen.

Was ist das Cattle-/Cat-Prinzip?

Als „Cat” werden Server mit eigenem Namen (zum Beispiel garfield.example.com) bezeichnet. Der Name dient nicht nur zur Server-Erkennung, sondern lässt erkennen, dass die Maschine per Hand großgezogen und für ihre Rolle ausgewählt wurde. Wenn auf solchen Servern ein Problem entsteht, werden sie wie ein Haustier beziehungsweise ein Kätzchen sorgsam umsorgt und gepflegt, bis sie wieder gesund sind.
„Cattle”, das Nutztier, stellt das andere Ende des Spektrums dar. Hier haben die Server meistens keinen eigenen Namen, sondern nur Nummern wie web001.example.com. Die virtuellen Maschinen werden in der Regel über ein Skript angelegt und mit ihrer Konfiguration bespielt. Der Server mit der Nummer Eins ist quasi identisch mit web002.example.com und anderen Servern mit derselben Aufgabe. Wenn auf einem der Server ein Problem auftritt, wird er gelöscht und ein neuer aufgesetzt.
Eine Definition des Cat- und Cattle-Prinzips und den verschiedenen Anwendungsmöglichkeiten haben wir in unserem Blog bereits veröffentlicht.

DevOps und Agilität

DevOps reagiert auf kürzere Release-Intervalle mit hoher Automatisierung und interdisziplinären Teams – das bedeutet eine höhere Komplexität von IT-Projekten. Zusätzlich sind in großen Unternehmen und Konzernen oft mehrere Releases zeitgleich in Vorbereitung. Sie befinden sich in unterschiedlichen Phasen von Entwicklung, Test, Integration und Deployment. Unternehmen, die DevOps umsetzen, verabschieden sich deshalb weitestgehend von etablierten Prozessen und setzen stattdessen auf agile Arbeitsweisen wie Scrum. Aus selbstorganisierenden Teams ergeben sich die besten Architekturen, Anforderungen und Designs. Solche Teams reflektieren in regelmäßigen Abständen ihre Arbeit. Dabei finden sie Lösungen, wie sie noch effektiver werden können. Ihr zukünftiges Verhalten passen sie daraufhin an und schaffen damit nachhaltige Entwicklungen.

DevOps bei Adacor

Bei Adacor arbeiten wir in unserer Entwicklungsabteilung schon lange agil nach Scrum und haben die Tools und Prinzipien auch in anderen Bereichen wie Marketing oder People Operations verankert. Wir haben zwar noch keine crossfunktionalen DevOps Teams aber die Zusammenarbeit zwischen Development und Technology Operations, die die interne Virtualisierungsplattform bereitstellen ist sehr intensiv und darauf ausgerichtet die Entwickler immer autonomer werden zu lassen.

In unseren Managed Cloud Projekten mit Kunden verstehen wir uns als echter DevOps Partner und versuchen die Entwickler auf Kundenseite mit allen Tools und Prozessen zu unterstützen, damit eine moderne, agile Projektinfrastruktur entstehen kann.

Fazit: An DevOps führt kein Weg vorbei

Die Anforderungen an die IT wachsen weiter, vor allem in Bezug auf die Geschwindigkeit. Dabei stammen die Vorgaben selten aus der IT selbst, sondern werden aus Fachabteilungen oder durch das jeweilige Geschäftsmodell an Sie herangetragen. Gefordert sind schnelle Reaktionen auf Veränderungen, eine offene Sichtweise und ein vorausschauendes Tun und Handeln. IT-Teams, die gemeinsam, schneller und in kürzeren Taktzyklen liefern, sind für diese Anforderungen bestens aufgestellt. Dafür kann die Einführung der DevOps-Kultur hilfreich sein.

Im Vorteil sind Unternehmen, die agil starten und im ersten Schritt kleine, überschaubare Bereiche verändern. Zunächst sollten Erfahrungen in agilen Methoden gesammelt und die „traditionell“ gemanagte IT nicht generell und grundlos in Frage gestellt werden. Nicht jede traditionelle IT-Landschaft kann komplett auf agile Methoden umgestellt werden. Allen, die in der IT arbeiten, sollte bewusst sein: Ein System ist niemals fertig. Es muss sich entwickeln und bereit für Veränderungen sein.

Der Wettbewerb um den „Digital Customer“ ist in fast alle Branchen in vollem Gange. Nicht nur dass Kundenwünsche sich immer schneller verändern und stets Innovationen erfordern, auch Businessoperationen wie Zahlungsmethoden, Logistikwege oder der Zugang über mobile Endgeräte befinden sich in einer stetigen Transformation. IT-Teams, die gemeinsam, schneller und in kürzeren Taktzyklen liefern, sind für diese Anforderungen bestens aufgestellt. Wie gesagt: An DevOps führt kein Weg vorbei!

Schließen Sie sich über 1.300 IT-Experten an.
Alle 14 Tage Top-Infos zu Cloud, Hosting und Management erhalten.

Tags: , , , ,

Verwandte Artikel