Suchen

Tête-à-tête mit dem Entwickler DevOps für Admins

| Autor / Redakteur: Thomas Joos / Stephan Augsten

In DevOps-Umgebungen arbeiten Entwickler und Administratoren eng zusammen. Eine enge Kommunikation und Abstimmung zwischen Development und Operations ist daher durchaus sinnvoll.

Firmen zum Thema

Administratoren und Entwickler müssen bei DevOps-Projekten an einen Tisch geholt werden.
Administratoren und Entwickler müssen bei DevOps-Projekten an einen Tisch geholt werden.
(Bild: rawpixel.com - Unsplash.com)

Aus Sicht von Administratoren bietet der Einsatz einer DevOps-Infrastruktur den Vorteil, direkt mit der Entwicklungsabteilung zusammenarbeiten zu können. Hinzu kommt, dass Anwendungen häufiger bereitgestellt werden müssen, da neue Funktionen in neuen Versionen der Anwendungen integriert werden. Auch eine Änderung in den Arbeitsabläufen ist zu erwarten.

Durch DevOps werden nicht nur häufige neue Versionen von Anwendungen im Netzwerk bereitgestellt, die auch neue Features bieten. Auch die Aktualisierung von Servern gehört zu DevOps. Setzt ein Tool zum Beispiel einen bestimmten Betriebssystempatch oder eine bestimmte Version eines Betriebssystems voraus, dann muss auch das dazugehörige Betriebssystem aktuell gehalten werden.

Jüngstes Beispiel ist Windows Server 1709, der Nachfolger von Windows Server 2016. Die neue Version bietet vor allem neue Funktionen im Bereich der Container. Daher werden Entwickler diese Version bevorzugen, was wiederum bedeutet, dass Administratoren auch die neue Server-Version bereitstellen müssen.

DevOps-Einsatz sinnvoll oder nicht?

Bevor Unternehmen eine DevOps-Kultur etablieren können, sollten sie genau prüfen, welche Prozesse und Management-Systeme bereits im Einsatz sind. In vielen Fällen nutzen Entwickler häufig bereits agile Methoden wie Scrum oder Management-Lösungen wie ITIL. Systeme müssen bei der Einführung von DevOps auch für den IT-Betrieb geeignet sein.

Für die Einführung von DevOps ist es daher wichtig zu wissen, mit welchen solchen Systemen Unternehmen bereits arbeiten, und welche in der Zukunft auch weiter genutzt werden sollen. Hier spielen auch die Administratoren eine wichtige Rolle. Denn diese müssen diese Systeme nicht nur bereitstellen, sondern auch selbst mit ihnen arbeiten.

Für das Operations-Team bedeutet die neue Vorgehensweise die Einarbeitung in neue Tools sowie die Zusammenarbeit mit Entwicklern in einem recht frühen Entwicklungsstadium. Entwickler erhalten in DevOps-Umgebungen häufig mehr Rechte, da sie auch in die Bereitstellung mit eingebunden sind. Da dadurch auch eine höhere Verantwortung für Entwickler einhergeht, sind Administratoren nicht immer glücklich darüber, dass Entwickler in die administrativen Prozesse eingreifen können und sollen.

Administratoren helfen mit Verbesserungsvorschlägen

Entwickler stellen den Administratoren die neuen Programmversionen vor. Administratoren überprüfen diese und geben Tipps und Verbesserungsvorschläge für eine verbesserte und vereinfachte Bereitstellung und Betrieb. Durch diesen regelmäßigen Austausch werden neue Funktionen häufiger und fehlerfreier zur Verfügung gestellt. Administratoren haben somit direkten Einfluss auf die Entwicklung und profitieren wiederum von Hilfestellungen bezüglich Bereitstellung, Support und Betrieb von Apps.

Aber nicht nur bei der Weiterentwicklung von Apps bietet DevOps-Vorteile, sondern auch bei der Konzeption neuer Anwendungen. Denn Administratoren können bereits frühzeitig Feedback zu Entwicklungen und dem Bedarf geben, wenn es um die Bereitstellung geht. Dadurch lassen sich eventuelle Schwierigkeiten bereits im Vorfeld klären, ohne dass ein Entwickler nachträglich eingreifen muss.

Aktuelle Anwendungen verlangen eine häufigere Bereitstellung

Aktuelle Anwendungen werden in immer kürzeren Zyklen bereitgestellt und erfordern daher eine regelmäßige Zusammenarbeit zwischen Administratoren und Entwickler. Viele Anwendungen müssen sogar täglich aktualisiert werden. Hier ist es unabdingbar, dass Entwickler und Administratoren ihre Aufgaben miteinander abstimmen.

DevOps erfordert also auch eine flexible Unternehmensstruktur, in der Administratoren und Entwickler zwar getrennte Aufgabengebiete haben, aber bei der Bereitstellung von Anwendungen effektiv zusammenarbeiten, um Bereitstellungen schneller und fehlerfreier durchführen zu können.

Administratoren nutzen Entwickler-Werkzeuge

DevOps bedeutet aber nicht nur, dass Administratoren mit Entwicklern zusammenarbeiten, sondern auch deren Tools nutzen und Tätigkeiten adaptieren. Dazu gehören Versionierungstools ebenso wie das Ein- und Auschecken von Konfigurationsdateien sowie die Dokumentierung von Skripten.

Auch das Projektmanagement ändert sich an dieser Stelle, da Administratoren direkt in den Entwicklungsprozess mit eingebunden werden. Hier findet agile Entwicklung ebenfalls Beachtung, da in entsprechend aufgestellten Umgebungen auch die Administratoren agil arbeiten sollten. Allerdings sind nicht alle Teams, alle Projekt und alle Unternehmen dazu geeignet, den agilen Ansatz zu verfolgen.

Besonders die Projekte müssen auf Tauglichkeit hin getestet werden, bevor agile Ansätze zum Einsatz kommen. Im Übrigen konzentrieren sich viele CIOs und Entwickler hier auf Methoden wie Scrum und Kanban. Es gibt in diesem Bereich noch einige weitere Ansätze. Unternehmen und Entwickler sollten sich vor allem zu Beginn entscheiden, welchen Ansatz sie verfolgen wollen.

Agile Entwicklungsmethoden arbeiten häufig schlecht mit klassischen Ansätzen zusammen. Daher bringt es nichts, wenn nur die Entwicklungsabteilung mit der neuen Vorgehensweise arbeitet, sondern alle beteiligten Personen im Unternehmen müssen darauf eingestellt sein. Das gilt auch für Kunden, die Entscheider und Administratoren im Unternehmen.

Bereitstellung mit DevOps-Tools

Konfigurationsmanagementsysteme finden in DevOps-Umgebungen besonders häufig Einsatz. Hier gibt es zahlreiche Tools, die vor allem für Administratoren interessant sind. Die Automatisierung von Entwicklungs-Prozessen ist einer der zentralen Bestandteile von DevOps. Nur dadurch ist sichergestellt, dass neue Versionen möglichst fehlerfrei, einheitlich und effizient bereitgestellt werden können.

Die Produktionsumgebung sollte ebenfalls dem gleichen Stand entsprechen. Hier helfen Tools wie Ansible, Chef, Puppet oder Saltstack. Das bekannteste Tool im DevOps-Bereich für die automatisierte Konfiguration und Continuous Delivery ist Puppet. Es gibt mit Chef aber eine bekannte Alternative, die mittlerweile auch sehr stark verbreitet ist.

Puppet hat vor allem große Unternehmen und Netzwerke zum Ziel. Neben Anwendungen und Betriebssystemen lassen sich mit Puppet auch ganze Farmen mit virtuellen Servern bereitstellen, deren Konfiguration vollständig automatisiert wird. Im Fokus von Saltstack stehen vor allem Unix-Rechner und Linux. Natürlich können auch Windows-Rechner angebunden werden, allerdings nur als Client.

(ID:45028599)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist