Orbit IT-Forum: Auf dem Weg zum Arbeitsplatz der Zukunft
27.09.17 - 27.09.17
In Leverkusen

AUTOMATE IT 2017
28.09.17 - 28.09.17
In Darmstadt

it-sa 2017
10.10.17 - 12.10.17
In Nürnberg

3. Esslinger Forum: Das Internet der Dinge
17.10.17 - 17.10.17
In Esslingen

Transformation World
19.10.17 - 20.10.17
In Heidelberg

PuzzleÜber DevOps – also die Verzahnung von Software-Entwicklung „Development“ und dem IT-Betrieb „Operations“ – wird aktuell viel diskutiert. Aus gutem Grund: Unternehmen stehen vor der Aufgabe, ihre IT-Systeme und Applikationen in einem immer dynamischeren Marktumfeld schnell an neue Anforderung anzupassen.

Gleichzeitig ist der Betrieb der IT-Infrastruktur durch immer kürzere Entwicklungszyklen und steigende Anforderungen an Performance, Verfügbarkeit und Sicherheit immer komplexer geworden. Das hat in den vergangenen Jahren dazu geführt, dass es für IT-Abteilungen immer schwieriger geworden ist, die Prioritäten der Softwareentwicklung mit denen des IT-Betriebs in Einklang zu bringen. Die Folge: Ein Konflikt ist entstanden. Das Konzept „DevOps“ versucht nun, durch kommunikative, interaktive Prozesse und den Einsatz von Automatisierungs-Tools beide Disziplinen wieder eng miteinander zu verzahnen und Prozesse wieder besser zu synchronisieren. Unternehmen schaffen damit den Spagat zwischen Agilität und Stabilität. 

Viel diskutiert – kaum praktiziert

70% Prozent der leitenden IT-Manager stufen DevOps angesichts kürzerer Innovationszyklen in der Softwareentwicklung als unverzichtbares Thema ein, so die aktuelle Studie „DevOps – Reality Check in deutschen Unternehmen“ des Marktanalyse- und Beratungsunternehmens PAC (Consol ist Goldsponsor der PAC-Studie. Sie soll kostenlos bei Consol erhältlich sein.). Denn auf ihnen lastet ein hoher Innovationsdruck: 85% der IT-Verantwortlichen werten es als große oder sogar sehr große Herausforderung, neue Technologien wie mobile Apps, Social Media und Big Data Analytics in die Softwareentwicklung einzubinden. Aber auch, die Benutzerfreundlichkeit von IT-Applikationen zu verbessern (82%), einen zuverlässigen IT-Betrieb zu gewährleisten (80%) und die Fachbereiche besser aufeinander abzustimmen (74%). Hierbei kann DevOps gezielt helfen. Wie jedoch sieht es mit der praktischen Umsetzung aus? Lediglich 8% der befragten Firmen haben umfangreiche Erfahrungen mit DevOps gesammelt. Bei ihnen ist DevOps fester Bestandteil in allen Softwareentwicklungsprojekten. Weitere 24% bringen DevOps in einzelnen Projekten zur Anwendung. In ca. jedem vierten Unternehmen wird DevOps dagegen noch diskutiert (23%). Und: Für viele ist es überhaupt noch kein Thema (37%). Die Gründe dafür sind ganz einfach: In den meisten Unternehmen, die noch keine praktische Erfahrung mit dem DevOps-Konzept gemacht haben, fehlt es an Know-how (69%) sowie an Zeit und Ressourcen (67%), um sich intensiv mit dem Thema zu beschäftigen. Der folgende Beitrag will den Zugang zu DevOps erleichtern und mit einigen falschen Annahmen aufräumen.

Für die Problematik sensibilisieren

DevOpsDie ersten notwendigen Schritte in einem DevOps-Projekt klingen zunächst banal, sind aber enorm wichtig. Sie bilden quasi den Kern der Methode: Es geht darum, Entscheider (C-Level) sowie die beteiligten Stakeholder zunächst grundsätzlich für die Problematik („Konflikt zwischen Dev und Ops“) zu sensibilisieren. Dabei gilt es, ein Bewusstsein zu schaffen für die Notwendigkeit eines permanenten kommunikativen Austauschs untereinander. Das erfordert Offenheit und den Willen, Wissen zu teilen. Dazu müssen Mitarbeiter grundsätzlich bereit sein, altbekannte Wege zu verlassen, möglicherweise auch Verantwortlichkeiten abzugeben oder neue zu übernehmen. DevOps bedeutet also immer auch ein Verstehen und Verändern der Unternehmenskultur. Das muss allen Beteiligten von Anfang an bewusst sein.

Regelmäßigen Austausch etablieren

DevOps ist eine Methode, die auf Kommunikation, dem Teilen von Ideen, Gedanken und Ergebnissen basiert. DevOps bedeutet dabei im Wesen, sich zusammen mit „fachfremden“ als ein Team zu verstehen. Dazu gehört auch, sich persönlich zu kennen und regelmäßig in persönlichen oder virtuellen Meetings auszutauschen. Die Qualität dieses Austauschs und der Kommunikation ist dabei essenziell für erfolgreiches DevOps. Mit ihr steht und fällt es.

Prozessanalyse

Ein Ziel von DevOps ist immer, eine effiziente organisatorische Basis für eine enge Zusammenarbeit zu schaffen. Das bedeutet, Prozesse rund um den Application Lifecycle auf ihre Effizienz hin zu überprüfen und ggf. anzupassen. Unternehmen sollten sich also auch einer kritischen Analyse der bestehenden Prozesse unterziehen: Wer ist wofür zuständig? Wie verlaufen Freigaben? Welche Verantwortlichen sind beteiligt? Diese Prozesse sollten so schlank wie möglich gehalten werden. Das heißt: Nur die wirklich Verantwortlichen sollten einbezogen werden. Es ist ratsam, dass ein externer Berater diesen Prozess moderiert und gleichsam auch als Coach für die Mitarbeiter agiert. Dieser ist unvoreingenommen, hat einen freien Blick auf die Notwendigkeit und Wirksamkeit bestehender Abläufe und erkennt so einfacher überflüssige oder fehlende Schritte.

Automatisierungstools nutzen

Continuous Delivery mit DevOpsModerne Softwarewerkzeuge unterstützen die Arbeit nach DevOps-Gesichtspunkten, indem sie bestimmte repetitive Schritte – und zwar möglichst viele - automatisieren. Zum Beispiel zum Release Management, Provisioning oder Monitoring. Derzeit viel diskutiert ist der Einsatz von Docker Containern. Damit lassen sich neue Softwarepakete in einem Container zusammenfassen und gebündelt und getestet an den Betrieb übergeben. Denn ein wichtiger Teil der Softwareentwicklung ist das Testen. Aber leider führen hier häufig komplexe Umgebungen und limitierte Zeit der Mitarbeiter von Fachabteilungen zu Verzögerungen bei der Abnahme oder zu nicht reproduzierbaren Ergebnissen. Besonders für die aufwändigen Integrationstests bietet sich hier Automatisierung an, zum Beispiel mit OpenStack oder OpenShift im Zusammenspiel mit dem Testframework Citrus. Oder Tools für das End-to-End-Monitoring wie Sakuli, die das Funktionieren von Webseiten aus Anwendersicht überprüfen und Fehler aufdecken, etwa wenn ein Log-in nicht funktioniert oder ein Menü nicht ansprechbar ist. Solche Technologien minimieren die Fehlerquote und sorgen für eine reibungslose Implementierung und einen störungsfreien Betrieb. 

Für Messbarkeit sorgen

Der Erfolg eines DevOps-Projekts sollte messbar sein, zum Beispiel anhand einer geringeren Fehlerquote oder eines schnelleren Entwicklungszyklus. Dazu gut geeignet sind Monitoring-Tools wie etwa Nagios oder OMD, mit denen gesamte Infrastrukturen auf Störungen oder Fehler hin überwacht werden. Aber auch weiche Faktoren wie die Zufriedenheit der Mitarbeiter, des Managements oder der Kunden sollten regelmäßig kontrolliert werden. Zum Beispiel durch Befragungen: Wie zufrieden sind Endkunden mit der Performance eines Shops? Wie zufrieden sind die Mitarbeiter mit ihren Aufgaben? Auch daraus lassen sich Schwachstellen ableiten.

Fazit

Prinzipiell eignet sich DevOps für jedes Unternehmen. Aber es gibt Einschränkungen: Zum Beispiel dann, wenn die Wertschöpfungskette sehr komplex mit Partnern und Lieferanten strukturiert ist. Ab einer bestimmten Komplexität ist DevOps einfach nicht mehr praktikabel, da es bei dieser Methode ja vor allem um einen verbesserten persönlichen Austausch geht. Sind zu viele Parteien involviert, nimmt die Effizienz ab. Deshalb sollten Unternehmen von Fall zu Fall entscheiden, welche Prozesse oder Teilbereiche sie in ihr DevOps-Konzept aufnehmen. Unternehmen sollten zudem DevOps nicht aus Gründen der Kosteneinsparung einführen. Denn: In vielen Fällen ist diese Methode nicht kostengünstiger, sondern sogar kostenintensiver. Zumindest in der Anfangszeit, in der die Mitarbeiter durch vermehrte Meeting, Gespräche und Analysen einen relativ hohen Zeitaufwand haben. Mittel- und langfristig gesehen jedoch zahlt sich DevOps aus: Unternehmen verbessern dadurch einerseits die Zusammenarbeit ihrer Mitarbeiter untereinander, erhöhen andererseits die Softwarequalität und Performance ihrer Anwendungen. Und das wiederum trägt zu einer positiven Customer Experience bei und kann langfristig zu Umsatzsteigerungen führen, etwa dadurch, dass schneller neue Features eingeführt oder Produkte über zusätzliche Plattformen angeboten werden können. Je besser die Entwicklung und der Betrieb harmonieren, desto innovativer kann ein Unternehmen sein. Und sich damit langfristig einen Wettbewerbsvorteil sichern.

Kielpinski Henning, ConsolHenning von Kielpinski, Leiter Business Development bei der Consol Consulting & Solutions Software GmbH

www.consol.de

 

 
Frische IT-News gefällig?
IT Newsletter Hier bestellen:

Newsletter IT-Management
Strategien verfeinert mit profunden Beiträgen und frischen Analysen

Newsletter IT-Security
Pikante Fachartikel gewürzt mit Shortnews in Whitepaper-Bouquet