Zum Inhalt springen

Was ist DevOps?

Der Begriff DevOps umfasst die Bereiche Development, also Entwicklung, und Operations, also die Umsetzung, in der Softwareentwicklung. Er beinhaltet Denkweisen, Praktiken und Technologien, die Teams bei der Erstellung von Services und Softwareanwendungen helfen sollen. Damit lässt sich beispielsweise die Weiterentwicklung von Programmen umsetzen.

Wie funktioniert DevOps?

Der zentrale Punkt von DevOps umfasst das Team, welches von der Erstellung eines Prototypen bis zum Livegang der fertigen Anwendung und weit darüber hinaus zusammenarbeitet. Dazu werden verschiedene Teamrollen definiert, die einen reibungslosen und schnellen Ablauf gewährleisten sollen.

Diese Vorgehensweise unterscheidet sich zu bisherigen Praktiken darin, dass nun das Entwicklungsteam und das Operationsteam eng miteinander zusammenarbeiten. Davor wurden Anwendungen von Entwicklern erstellt und sobald sie live gingen an das Operationsteam abgegeben, welches die Erreichbarkeit und Performance des Services sicherstellen sollte. Dadurch gehen jedoch wertvolle Informationen zwischen den beiden Teams verloren, beispielsweise Verbesserungsvorschläge vom Operationsteam.

Je nach Anwendung können auch zusätzlich zu diesen Abteilungen Experten der Security oder Qualitätssicherung ins engere Projektteam hinzugezogen werden. Vor allem dann, wenn Aspekte aus diesen Bereichen eine besondere Bedeutung für das Projekt haben.

Das Team verwendet Praktiken, die ursprünglich aus der Prozessautomatisierung bekannt sind und sich auch auf die Softwareentwicklung anwenden lassen. Im Mittelpunkt steht dabei eine endlose Schleife an Abläufen, die schrittweise durchlaufen werden.

Was ist der DevOps Lebenszyklus?

Der Lebenszyklus von DevOps beschreibt den zentralen Ablauf innerhalb der Softwareentwicklung. Die einzelnen Stufen werden in einem Projekt einmal durchlaufen und können auch nach Fertigstellung weiterhin genutzt werden, um die Anwendung durchgehend zu verbessern.

Je nach Quelle können sich die Benamungen der Stufen unterscheiden, jedoch wird immer derselbe Prozess beschrieben:

  • Planung: Bevor mit der Softwareentwicklung gestartet werden kann, muss die neue Anwendung geplant werden. Darunter fallen Aufgaben wie das Definieren von Anforderungen, die Zusammensetzung des Projektteams oder der Zeitplan bis zum Livegang. In dieser Phase wird vor allem auf Konzepte der agilen Softwareentwicklung zurückgegriffen, wie Kanban-Boards oder Scrum.
  • Entwicklung: In dieser Phase werden die Einzelteile der Anwendung programmiert, getestet und geprüft. Die Funktionalitätsprüfung findet in verschiedenen Stufen statt, die sich immer mehr der produktiven Umgebung annähern. In diesen können neue Funktionalitäten intensiv getestet werden ohne, dass die produktive Umgebung beeinflusst wird.
  • Deployment: Beim Deployment wird die fertige Anwendung in einem produktiven Umfeld den Endanwendern zur Verfügung gestellt. Dazu zählt auch die Integration einer leistungsfähigen Infrastruktur, die die zu erwartenden Lasten handhaben kann.
  • Betrieb: Kurz nachdem die Anwendung in ein produktives System überführt wurde, beginnt die Betriebsphase in der nachhaltig die einwandfreie Funktionalität des Programms sichergestellt wird. Dazu zählen beispielsweise die Überprüfung von Logs bei der Fehlerbehebung oder gegebenenfalls die Anpassung der Infrastruktur falls die Leistungsfähigkeit des Systems erhöht werden muss.
  • Monitoring: In dieser Phase wird beobachtet, wie die Endanwender mit der Software interagieren und ob sie die Anforderungen aus der Planungsphase erfüllt oder nicht.
  • Feedback: Die Ergebnisse der Monitoringphase werden nun evaluiert und entschieden, ob eine Verbesserung der Anwendung notwendigt ist. Dann startet der Lebenszyklus von neuem mit der Planungsphase.
DevOps Lebenszyklus | Quelle: Autor

Welche Vorteile bietet die Nutzung von DevOps?

Die Umstellung auf den DevOps Lebenszyklus kann in den meisten Fällen zu folgenden Vorteilen führen:

  • Geschwindigkeit: Durch die Prozessoptimierungen können neue Entwicklungen viel schneller einen hohen Reifegrad erreichen und gleichzeitig auch das Feedback der Kunden und eines wandelnden Marktumfeldes mit aufgenommen werden. Diese Geschwindigkeit bezieht sich auch explizit auf das Deployment. Ein schnelles Deployment hilft dabei in kurzer Zeit auf Bugs reagieren zu können und so die Kundenzufriedenheit hoch zu halten.
  • Team-Moral: Durch die aktive Zusammenarbeit von verschiedenen Teams wird die Moral untereinander deutlich verbessert. Zugleich kann es auch motivierend wirken, wenn das Operationsteam einen wichtigen Einfluss auf die Anpassung und Weiterentwicklung der Anwendung hat. In einer Organisation ohne DevOps kann sonst leicht Unmut aufkommen, wenn das Gefühl aufkommt, dass die Softwareentwicklung Anwendungen programmiert, die nicht einfach zu managen sind.
  • Hohe Qualität: Durch die intensiven Prüfzyklen in den verschiedenen Umgebungen, werden Neuentwicklungen unter realitätsnahen Umständen getestet und deren Funktionalität sichergestellt. Dadurch gelangen nur hochwertige Neuerungen in das produktive System und führen lediglich in seltenen Fällen zu Fehlern. Das erhöht die allgemeine Qualität des Systems.

Welche Tools können für DevOps genutzt werden?

Am Markt haben sich bereits einige Werkzeuge etabliert, die Unternehmen darin unterstützen sollen, DevOps in der Softwareentwicklung umzusetzen. Die anschließende Reihenfolge hat dabei keinerlei Bedeutung für die Qualität der Tools und ist lediglich alphabetisch.

Asana

Bei Asana handelt es sich um ein Organisationstool, mit dem Teams ihre Arbeit in Projekten einfach und schnell organisieren können. Es ist dabei nicht konkret auf die Arbeit im DevOps Bereich beschränkt, sondern kann auch für Projekte außerhalb der Softwareentwicklung genutzt werden. Asana wird als Software-as-a-Service (Saas) angeboten und ist dadurch über den Webbrowser aufrufbar.

Atlassian

Atlassian ist an sich kein Programm, sondern ein Anbieter, der viele Tools bereitstellt, die sich für nahezu alle Phasen des DevOps Lebenszyklus verwenden lassen. Dazu zählen beispielsweise die Programme Jira für das Projektmanagement, Bit Bucket zur Verwaltung des Programmiercodes oder Bamboo zum Testen des Codes in den verschiedenen Entwicklungsumgebungen.

Git

Das Portal GitHub ist vielen im Bereich Machine Learning bereits als Plattform zum Teilen von Programmiercode bekannt. Es kann jedoch auch innerhalb von Unternehmen genutzt werden, um die Zusammenarbeit im Team zu ermöglichen und verschiedene Stände von Code zu teilen und zu organisieren. Dafür können dann beispielsweise Funktionen, wie eine Zugriffskontrolle eingerichtet werden, um sicherzustellen, dass nur ausgewählte Personen den Code verändern können.

Selenium

Mithilfe von Selenium lassen sich automatisierte Testprogramme umsetzen, die einen gewissen Nutzungsablauf abarbeiten und damit einen menschlichen Nutzer imitieren können. Das Tool ist Open-Source und kann beispielsweise für Lasttests genutzt werden. Dabei wird die gleichzeitige Nutzung von vielen Anwendern simuliert und getestet, wie sich das Programm verhält, um mögliche Bottlenecks zu erkennen.

Das solltest Du mitnehmen

  • Der Begriff DevOps umfasst die Bereiche Development, also Entwicklung, und Operations, also die Umsetzung, in der Softwareentwicklung.
  • Bei der Neuentwicklung von Anwendungen wird dazu ein Projektteam aus Mitarbeitern von Entwicklung und Betrieb zusammengestellt.
  • Das Hauptkonzept von DevOps ist der sogenannte Lebenszyklus, der je nach Literatur aus den Phasen Planung, Entwicklung, Deployment, Betrieb, Monitoring und Feedback besteht.
  • Mithilfe von DevOps lassen sich neue Projekte deutlich schneller umsetzen und es kann schneller auf Bugs und Veränderungen im Markt reagiert werden.

Andere Beiträge zum Thema DevOps

Dies sind interessante Beiträge zum Thema DevOps, die teilweise auch als Referenzen genutzt wurden:

close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Schlagwörter:
Cookie Consent mit Real Cookie Banner