DevOps 03.11.2016, 14:31 Uhr

Das Kriegsbeil begraben

Der Konflikt zwischen Software-Entwicklern und IT-Betrieb existiert schon seit Anbeginn der Informationstechnologie. Der DevOps-Bewegung gelingt es nun, ihn zu schlichten.
*Nabil Bousselham ist Solutions Architect beim Spezialisten für Anwendungssicherheit Veracode
Nach einer Studie der Branchenanalysten von Gartner organisieren bereits mehr als ein Viertel der 2000 grössten Unternehmen der Welt ihre Software nach den Prinzipien von «DevOps». Das Kofferwort setzt sich aus den Worten «Development» (Entwicklung) und «Operations» (IT-Betrieb) zusammen und steht für die engere Zusammenarbeit genau dieser beiden Parteien. Zunächst nur eine Graswurzel-Initiative von Entwicklern und IT-Verantwortlichen, erfreut sich das Konzept in Unternehmen mittlerweile wachsender Beliebtheit.

Der Zwist zwischen Entwicklung und IT-Betrieb

Welchen Konflikt genau möchte DevOps lösen? In vielen Unternehmen existieren Differenzen zwischen Software-Entwicklern auf der einen und IT-Betrieben auf der anderen Seite. Betrachtet man die Aufgabenbereiche der beiden Parteien, wird schnell klar, dass sie eigentlich kooperieren müssten. Während nämlich die Entwickler neue Anwendungen schreiben, ist der IT-Betrieb für deren Implementierung und Bereitstellung für den Endnutzer verantwortlich. Beide sind also Teil eines grösseren Prozesses, agieren aber weitgehend unabhängig voneinander. Konflikte entstehen immer dort, wo abweichende Qualitätsmassstäbe und Prioritäten aufeinanderstossen. Aufgabe der Entwickler ist es, neue Anwendungen und Funktionen in möglichst kurzer Zeit zu programmieren und zu testen. Grundsätzlich gilt hier: Je schneller, desto besser! Bei der Arbeit unter solchem Zeitdruck müssen zwangsläufig Abstriche gemacht werden. Häufig kommen deshalb Fehleranalysen und letzte Feinschliffe zu kurz. Dies geschieht ganz zum Leid des IT-Betriebs. Dieser wurde vom Unternehmen mit der Aufgabe betraut, den Endnutzern eine möglichst fehlerfreie Nutzung der Anwendung zu ermöglichen. Da jede Fehlfunktion auf den IT-Betrieb zurückfällt, legen seine Mitarbeiter grossen Wert darauf, dass Software auf Herz und Nieren überprüft wurde, ehe sie in Produktion geht. Während Entwickler also Anwendungen und Features möglichst schnell bereitstellen wollen, umtreibt die IT-Betriebe die gegensätzliche Sorge – nämlich, dass Entwicklung und Deployment überstürzt werden, wodurch die Sorgfalt auf der Strecke bleibt. Zusätzlich zu diesen abweichenden Schwerpunktsetzungen trägt die Trennung der beiden Unternehmensbereiche ausserdem dazu bei, dass eine Kultur der gegenseitigen Schuldzuweisung entsteht. Sobald etwas schiefgeht, machen die beiden Bereiche sich gegenseitig für die Fehler verantwortlich. Ein solcher Streit verzögert nicht nur die Lösungsfindung, sondern kostet alle Beteiligten unnötig viel Zeit und verschlechtert das Arbeitsklima. DevOps will diesen Konflikt lösen, indem es die gemeinsamen Interessen der beiden Parteien in den Vordergrund rückt. Eine neue Form der Kooperation soll die ewigen Schuldzuweisungen beenden und obendrein die Entwicklung sicherer und qualitativ hochwertiger Software fördern. Nächste Seite: Software-Entwicklung als gemeinsames Projekt

Software-Entwicklung als gemeinsames Projekt

Wie lässt sich aus dem Gegeneinander ein Miteinander machen? Neben einer technischen Vereinheitlichung bedarf es vor allem eines Mentalitätswechsels. Vorurteile müssen abgelegt, Kanäle des permanenten Austauschs geschaffen und Initiativen für gegenseitige Schulungen angestossen werden. Diese Massnahmen schaffen ein entspannteres und vor allem produktiveres Arbeitsklima. Im Rahmen der Umsetzung können ausserdem interdisziplinäre Experten eingesetzt werden, die als Schnittstelle zwischen den Abteilungen dienen und mithelfen, Prozesse und Vorgehensweisen innerhalb der Zusammenarbeit zu etablieren und diese berechenbarer zu machen. Neben diesen Veränderungen im organisatorischen Bereich muss ausserdem die Toolchain optimiert werden. Wichtigstes Ziel ist hierbei die Automatisierung von Prozessen. Nicht nur die Anwendungsentwicklung, sondern auch das Deployment können auf diese Weise wesentlich beschleunigt werden. Denn gerade im IT-Betrieb entstehen durch Tätigkeiten, die manuell verrichtet werden und deshalb nicht skalierbar sind, immer wieder Flaschenhälse, die den Gesamtprozess unnötig verzögern. Ein weiteres Feld, in dem viel Automatisierungspotenzial besteht, ist die Qualitätskontrolle. Als Beispiel ist an dieser Stelle die Anwendungssicherheit zu nennen: Neue Tools decken hier den gesamten Entwicklungszyklus von Anwendungen ab. Bereits im frühen Entwicklungsstadium suchen sie automatisiert nach Fehlern im Code, in Testumgebungen werden neue Apps auf Laufzeitprobleme untersucht. Und in der Produktion sorgen Systeme wie Runtime Application Self-Protection (RASP) dafür, dass Anwendungen vor Cyberkriminellen bestmöglich geschützt sind.

DevOps: Vom Hype zum Industriestandard

Obwohl DevOps scheinbar allen Beteiligten prägnante Vorteile bietet, gibt es dennoch den einen oder anderen Kritiker. So wird von diesen beispielsweise behauptet, dass der allgegenwärtige Konflikt zwischen den beiden Partnern durch DevOps zugunsten der Entwickler entschieden werde. Auf der einen Seite ist es natürlich richtig, dass sich hauptsächlich der IT-Betrieb an die Geschwindigkeit der Entwickler und deren Tools anpassen muss. Auf der anderen Seite ist DevOps eine Bewegung, die aus der Initiative von IT-Verantwortlichen überhaupt erst entstanden ist. Dementsprechend fokussieren sich viele Massnahmen im Rahmen von DevOps auf Herausforderungen des Betriebes, zum Beispiel wird die Wahrscheinlichkeit von Softwareausfällen mit Hilfe von DevOps stark reduziert. Zu behaupten, dass DevOps ein völlig innovativer Ansatz ist, wäre jedoch übertrieben. Der Grossteil des Prinzips war bisher bereits unter Schlagwörtern wie Agile Operations oder Continuous Delivery bekannt. DevOps hebt sich jedoch durch seine zwischenmenschliche Komponente von diesen Ansätzen ab. Diese Komponente ist aber genau jene, die das Erfolgsmodell ausmacht – die Quintessenz sozusagen. So holt sie Entwickler und IT-Betriebe an einen Tisch und setzt neben technischen Veränderungen auch einen Mentalitätswechsel auf beiden Seiten voraus. Weg von Schuldzuweisungen hin zur Besinnung auf gemeinsame Ziele. Miteinander statt gegeneinander lautet hier das Credo und es scheint in immer mehr Unternehmen zu funktionieren.

Das könnte Sie auch interessieren