Suchen

Mauern im Kopf behindern Geschäftsentwicklung Die DevOps-Lücke – Brückenschlag zwischen IT-Entwicklung und IT-Betrieb

Autor / Redakteur: André Beuth, Serena Software* / Elke Witmer-Goßner

Orchestrierung trägt dazu bei, dass die häufig getrennten IT-Abteilungen Entwicklung und Administration besser zusammenarbeiten. Mit dem Begriff DevOps wird das Ziel umrissen, eine bessere Interaktivität und Produktivität zwischen der Entwicklungsabteilung (Dev, kurz für Development) und Systemadministration (Ops, kurz für Operations) zu verbessern.

Firmen zum Thema

Zwischen Entwicklern und Systemadministratoren herrscht in vielen Unternehmen Funkstille – auf Kosten der Produktivität und Flexibilität.
Zwischen Entwicklern und Systemadministratoren herrscht in vielen Unternehmen Funkstille – auf Kosten der Produktivität und Flexibilität.

Im Mittelpunkt dieses Trends stehen die Applikationen, deren Funktionalität für maximalen Geschäftserfolg sorgen soll. Die Grundkonzepte agiler Entwicklungsmethoden sollen auch auf den IT-Betrieb übertragen werden, um einen nahtlosen Prozess von den Entwicklern bis zum Anwender schaffen zu können.

Es geht also darum, sprichwörtliche Mauern zwischen den Beteiligten einzureißen, denn oftmals sitzen Entwickler und Administratoren nicht nur an unterschiedlichen Standorten, sondern arbeiten schlicht aneinander vorbei.

Neue Entwicklungsmethoden wie Agile, Scrum and Kanban statten IT-Entwickler mit Möglichkeiten aus, die Produktivität im Unternehmen zu erhöhen und auch wechselnden Geschäftsanforderungen gerecht zu werden. Diese Vorgehensmodelle ziehen allerdings ihre eigenen Konsequenzen nach sich, die sich in unterschiedlicher Weise auf den Softwareentwicklungsprozess auswirken.

Eine Herausforderung dabei ist, wie die Nachfrage nach bestimmten Applikationsfunktionen und dazugehörigen Updates innerhalb eines Unternehmens koordiniert wird. Auch die Bereitstellung des entwickelten Programmcodes im Tagesbetrieb ist nicht unproblematisch. An diesen Schnittstellen zwischen Entwicklung und IT-Betrieb missglücken wichtige Übergaben, kommt es zu Verzögerungen und schleichen sich unkalkulierbare Kosten ein.

Trennmauern zwischen den Akteuren

Die Probleme in den Unternehmen beim Aufbau einer kooperativen DevOps-Umgebung fangen bei unterschiedlichen Denkweisen in den Abteilungen an. Früher war die Aufgabe der IT darauf beschränkt, im Hintergrund für einen reibungslosen Betrieb zu sorgen. Jetzt fließen betriebswirtschaftliche Faktoren zur Effizienz-, Umsatz- und Gewinnsteigerung auch in die Entwicklung moderner IT-Systeme ein.

Aus IT-Perspektive werden Änderungen und Wertschöpfung von den Entwicklern vorangetrieben. Sie sind mit agilen Methoden und Vorgehensweisen häufig besser vertraut, weil sie sich von den Kollegen das notwendige Feedback holen müssen. Den Administratoren wiederum kommt die Aufgabe zu, für einen reibungslosen Betrieb einer hoch verfügbaren IT-Umgebung zu sorgen, die das Unternehmen zur Erreichung der erwünschten Agilitäts-, Umsatz- und Gewinnziele benötigt.

Zugleich haben sich die IT-Technikprofis inzwischen das notwendige Business-Vokabular angeeignet, um geschäftliche Vorgaben und Anforderungen detailliert und möglichst effektiv umsetzen zu können. Dieser Trend kann die Annäherung zwischen der IT-Abteilung und anderen Unternehmensbereichen deutlich erleichtern. Plötzlich sprechen beide Seiten die gleiche Sprache und nicht mehr aneinander vorbei.

Eine zweite Problemzone ist der traditionell schwierige Übergang zwischen unterschiedlichen Entwicklungsstufen und der tatsächlichen Bereitstellung der Applikations-Releases.

Zwar haben viele Unternehmen mittlerweile ihre Entwicklungsarbeiten weitestgehend automatisiert, aber bei der produktiven Verbindung wichtiger Komponenten des Applikations-Lebenszyklus gibt es noch erheblichen Optimierungsbedarf.

Doch nur so lässt sich die Brücke zwischen der Applikationsentwicklung und dem IT-Betrieb schließen. Im Sinne einer zuverlässigen Applikationsbereitstellung müssen Unternehmen die Erstellung besserer Anwendungen mit verbesserten IT-Prozessen unterlegen, damit die Software auf Anwenderseite auch den gewünschten Mehrwert bieten kann.

Wo der Schuh drückt

Allerdings werden die Softwareprogramme immer komplexer und die dafür verantwortlichen Teams sind entsprechend gewachsen. Da werden IT-Silos mit verringerter Einsehbarkeit zu einem unzumutbaren Zustand. Und für jeden Arbeitsschritt, der Entwicklung und Betrieb gleichermaßen betrifft, werden zugleich automatisierte und zusammenhängende Prozesse immer wichtiger.

Diese Entwicklung zielt auf eine Orchestrierung der Applikationsprogrammierung, was gleichwohl nicht das Ende der bisher eingesetzten Werkzeuge und Lösungen bedeutet. Vielmehr sollten Unternehmen schauen, wie sie ihre IT-Bestände in einem funktionierenden Gesamtsystem besser integrieren.

Ergänzendes zum Thema

Bei der Analyse, wie gut durchdacht die Application-Delivery-Strategien sind, müssen sich Unternehmen selbstkritisch mit folgenden Fragen auseinandersetzen:

  • Werden wir bei der Bereitstellung von Applikationen besser, schneller und effizienter?
  • Wo sind Engpässe, die eine Applikationsbereitstellung verzögern?
  • Welche Abhängigkeiten erhöhen unsere Risiken?
  • Bewegen wir uns beim Kostenaufkommen innerhalb der geplanten Grenzen?
  • Werden Applikationen fristgerecht veröffentlicht, und falls nicht: Welche Faktoren verhindern die termingerechte Umsetzung?

Die Beantwortung dieser Fragen sorgt für die nötige Klarheit, um unter Berücksichtigung betriebswirtschaftlicher Leistungskennzahlen den Status der Entwicklungsabteilung und Systemadministration regelmäßig nachverfolgen und überprüfen zu können.

Unbeabsichtigte Folge der fehlenden Orchestrierung aller Entwicklungsschritte ist ein drittes Problem: Viele Kunden kämpfen mit manuellen Prozessen. Derzeit ist dieser Zustand wohl das größte Hindernis, denn auf Entwicklerseite konzentriert man sich zwar darauf, wie Applikationen ihre Service-Leistungen rationalisieren können. Allerdings nehmen sie dabei die Vorteile einer Automatisierung nicht in genügendem Maße für sich selbst in Anspruch.

Das beste Beispiel dafür ist das Release Management selber, das eine korrekte Bereitstellung der aufwendig erstellten Applikationen gewährleisten sollte. Anstatt die Prozesse und Tasks zu automatisieren, sind Unternehmen in der Regel auf manuelle Installationen oder selbsterstellte Skripte angewiesen, die jedes Mal von Hand aktualisiert werden müssen.

Folge: Die Wahrscheinlichkeit wächst, dass ein unnötiger Zeit- und Arbeitsaufwand im Release-Prozess entsteht. Gleichzeitig nimmt das Risiko durch Fehler und fehlgeschlagene Installationen zu. Application-Lifecycle-Management-Prozesse und Best Practices beim Release Management müssen deshalb in den Gesamtprozess integriert werden. Eine funktionierende Kopplung von Release Management und Service Management hilft wiederum bei der Umsetzung der skizzierten DevOps-Ziele.

André Beuth, Serena Software GmbH.
André Beuth, Serena Software GmbH.
Der Autor André Beuth ist System Specialist bei der Serena Software GmbH.

Artikelfiles und Artikellinks

(ID:34609950)