Wer nicht gerade in der IT-Branche arbeitet, dem ist DevOps mit aller Wahrscheinlichkeit kein geläufiger Begriff. Doch was ist DevOps? Selbst unter IT-Experten geht die Meinung oft auseinander, was genau unter dem Begriff zu fassen ist. Halbwissen und unklare Vorstellungen können zu Missverständnissen führen. Deshalb ist zunächst zu klären, was unter DevOps zu verstehen ist. 

Development Operations – Framework über Prozessen und Tools

Das Framework von DevOps stellt Menschen über Prozesse und Prozesse über Werkzeuge oder Tools – das liefert zeitgleich eine brauchbare erste Definition von DevOps. Bei DevOps übernehmen Entwickler den Betrieb ihrer Anwendungen selbst und haben die entsprechenden Kenntnisse, was genau bei der Nutzung der Anwendung passiert. Das macht die Entwicklung und Auslieferung von Anwendungen flexibler und schneller. Und gerade diese Agilität und Geschwindigkeit sind notwendig, um den Anforderungen der digitalen Transformation gerecht zu werden. Ein Faktor der digitalen Transformation sind schließlich kurze Innovationszyklen und diese müssen mit der entsprechenden Geschwindigkeit bedient werden.

DevOps ist Teamarbeit: Menschen stehen im Zentrum

In der traditionellen Software-Entwicklung erstellen Entwickler eine Anwendung und fixen sie, sollte ein Problem auftauchen, während die Betriebsabteilung daran arbeitet, die Erreichbarkeit der Anwendungen aufrecht zu erhalten, sie zu unterstützen und zu überwachen.

Im Kern von DevOps steht die zunehmende Kollaboration dieser zuvor unabhängigen und oft in Silos isolierten Teams. Die bislang klare Trennung verschwindet – daher auch der Name Dev (Development) und Ops (Operations). Dabei geht es nicht allein darum, dass Entwicklung und Betrieb stärker zusammenarbeiten, sondern vielmehr soll eine Umgebung geschaffen werden, in der beide in jede Phase des Produktzyklus involviert sind. Mit anderen Worten: Dev und Ops werden unter DevOps zusammengeführt.

DevOps Prozess: Neue Strukturen und effektivere Entwicklung

In der Praxis ist DevOps schneller, effizienter und zuverlässiger als traditionelle Methoden der Softwareentwicklung. Dafür sind aber die entsprechenden Strukturen notwendig. In der traditionelleren Softwareentwicklung verlangsamen manuelle Aufgaben häufig die Prozesse und stehen einer hochfrequenten Entwicklung im Weg. In DevOps-Prozessen hingegen basiert die Infrastruktur auf Code und Teams können die Bereitstellungs- und Managementressourcen automatisieren.

Ein Beispiel: Die Bereitstellung von Server-Ressourcen. In der Vergangenheit hätte zunächst ein Entwickler dem Infrastruktur-Team eine E-Mail geschrieben, um eine Ressource mit einer spezifischen Konfiguration anzufordern. Dann hätte jemand im Infrastruktur-Team ein Dokument geöffnet und wäre eine Checkliste von Aufgaben durchgegangen, bevor er oder sie den Server bereitstellt.

In DevOps Prozessen hingegen arbeiten Entwickler und Infrastruktur-Ingenieure nicht nur zusammen, sie implementieren zudem Prozesse mittels sogenannter „Infrastructure as Code“. Im Kontext von Infrastructure as Code ist die Bereitstellung von IT-Ressourcen mittels Code automatisiert: Anstatt die Server manuell bereitzustellen, muss der Entwickler im Idealfall lediglich einen Button anklicken und die notwendige Infrastruktur wird automatische geliefert. In der Regel ist er aber selbst ermächtigt, Server und Containerlösungen bereitzustellen sowie hochzufahren, was nicht nur den gesamten Prozess beschleunigt, sondern dem DevOps-Team auch die Chance gibt, Programme in höherer Frequenz und effizienter zur Verfügung zu stellen.

Der hier beschriebene Prozess macht den Unterschied zwischen DevOps und traditionellen Methoden aus.

Warum ist DevOps erfolgreich?

Das Hauptziel von DevOps ist es nicht nur, Entwicklungen und Betrieb zu vereinheitlichen, sondern darüber hinaus Entwicklungszyklen zu verkürzen und Lösungen schneller bereitzustellen. DevOps zielt auf eine höhere Produktivität und zufriedenere Kunden. Es geht also nicht darum, sich einfach DevOps als neuen Trend zu verfolgen und einzusetzen, sondern darum die Produktivität zu erhöhen und das Geschäft produktiver zu machen. Unternehmen wie Google und Amazon sind so erfolgreich, weil es ihnen gelingt, kurzfristig und schnell neue Software bereitzustellen. Und DevOps ist essentiell für diesen Erfolg.

DevOps-Werkzeuge und was sie bedeuten

Technologie und die damit verbundenen Vorteile für die Automatisierung und das Management sind die treibenden Kräfte für DevOps. Fortschritte im und Akzeptanz von Cloud und Virtualisierung und insbesondere die Entstehung von Infrastructure as a Service (IaaS) liefern die notwendige Flexibilität und Geschwindigkeit, die für DevOps notwendig sind.

Mittels IaaS ist es möglich, sofort Computer Ressourcen für sehr kundenspezifische und sich ständig verändernde IT-Anforderungen bereitzustellen, ohne dass lokale Hardware oder manuelle Konfigurationen notwendig sind. Das liefert die für DevOps notwendige Automatisierung, wie sie beispielsweise für die Bereitstellung von Servern angesprochen wurde. Diese Cloudlösungen liefern die technische Grundlage für DevOps. Darüber hinaus gibt es spezifische Tools wie Docker, Kubernetes, GitHub, Jenkins, Travis CI, die eine weite Verbreitung finden. Zwar sind Containerlösungen, Source Control und kontinuierliche Integration (Continous Integration) Werkzeuge, die sich gut in eine DevOps-Umgebung einfügen, aber sie sind an sich keine DevOps definierenden Features.

Lösungen für kontinuierliche Konfigurationsautomatisierung ermöglichen automatische Konfigurationen und die Skalierung von Ressourcen. Doch wären diese Tools auch in traditionellen Setups vollkommen zuhause und sind damit nicht DevOps-spezifisch.

Es sollte deutlich geworden sein, dass es keine reinen DevOps-Werkzeuge gibt, sondern lediglich solche, die auch in einer DevOps-Umgebung für DevOps-Prozesse genutzt werden können. Wer also DevOps definieren will, der kann nicht einfach nur eine Liste von Tools nutzen. Bei DevOps geht es vielmehr um Menschen, Organisationen und Prozesse. Und das in dieser Reihenfolge. Menschen stehen an erster Stelle, Prozesse an zweiter und erst zum Schluss kommen die genutzten Werkzeuge. Menschen – Entwickler und Ingenieure – organisieren sich selbst und arbeiten als einheitliches Team, um Produkte schneller auf den Markt zu bringen. Auf Basis dieser Struktur werden dann die DevOps Prozesse aufgebaut – mit einem starken Fokus auf Automatisierung und innovative Tools.

Artikel jetzt teilen

Hinterlasse einen Kommentar

Über EASY SOFTWARE
EASY SOFTWARE treibt die digitale Transformation aktiv voran und entwickelt Softwarelösungen – für ein effizientes, sicheres und dezentrales Arbeiten mit digitalen Geschäftsprozessen. Diese integriert EASY in bestehende IT-Infrastrukturen und erzeugt nachhaltig einen Mehrwert.
EASY SOFTWARE

Das war die EASY WORLD 2021

Über 30 Fachvorträge rund um digitale Geschäftsprozesse aus den Bereichen Dokumentenmanagement, Purchase-to-Pay- und Personalmanagement-Prozesse sowie innovative Lösungen.

Event verpasst?

Aufzeichnungen ansehen
Das könnte Sie auch interessieren:
contract lifecycle management
7 Best Practices für das Contract Lifecycle Management, auf die es wirklich ankommt
Was ist ein Lastenheft
Was ist ein Lastenheft und wie unterstützt es den Erfolg Ihres Software-Projekts?
vertragsmanagement software
11 Anforderungen, die eine Software für digitales Vertragsmanagement erfüllen sollte