Docker als zentrale Technologie für DevOps

Wie DevOps die Softwareentwicklung verändert

| Autor / Redakteur: Andre Wetzel / Florian Karlstetter

Um schneller und agiler Features und Software ausliefern zu können, rücken unter dem Fachbegriff „DevOps“ Entwicklung (Development) und Betrieb (Operations) zu interdisziplinären Teams inklusive Qualitätsmanagement zusammen.
Um schneller und agiler Features und Software ausliefern zu können, rücken unter dem Fachbegriff „DevOps“ Entwicklung (Development) und Betrieb (Operations) zu interdisziplinären Teams inklusive Qualitätsmanagement zusammen. (Bild: © duncanandison - Fotolia.com)

Im Wettbewerb um den Kunden müssen fortwährend neue Features und Updates genutzt werden. Webprojekte werden immer komplexer und die Halbwertszeit der Technologien, die dabei zum Einsatz kommen, immer kürzer. Klassische Softwareentwicklungsprozesse und Vorgehensweisen stoßen dabei an ihre Grenzen.

Um digitale Projekte schneller und flexibler umzusetzen, bieten DevOps und das Tool Docker neue Ansätze. Applikationen, können damit deutlich schneller “live gehen” und im laufenden Betrieb aktualisiert werden. Der folgende Artikel gibt einen Einstieg in DevOps und seine Möglichkeiten, Softwareentwicklungsprozesse agiler zu machen.

DevOps bringt Entwicklung und Betrieb zusammen

Die Notwendigkeit und der Anspruch der Kunden steigt, fortwährend neue Features zu integrieren, um den Nutzern mehr und bessere Services anzubieten. Damit die Entwicklung und der Betrieb der Anwendungen optimal ineinandergreifen, nutzen viele Unternehmen DevOps. Um schneller und agiler Features und Software ausliefern zu können, rücken unter dem Fachbegriff “DevOps” Entwicklung (Development) und Betrieb (Operations) zu interdisziplinären Teams inklusive Qualitätsmanagement zusammen. Im Vordergrund steht die Minimierung von Reibungsverlusten, der Abbau von Kommunikationsschranken und die weitgehende Automatisierung des Entwicklungszyklus. Durch die kontinuierliche Konfrontation von Entwicklern und Administratoren entsteht eine offene Feedbackkultur, die dabei hilft, Prozesse immer wieder zu verbessern.

Zusammengefasst ist DevOps also die zielgerichtete, direkte Zusammenarbeit von Entwicklung (Dev) und Betrieb (Ops), die sich über den gesamten Lebenszyklus von Anwendungen von der Planung, Erstellung und Betreuung bis hin zur kontinuierlichen Weiterentwicklung erstreckt.

DevOps beschleunigt die Softwareentwicklung

Durch die zielgerichtete und direkte Zusammenarbeit von Entwicklung und Betrieb wird die Softwareentwicklung beschleunigt. Neue Features und Bug-Fixes in hoher Qualität können so schneller ausgeliefert werden. Unternehmen profitieren von einem hohen Automatisierungsgrad, einer kontinuierlichen und schnellen Auslieferung neuer Features und einer hohen Softwarequalität. Das spart Geld und schafft Agilität.

In der “klassischen” Softwareentwicklung durchläuft eine Software von der Implementierung eines Features bis zum Deployment auf dem Live-System viele Prozesse. Dabei gibt es jedoch technische und organisatorische Grenzen zwischen Entwicklung (Development) und Betrieb (Operations). Zur Überwindung dieser Grenzen soll durch Test- und Abnahme-Prozesse ein hoher Reifegrad der Software für den Betrieb sichergestellt werden. Danach sind Störungen im Betrieb Ausnahmen und werden im Rahmen eines Incident-Managements behandelt. Durch diese Art der Organisation ist der Weg von einer “Störung” bis hin zur Behebung des zugrunde liegenden Problems in der Software weit.

Ergänzendes zum Thema
 
Neofonie: Software-Manufaktur für das Digitale Business

Mit DevOps rücken die Entwicklung und die dort genutzten Deployment-Methoden für Entwicklungs- und Test-Systeme näher an den Live-Betrieb heran. Die Zeit zur Behebung von Störungen beziehungsweise der Impact durch Rollouts wird dadurch minimiert, dass der Reifegrad der Software schon während der Entwicklung durch die Benutzung der gleichen Werkzeuge und Techniken inhärent erreicht wird.

Kundenanforderungen können mit DevOps schneller umgesetzt werden. Gleichzeitig sinkt die Zahl der Incidents und damit der Ressourceneinsatz. Die verbleibenden Incidents lassen sich aufgrund des hohen Automatisierungsgrade leichter nachvollziehen und reproduzieren. Eine Menge Gründe die dafür sprechen, den bisherigen Softwareentwicklungsprozess zu überdenken.

Die nächste Stufe der Agilität

DevOps ist die nächste Stufe der Agilität. Klassische Prozesse werden mithilfe von DevOps erfolgreich zu agilen Prozessen transformiert. Unabdingbar für die Einführung von DevOps ist die Bereitschaft aller Beteiligten, bestehende Prozesse und Strukturen verändern zu wollen. Gegenseitiges Vertrauen und die gemeinsame Übernahme der Verantwortung für alle Prozesse durch Dev und Ops sind Grundvoraussetzungen für den erfolgreichen Transformationsprozess von klassischen hin zu agilen Prozessen. Das Management muss hinter der DevOps Einführung stehen und jegliche Schritte planen und forcieren.

Docker als zentrale Technologie für DevOps

Docker ist das führende “Transportmittel” und ein zentrales DevOps Tool. Statt Waren wird bei Docker Software in “Container” gepackt. Nicht umsonst ist Docker technologischer Marktführer, denn die Vorteile sind vielfältig: Container können einzeln bereitgestellt, aufgerufen und aktualisiert werden, wodurch “Continous Delivery” und “Continous Integration” vom Schlagwort zur gelebten Realität werden.

Im Vergleich zu klassischen “virtuellen Maschinen” ist Docker leichtgewichtig und spart Ressourcen. Das betrifft die Rechenpower, die Bandbreite und den Storage gleichermaßen. Deploymentprozesse werden vereinfacht und die Ressourcenaufwände zwischen Development und Operations minimiert.

Entscheidend ist, was in den Container gepackt wird, um Ressourcen und Zeit bei der Entwicklung und Administration zu sparen. Mit der Docker-Technologie kann der Entwickler (Dev) die Applikation auf verschiedenen Zielsystemen (Stages) einfach und schnell deployen. Alle Abhängigkeiten zu den Betriebssystem-Bibliotheken (Libraries) werden dabei gekapselt und mit dem Docker Image ausgeliefert. Das Operations-Team (Ops) kann mit Docker unterschiedliche Applikationen in gleichförmiger Weise verwalten. Schon beim Aufbau der benötigten Infrastruktur ist die enge Zusammenarbeit zwischen Dev und Ops gefordert.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44084575 / Entwicklung)